Sa pagpatuman sa Kyber encryption algorithm, nga nakadaog sa kompetisyon sa cryptographic algorithms resistant sa brute force sa usa ka quantum computer, usa ka vulnerability ang giila nga nagtugot sa side-channel nga mga pag-atake sa paghimo pag-usab sa sekreto nga mga yawe base sa pagsukod sa oras sa mga operasyon atol sa decryption sa ciphertext nga gihatag sa tig-atake. Ang problema makaapektar sa reference nga pagpatuman sa CRYSTALS-Kyber KEM key encapsulation mechanism ug daghang third-party Kyber-enabled encryption libraries, lakip ang pqcrypto library nga gigamit sa Signal messenger.
Ang diwa sa kahuyang, nga nakadawat sa code name KyberSlash, anaa sa paggamit sa division operation “t = (((t
Si Daniel J. Bernstein, usa ka ilado nga eksperto sa natad sa cryptography, nakahimo sa pag-andam sa usa ka nagtrabaho nga demonstrasyon sa pruweba nga ang pag-atake mahimo sa praktis. Sa duha sa tulo ka mga eksperimento nga gihimo, sa diha nga nagdagan code sa Raspberry Pi 2 board, kini mao ang posible nga sa bug-os nga recreate sa Kyber-512 pribado nga yawe base sa pagsukod sa data decoding sa panahon. Ang pamaagi mahimo usab nga ipahiangay alang sa Kyber-768 ug Kyber-1024 nga mga yawe. Aron malamposon ang paghimo sa usa ka pag-atake, gikinahanglan nga ang ciphertext nga gipiho sa tig-atake maproseso gamit ang parehas nga key pair ug nga ang oras sa pagpatuman sa operasyon mahimong tukma nga masukod.
Ang lain nga pagtulo (KyberSlash2) nahibal-an sa pipila nga mga librarya, nga mahitabo usab tungod sa paggamit sa usa ka tinago nga kantidad sa paghimo sa pagbahin. Ang mga kalainan gikan sa unang kapilian moabut ngadto sa tawag sa encryption stage (sa poly_compress ug polyvec_compress functions), ug dili sa panahon sa decryption. Bisan pa, ang ikaduha nga kapilian mahimong mapuslanon alang sa usa ka pag-atake lamang sa mga kaso diin ang pamaagi gigamit sa pag-re-encrypt nga mga operasyon diin ang output sa ciphertext giisip nga kompidensyal.
Ang pagkahuyang naayo na sa mga librarya:
- zig/lib/std/crypto/kyber_d00.zig (Disyembre 22),
- pq-crystals/kyber/ref (Disyembre 30),
- symbolicsoft/kyber-k2so (Disyembre 19),
- cloudflare/circl (Enero 8),
- aws/aws-lc/crypto/kyber (Enero 4),
- liboqs/src/kem/kyber (8 Enero).
Mga librarya nga wala una maapektuhan sa pagkahuyang:
- boringssl/crypto/kyber,
- filippo.io/mlkem768,
- formosa-crypto/libjade/tree/main/src/crypto_kem,
- kyber/common/amd64/avx2,
- formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref,
- pq-crystals/kyber/avx2,
- pqclean/crypto_kem/kyber*/avx2.
Ang pagkahuyang nagpabilin nga wala ma-patch sa mga librarya:
- antontutoveanu/crystals-kyber-javascript,
- Argyle-Software/kyber,
- debian/src/liboqs/unstable/src/kem/kyber,
- kudelskisecurity/crystals-go,
- mupq/pqm4/crypto_kem/kyber* (Niadtong Disyembre 20, 1 ra nga bersyon sa pagkahuyang ang naayo),
- PQClean/PQClean/crypto_kem/kyber*/aarch64,
- PQClean/PQClean/crypto_kem/kyber*/limpyo,
- randombit/botan (Niadtong Disyembre 20, 1 ra ang pagkahuyang ang naayo),
- rustpq/pqcrypto/pqcrypto-kyber (usa ka pag-ayo ang gidugang sa libsignal niadtong Enero 5, apan ang pagkahuyang wala pa ma-fix sa pqcrypto-kyber mismo).
Source: opennet.ru
