ʻO ka nāwaliwali i ka hoʻokō ʻana o ka post-quantum encryption algorithm Kyber

I ka hoʻokō ʻana i ka algorithm encryption Kyber, ka mea i lanakila i ka hoʻokūkū o nā algorithms cryptographic kūʻē i ka ikaika brute ma kahi kamepiula quantum, ua ʻike ʻia kahi nāwaliwali e hiki ai i nā hoʻouka ʻaoʻao ke hana hou i nā kī huna e pili ana i ke ana ʻana i ka manawa o ka hana i ka wā decryption o ka. ciphertext i hāʻawi ʻia e ka mea hoʻouka. Pili ka pilikia i ka hoʻokō ʻana o ka CRYSTALS-Kyber KEM key encapsulation mechanism a me nā hale waihona puke hoʻopuna a Kyber ʻaoʻao ʻekolu, me ka waihona pqcrypto i hoʻohana ʻia i ka ʻelele Signal.

ʻO ke kumu o ka nāwaliwali, ka mea i loaʻa i ka inoa code KyberSlash, aia i ka hoʻohana ʻana i ka hana mahele "t = (((t

Ua hiki iā Daniel J. Bernstein, he loea kaulana i ke kahua o ka cryptography, ke hoʻomākaukau i kahi hōʻike hana o ka hōʻoia e hiki ke hoʻokō ʻia ka hoʻouka ʻana ma ka hana. Ma ʻelua o nā hoʻokolohua ʻekolu i hana ʻia, i ka wā e holo ana i ke code ma ka papa Raspberry Pi 2, ua hiki ke hana hou i ke kī pilikino Kyber-512 ma muli o ke ana ʻana i ka manawa decoding data. Hiki ke hoʻololi ʻia ke ala no nā kī Kyber-768 a me Kyber-1024. No ka hoʻokō pono ʻana i kahi hoʻouka kaua, pono e hana ʻia ka ciphertext i kuhikuhi ʻia e ka mea hoʻouka me ka hoʻohana ʻana i nā kī like like a hiki ke ana pololei ʻia ka manawa hoʻokō o ka hana.

Ua ʻike ʻia kekahi leak (KyberSlash2) i loko o kekahi mau hale waihona puke, i hana ʻia ma muli o ka hoʻohana ʻana i kahi waiwai huna i ka wā e hoʻokaʻawale ai. ʻO nā ʻokoʻa mai ka koho mua e iho mai i ke kelepona ma ka pae hoʻopunipuni (ma nā hana poly_compress a me polyvec_compress), ʻaʻole i ka wā decryption. Eia nō naʻe, hiki ke hoʻohana ʻia ka lua o ka koho no ka hoʻouka ʻana i nā hihia wale nō i hoʻohana ʻia ke kaʻina hana i nā hana hoʻopiʻi hou ʻana i manaʻo ʻia he mea huna ka hoʻopuka ʻana o ka ciphertext.

Ua hoʻopaʻa ʻia ka nāwaliwali i nā hale waihona puke:

  • zig/lib/std/crypto/kyber_d00.zig (Kekemapa 22),
  • pq-crystals/kyber/ref (Kekemapa 30),
  • symbolicsoft/kyber-k2so (Kekemapa 19),
  • cloudflare/circl (Ianuali 8),
  • aws/aws-lc/crypto/kyber (Ianuali 4),
  • liboqs/src/kem/kyber (8 Ianuali).

ʻAʻole i hoʻopilikia mua ʻia nā hale waihona puke e ka nāwaliwali:

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

ʻAʻole i hoʻopaʻa ʻia ka nāwaliwali i loko o nā hale waihona puke:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/crystals-go,
  • mupq/pqm4/crypto_kem/kyber* (Ma ka lā 20 o Kekemapa, 1 wale nō ka mana o ka vulnerability i hoʻopaʻa ʻia),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/maʻemaʻe,
  • randombit/botan (Ma ka lā 20 o Kekemapa, 1 wale nō ka nāwaliwali i hoʻopaʻa ʻia),
  • rustpq/pqcrypto/pqcrypto-kyber (ua hoʻohui ʻia kahi hoʻoponopono i ka libsignal ma Ianuali 5, akā ʻaʻole i hoʻopaʻa ʻia ka nāwaliwali ma ka pqcrypto-kyber ponoʻī).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka