ืคื’ื™ืขื•ืช ื‘ื™ื™ืฉื•ืžื™ื ืฉืœ ืืœื’ื•ืจื™ืชื ื”ื”ืฆืคื ื” ื”ืคื•ืกื˜-ืงื•ื•ื ื˜ื™ืช ืฉืœ ืงื™ื™ื‘ืจ

ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช ื‘ื™ื™ืฉื•ื ืืœื’ื•ืจื™ืชื ื”ื”ืฆืคื ื” Kyber, ืฉื–ื›ื” ื‘ืชื—ืจื•ืช ืขืœ ืืœื’ื•ืจื™ืชืžื™ื ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ืขืžื™ื“ื™ื ืงื•ื•ื ื˜ื™ืช, ื•ืžืืคืฉืจ ืœื”ืชืงืคื•ืช ืขืจื•ืฅ ืฆื“ื“ื™ ืœืฉื—ื–ืจ ืžืคืชื—ื•ืช ืกื•ื“ื™ื™ื ืขืœ ืกืžืš ืžื“ื™ื“ืช ื–ืžืŸ ื”ืคืขื•ืœื•ืช ื‘ืžื”ืœืš ืคืขื ื•ื— ื”ื˜ืงืกื˜ ื”ืžื•ืฆืคืŸ ืฉืกื•ืคืง ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ. ื”ื‘ืขื™ื” ืžืฉืคื™ืขื” ื”ืŸ ืขืœ ื™ื™ืฉื•ื ื”ื™ื™ื—ื•ืก ืฉืœ ืžื ื’ื ื•ืŸ ืงืคืกื•ืœืฆื™ื™ืช ื”ืžืคืชื—ื•ืช CRYSTALS-Kyber KEM ื•ื”ืŸ ืขืœ ืกืคืจื™ื•ืช ื”ืฆืคื ื” ืจื‘ื•ืช ืฉืœ ืฆื“ ืฉืœื™ืฉื™ ื”ืชื•ืžื›ื•ืช ื‘-Kyber, ื›ื•ืœืœ ืกืคืจื™ื™ืช pqcrypto ื”ืžืฉืžืฉืช ื‘-Signal messenger.

ื”ืคื’ื™ืขื•ืช, ื”ืžื›ื•ื ื” KyberSlash, ืžื‘ื•ืกืกืช ืขืœ ื”ืฉื™ืžื•ืฉ ื‘ืคืขื•ืœืช ื”ื—ื™ืœื•ืง "t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" ื‘ืชื”ืœื™ืš ืคืขื ื•ื— ื”ื”ื•ื“ืขื•ืช, ื›ืืฉืจ ื”ื“ื™ื‘ื™ื“ื ื“ ืžื›ื™ืœ ืืช ื”ืขืจืš ื”ืกื•ื“ื™ "t" ืžืกื•ื’ "double", ื•ื”ืžื—ืœืง ื”ื•ื ื”ืขืจืš ื”ืฆื™ื‘ื•ืจื™ ื”ื™ื“ื•ืข KYBER_Q. ื”ื‘ืขื™ื” ื”ื™ื ืฉื–ืžืŸ ืคืขื•ืœืช ื”ื—ื™ืœื•ืง ืื™ื ื• ืงื‘ื•ืข, ื•ื‘ืกื‘ื™ื‘ื•ืช ืฉื•ื ื•ืช ืžืกืคืจ ืžื—ื–ื•ืจื™ ื”ืžืขื‘ื“ ื”ืžื‘ื•ืฆืขื™ื ืขื‘ื•ืจ ื—ื™ืœื•ืง ืชืœื•ื™ ื‘ื ืชื•ื ื™ ื”ืงืœื˜. ืœืคื™ื›ืš, ื‘ื”ืชื‘ืกืก ืขืœ ื”ืฉื™ื ื•ื™ ื‘ื–ืžืŸ ื”ืคืขื•ืœื”, ื ื™ืชืŸ ืœืงื‘ืœ ืžื•ืฉื’ ืขืœ ืื•ืคื™ ื”ื ืชื•ื ื™ื ื”ืžืฉืžืฉื™ื ืœื—ื™ืœื•ืง.

ื“ื ื™ืืœ ื’'ื™ื™ ื‘ืจื ืฉื˜ื™ื™ืŸ, ืžื•ืžื—ื” ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ื™ื“ื•ืข, ื™ืฆืจ ื”ื“ื’ืžื” ืขื•ื‘ื“ืช ืฉืœ ื”ื”ืชืงืคื”. ื‘ืฉื ื™ื™ื ืžืชื•ืš ืฉืœื•ืฉื” ื ื™ืกื•ื™ื™ื, ื”ืงื•ื“ ื”ื•ืคืขืœ ืขืœ 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 (30 ื‘ื“ืฆืžื‘ืจ),
  • symbolicsoft/kyber-k2so (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/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 ื‘ื“ืฆืžื‘ืจ),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/clean,
  • randombit/botan (ืจืง ื•ืจื™ืื ื˜ ืื—ื“ ืฉืœ ืคื’ื™ืขื•ืช ืชื•ืงืŸ ื‘-20 ื‘ื“ืฆืžื‘ืจ),
  • rustpq/pqcrypto/pqcrypto-kyber (ื‘-5 ื‘ื™ื ื•ืืจ, ื”ืชื™ืงื•ืŸ ื ื•ืกืฃ ืœ-libsignal, ืืš ื”ืคื’ื™ืขื•ืช ืขื“ื™ื™ืŸ ืœื ืชื•ืงื ื” ื‘-pqcrypto-kyber ืขืฆืžื•).

ืžืงื•ืจ: OpenNet.ru

ืงื ื” ืื™ืจื•ื— ืืžื™ืŸ ืœืืชืจื™ื ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS ๐Ÿ”ฅ ืงื ื” ืื—ืกื•ืŸ ืืชืจื™ื ืืžื™ืŸ ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS | ProHoster