เจชเฉ‹เจธเจŸ-เจ•เฉเจ†เจ‚เจŸเจฎ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ Kyber เจฆเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€

เจ•เจพเจ‡เจฌเจฐ เจ‡เจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš, เจœเจฟเจธ เจจเฉ‡ เจ‡เฉฑเจ• เจ•เฉเจ†เจ‚เจŸเจฎ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจฌเจฐเฉ‚เจŸ เจซเฉ‹เจฐเจธ เจชเฉเจฐเจคเฉ€ เจฐเฉ‹เจงเจ• เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจฎเฉเจ•เจพเจฌเจฒเจพ เจœเจฟเฉฑเจคเจฟเจ†, เจ‡เฉฑเจ• เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจœเฉ‹ เจธเจพเจˆเจก-เจšเฉˆเจจเจฒ เจนเจฎเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฎเจพเจชเจฃ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ—เฉเจชเจค เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจนเจฎเจฒเจพเจตเจฐ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เจซเจฐเจŸเฉˆเจ•เจธเจŸเฅค เจธเจฎเฉฑเจธเจฟเจ† CRYSTALS-Kyber KEM เจ•เฉเฉฐเจœเฉ€ เจ‡เจจเจ•เฉˆเจชเจธเฉ‚เจฒเฉ‡เจธเจผเจจ เจตเจฟเจงเฉ€ เจ…เจคเฉ‡ เจ•เจˆ เจฅเจฐเจก-เจชเจพเจฐเจŸเฉ€ Kyber-เจธเจฎเจฐเฉฑเจฅ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจฟเจ—เจจเจฒ เจฎเฉˆเจธเฉ‡เจ‚เจœเจฐ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ pqcrypto เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเจพ เจธเจพเจฐ, เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจจเจพเจฎ KyberSlash เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจ‡เฉฑเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจกเจฟเจตเฉ€เจœเจผเจจ เจ“เจชเจฐเฉ‡เจธเจผเจจ "t = (((t

เจกเฉˆเจจเฉ€เจ…เจฒ เจœเฉ‡ เจฌเจฐเจจเจธเจŸเจพเจˆเจจ, เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจพเจฃเจฟเจ†-เจชเจ›เจพเจฃเจฟเจ† เจฎเจพเจนเจฐ, เจธเจฌเฉ‚เจค เจฆเจพ เจ‡เฉฑเจ• เจ•เจพเจฐเจœเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ เจ•เจฟ เจนเจฎเจฒเจพ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ•เจฐเจตเจพเจ เจ—เจ เจคเจฟเฉฐเจจ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฆเฉ‹ เจตเจฟเฉฑเจš, เจœเจฆเฉ‹เจ‚ Raspberry Pi 2 เจฌเฉ‹เจฐเจก 'เจคเฉ‡ เจ•เฉ‹เจก เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจธเฉ€, เจคเจพเจ‚ เจกเจพเจŸเจพ เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฎเจพเจชเจฃ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ Kyber-512 เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจธเฉ€เฅค เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ Kyber-768 เจ…เจคเฉ‡ Kyber-1024 เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฒเจˆ เจตเฉ€ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ•เจฟเจธเฉ‡ เจนเจฎเจฒเฉ‡ เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจ…เฉฐเจœเจพเจฎ เจฆเฉ‡เจฃ เจฒเจˆ, เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ•เจฟ เจนเจฎเจฒเจพเจตเจฐ เจฆเฉเจ†เจฐเจพ เจฆเจฐเจธเจพเจ เจ—เจ เจธเจฟเจซเจฐเจŸเฉˆเจ•เจธเจŸ เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจธเจพเจงเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡ เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฎเจพเจชเจฟเจ† เจœเจพ เจธเจ•เฉ‡เฅค

เจ•เฉเจ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจฒเฉ€เจ• (KyberSlash2) เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจตเจฟเจญเจพเจœเจจ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เฉฑเจ• เจ—เฉเจชเจค เจฎเฉเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเฉ€ เจตเจพเจชเจฐเจฆเฉ€ เจนเฉˆเฅค เจชเจนเจฟเจฒเฉ‡ เจตเจฟเจ•เจฒเจช เจคเฉ‹เจ‚ เจ…เฉฐเจคเจฐ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ•เจพเจฒ 'เจคเฉ‡ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ (เจชเฉŒเจฒเฉ€_เจ•เฉฐเจชเฉเจฐเฉˆเจธ เจ…เจคเฉ‡ เจชเฉŒเจฒเฉ€เจตเฉ‡เจ•_เจ•เฉฐเจชเฉเจฐเฉˆเจธ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš), เจจเจพ เจ•เจฟ เจกเฉ€เจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฆเฉŒเจฐเจพเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฆเฉ‚เจธเจฐเจพ เจตเจฟเจ•เจฒเจช เจธเจฟเจฐเจซ เจ‰เจนเจจเจพเจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจนเจฎเจฒเฉ‡ เจฒเจˆ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฐเฉ€-เจ‡เจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจฟเจซเจฐเจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจ—เฉเจชเจค เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ เฉ€เจ• เจ•เฉ€เจคเฉ€ เจœเจพ เจšเฉเฉฑเจ•เฉ€ เจนเฉˆ:

  • zig/lib/std/crypto/kyber_d00.zig (22 เจฆเจธเฉฐเจฌเจฐ),
  • pq-crystals/kyber/ref (30 เจฆเจธเฉฐเจฌเจฐ),
  • เจธเจฟเฉฐเจฌเจฒเจฟเจ•เจธเฉŒเจซเจŸ/เจ•เจพเจ‡เจฌเจฐ-เจ•เฉ‡2เจธเฉ‹ (เจฆเจธเฉฐเจฌเจฐ 19),
  • เจ•เจฒเจพเจ‰เจกเจซเจฒเฉ‡เจ…เจฐ/เจธเจฐเจ•เจฒ (8 เจœเจจเจตเจฐเฉ€),
  • 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.

เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ…เจฃเจชเจ›เจพเจคเฉ€ เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

  • antontutoveanu/crystals-kyber-javascript,
  • เจ…เจฐเจ—เจพเจ‡เจฒ-เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ/เจ•เจพเจ‡เจฌเจฐ,
  • 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 เจฆเจธเฉฐเจฌเจฐ เจจเฉ‚เฉฐ, เจธเจฟเจฐเจซ 1 เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจซเจฟเจ•เจธ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€),
  • rustpq/pqcrypto/pqcrypto-kyber (เจฒเจฟเจฌเจธเจฟเจ—เจจเจฒ เจตเจฟเฉฑเจš 5 เจœเจจเจตเจฐเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจฟเจ•เจธ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจชเจฐ pqcrypto-kyber เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ…เจœเฉ‡ เจคเฉฑเจ• เจ เฉ€เจ• เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ)เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹