Ukuba sesichengeni ekuphunyezweni kwe-algorithm ye-post-quantum encryption Kyber

Ekuphunyezweni kwe-algorithm ye-Kyber encryption, ephumelele ukhuphiswano lwe-cryptographic algorithms exhathisa amandla akhohlakeleyo kwikhompyuter ye-quantum, ubuthathaka bachongwa obuvumela uhlaselo lwe-channel-channel ukwenza kwakhona izitshixo eziyimfihlo ezisekwe ekulinganiseni ixesha lemisebenzi ngexesha lokuchazwa kwe-decryption. i-ciphertext enikezelwe ngumhlaseli. Ingxaki ichaphazela zombini ukuphunyezwa kwereferensi ye-CRYSTALS-Kyber KEM ye-key encapsulation mechanism kunye nethala leencwadi le-Kyber-enabled encryption eninzi, kuquka ilayibrari ye-pqcrypto esetyenziswe kwiSiqondiso somthunywa.

Undoqo wobuthathaka, ofumene igama lekhowudi elithi KyberSlash, kusetyenziso lomsebenzi wolwahlulo "t = ((((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" kwinkqubo yokuguqula umyalezo. , apho i-dividend iqulethe ixabiso eliyimfihlo "t" kunye nohlobo lwe-"double", kunye ne-divisor yixabiso loluntu elaziwayo KYBER_Q. Ingxaki kukuba ixesha lomsebenzi wolwahlulo alitshintshi, kwaye kwiindawo ezahlukeneyo inani lemijikelezo ye-CPU eyenzelwe ukwahlula kuxhomekeke kwidatha yegalelo. Ke, ngokusekwe kutshintsho kumaxesha okusebenza, umntu unokufumana umbono wobume bedatha esetyenziswa kulwahlulo.

UDaniel J. Bernstein, ingcali eyaziwayo kwinkalo ye-cryptography, wakwazi ukulungiselela umboniso osebenzayo wobungqina bokuba uhlaselo lunokwenziwa ngokoqobo. Kwimifuniselo emibini emithathu eyenziwayo, xa usebenzisa ikhowudi kwibhodi ye-Raspberry Pi 2, kwakunokwenzeka ukuphinda uphinde udibanise ngokupheleleyo isitshixo sangasese se-Kyber-512 esekelwe ekulinganiseni ixesha lokuchithwa kwedatha. Indlela inokuthi ilungiswe kwi-Kyber-768 kunye ne-Kyber-1024 izitshixo. Ukuqhuba ngempumelelo uhlaselo, kuyimfuneko ukuba i-ciphertext echazwe ngumhlaseli iqhutywe kusetyenziswa isibini esibalulekileyo kunye nokuba ixesha lokwenziwa komsebenzi linokulinganiswa ngokuchanekileyo.

Okunye ukuvuza (KyberSlash2) ichongiwe kwamanye amathala eencwadi, okwenzekayo ngenxa yokusetyenziswa kwexabiso eliyimfihlo xa kusenziwa ulwahlulo. Umahluko ukusuka kwinketho yokuqala yehla kwifowuni kwinqanaba le-encryption (kwi-poly_compress kunye ne-polyvec_compress imisebenzi), kwaye kungekhona ngexesha lokuchithwa. Nangona kunjalo, ukhetho lwesibini lunokuba luncedo kuhlaselo kuphela kwiimeko apho inkqubo isetyenziselwa uguqulelo lwe-encryption imisebenzi apho imveliso ye-ciphertext ithathwa njengeyimfihlo.

Ubuthathaka sele bulungisiwe kumathala eencwadi:

  • zig/lib/std/crypto/kyber_d00.zig (22 Disemba),
  • pq-crystals/kyber/ref (Disemba 30),
  • symbolicsoft/kyber-k2so (Disemba 19),
  • icloudflare/isangqa (ngoJanuwari 8),
  • aws/aws-lc/crypto/kyber (NgoJanuwari 4),
  • liboqs/src/kem/kyber (8 Januwari).

Amathala eencwadi awachatshazelwanga bubungozi:

  • 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.

Ukuba semngciphekweni kuhlala kungabhalwanga kumathala eencwadi:

  • antontutoveanu/crystals-kyber-javascript,
  • I-Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/crystals-go,
  • mupq/pqm4/crypto_kem/kyber* (Ngomhla wama-20 kaDisemba, kuphela inguqulelo eyi-1 yokuba sesichengeni yalungiswa),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/coca,
  • randombit/botan (Ngomhla wama-20 kaDisemba, ubuthathaka obu-1 kuphela bulungisiwe),
  • rustpq/pqcrypto/pqcrypto-kyber (ulungiso longezwe kwi-libsignal ngoJanuwari 5, kodwa ubuthathaka abukalungiswa kwi-pqcrypto-kyber ngokwayo).

umthombo: opennet.ru

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster