αα αααα»αααΆαα’αα»αααααααα½ααααααααΆαααΆαα’αα·αααααΈα Kyber αααααΆαααααααΆαααααα½ααααααααααααα½ααααααααΆαααααΈαααααααααΉααααααΆαα brute αα ααΎαα»αααααΌααα quantum ααΆαααΆαααααααααα½αααααΌαααΆααααααααα’ααααααααΆααααα’αα»ααααΆαα±ααααΆαααΆααααα αΆαααΆαααΆαααα αα αααααααΎααααααααΆααα‘αΎααα·ααααααα’ααααΎααΆαααΆααααααααααααΆααααααα·ααααα·ααΆαααα‘α»αααααα·ααααΈαα ciphertext ααααααααα’αααααΆααααα αΆαα αααα αΆααααααααΆαααααααΆααααΆαα’αα»ααααα―αααΆααααααααααααΆααααααααααΌααα CRYSTALS-Kyber KEM αα·ααααααΆαααα’αα·αααααΈααααααΎαααααΎαααΆαααα Kyber ααΆααΈααΈααΈααΆα αααΎα αα½αααΆαααααααΆααα pqcrypto αααααααΎαααα»ααααααα·ααΈααααΎααΆαα
ααααΉαααΆαααααΆαααΆαααααααααααααΆαααα½ααααααααΌα KyberSlash ααΊαα αααα»αααΆαααααΎααααΆααααααα·ααααα·ααΆαααααα βt = (((t< 1) + KYBER_Q/2)/KYBER_Q) & 1;β αα αααα»αααααΎαααΆαααααΆααα·ααΌαααΆαα ααααααα»ααααααΆαααΆαααΆαααααααααααΆαα "t" ααΆαα½ααααααα "ααααααα" α αΎαααααααααα ααααΊααΆαααααααΆααΆαααααααααΈααααΆα KYBER_Q α αααα αΆααΊααΆαααααααΆααααααα·ααααα·ααΆαααααααα·αααα α αΎααα αααα»αααα·ααΆααΆαααααααααααΆ α ααα½ααααααααααΈααΈααΌαααααΆαα’αα»αααααααααΆααααΆααααα ααααΊα’αΆαααααααΎαα·αααααααααα αΌαα ααΌα αααααααααα’ααααΎααΆαααααΆααααααΌααααααααΆααααα·ααααα·ααΆαααα»αααααααΆααα’αΆα ααα½αααΆααααα·αααααααααΆαα·αααα·αααααααααααΆαααααΎαααα»αααΆααααα ααα
Daniel J. Bernstein αααααΆα’αααααααΆαααααααΈααΆααααααααααΈαααααΈα α’αΆα αααα αααΆααααα αΆαααΈααααα»ααΆααααααΆααΆαααΆααααα αΆαα’αΆα ααααΌαααΆαα’αα»αααααα αααα»αααΆαα’αα»ααααα αα αααα»αααΆααα·αααααααΈααααα»αα ααααααΆααα·αααααααΆααααΈαααααΆαααααΎα‘αΎα αα αααααααΎαααΆαααΌααα ααΎααααα Raspberry Pi 2 ααΆα’αΆα αααααΎαα‘αΎααα·αααΆαααααα»αααΌαααα―ααα Kyber-512 αααααα’ααααΎααΆαααΆααααααααααααΆααααΆααα·ααΌααα·ααααααα αα·ααΈααΆααααααααααα’αΆα ααααΌαααΆαααααααα½ααααααΆαααα Kyber-768 αα·α Kyber-1024 αααααα ααΎααααΈα’αα»ααααααΆαααΆααααα αΆαααααααααα ααΆα αΆαααΆα ααααα’αααααααααΆααααααααααΆαααααα’αααααΆααααα αΆαααααΌαααΆαααααΎαααΆααααααααΎααΌααααΌα ααααΆ α αΎααααααααΆααααα·ααααα·ααααααα·ααααα·ααΆαα’αΆα ααααΌαααΆαααΆααααααααΆαααααΉαααααΌαα
ααΆαααα ααααΆααα½αααα (KyberSlash2) ααααΌαααΆααααααα’ααααααααΆααα αααα»ααααααΆααααα½αα ααα½α αααααΎαα‘αΎαααααααααααΆαααααΆαααααΎααααΆααααααααααααΆαααα αααα’αα»ααααααΆααααα ααα ααΆααα»αααααΆααΈαααααΎαααααΌαααααΎααΆαα α ααΌααααααα ααααΆααααΆαα’αα·αααααΈα (αα αααα»ααα»αααΆα poly_compress αα·α polyvec_compress) α αΎααα·ααααααα‘α»αααααα·ααααΈαααα αααααΆαααΆαααΆααααα αααααΎαααΈααΈαα’αΆα ααΆααααααααααααααΆααααΆαααΆααααα αΆααααααα»αααααΈαααααΈαα·αα·ααΈααααΌαααΆαααααΎαααα»αααααα·ααααα·ααΆαα’αα·αααααΈαα‘αΎααα·α αααααααααααα’ααααααααααΆααααααΌαααΆαα αΆαααα»αααΆααΆααΆααααααΆααα
ααΆαααΆααααααααααααΌαααΆααα½ααα»ααα½α α αΎααα αααα»ααααααΆαααα
- zig/lib/std/crypto/kyber_d00.zig (ααααααΈ 22 ααααααΌ),
- pq-crystals/kyber/ref (ααααααΈ α£α ααααααΌ),
- symbolicsoft/kyber-k2so (ααααααΈ 19 ααααααΌ),
- cloudflare/circl (α¨ ααααΆ),
- aws/aws-lc/crypto/kyber (4 ααααΆ),
- liboqs/src/kem/kyber (8 ααααΆ) α
αααααΆααααα·αααααΌαααΆααααααΆααααααΌαα‘αΎααααααΆαααΆααααααααα
- 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.
ααΆαααΆαααααααααα αααα·αααααΌαααΆααα½ααα»ααα αααα»ααααααΆαααα
- antontutoweanu/crystals-kyber-javascript,
- Argyle-Software/kyber,
- debian/src/liboqs/unstable/src/kem/kyber,
- kudelskisecurity/crystals-go,
- mupq/pqm4/crypto_kem/kyber* (αα ααααααΈ 20 ααααααΌ ααΆαααΆααααααααααΆααααααα 1 ααααΌαααΆααα½ααα»α)
- PQClean/PQClean/crypto_kem/kyber*/aarch64,
- PQClean/PQClean/crypto_kem/kyber*/clean,
- randombit/botan (αα ααααααΈ 20 ααααααΌ ααΆαααΆαααααααααααα½ααααααααΌαααΆααα½ααα»α)
- rustpq/pqcrypto/pqcrypto-kyber (ααΆααα½ααα»αααααΌαααΆααααααααα libsignal αα ααααααΈ 5 ααααααΆ ααα»ααααααΆαααΆαααααααααα·αααΆααααααΌαααΆααα½ααα»ααα αααα»α pqcrypto-kyber αααα½αααΆαα)α
ααααα: opennet.ru