āĻĒā§‹āĻ¸ā§āϟ-āϕ⧋āϝāĻŧāĻžāĻ¨ā§āϟāĻžāĻŽ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āĻ•āĻžāχāĻŦāĻžāϰ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇ āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž

Kyber āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇, āϝāĻž āĻāĻ•āϟāĻŋ āϕ⧋āϝāĻŧāĻžāĻ¨ā§āϟāĻžāĻŽ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇ āĻŦā§āϰ⧁āϟ āĻĢā§‹āĻ°ā§āϏ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ⧀ āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‹āĻ—ā§āϰāĻžāĻĢāĻŋāĻ• āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽāϗ⧁āϞāĻŋāϰ āĻĒā§āϰāϤāĻŋāϝ⧋āĻ—āĻŋāϤāĻž āϜāĻŋāϤ⧇āĻ›āĻŋāϞ, āĻāĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āϝāĻž āϏāĻžāχāĻĄ-āĻšā§āϝāĻžāύ⧇āϞ āφāĻ•ā§āϰāĻŽāĻŖāϗ⧁āϞāĻŋāϕ⧇ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒāĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻĒāϰāĻŋāĻŽāĻžāĻĒ⧇āϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋāϤ⧇ āĻ—ā§‹āĻĒāύ āϕ⧀āϗ⧁āϞāĻŋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āφāĻ•ā§āϰāĻŽāĻŖāĻ•āĻžāϰ⧀ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāĻ¤ā§āϤ āϏāĻžāχāĻĢāĻžāϰāĻŸā§‡āĻ•ā§āϏāϟāĨ¤ āϏāĻŽāĻ¸ā§āϝāĻžāϟāĻŋ CRYSTALS-Kyber KEM āϕ⧀ āĻāύāĻ•ā§āϝāĻžāĻĒāϏ⧁āϞ⧇āĻļāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻāĻŦāĻ‚ āϏāĻŋāĻ—āĻ¨ā§āϝāĻžāϞ āĻŽā§‡āϏ⧇āĻžā§āϜāĻžāϰ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ pqcrypto āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϏāĻš āĻ…āύ⧇āĻ• āϤ⧃āϤ⧀āϝāĻŧ āĻĒāĻ•ā§āώ⧇āϰ Kyber-āϏāĻ•ā§āώāĻŽ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āωāĻ­āϝāĻŧāϕ⧇āχ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰ⧇āĨ¤

āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻžāϰ āϏāĻžāϰāĻŽāĻ°ā§āĻŽ, āϝāĻž āϕ⧋āĻĄ āύāĻžāĻŽ KyberSlash āĻĒ⧇āϝāĻŧ⧇āϛ⧇, āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻĄāĻŋāϕ⧋āĻĄ āĻ•āϰāĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ "t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" āĻŦāĻŋāĻ­āĻžāĻ— āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ , āϝ⧇ āϞāĻ­ā§āϝāĻžāĻ‚āĻļ⧇ āĻ—ā§‹āĻĒāύ āĻŽāĻžāύ "t" āϟāĻžāχāĻĒ "āĻĄāĻŦāϞ" āϏāĻš, āĻāĻŦāĻ‚ āĻ­āĻžāϜāĻ• āĻšāϞ āϏ⧁āĻĒāϰāĻŋāϚāĻŋāϤ āϏāĻ°ā§āĻŦāϜāύ⧀āύ āĻŽāĻžāύ KYBER_QāĨ¤ āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϞ āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻ­āĻŋāĻļāύ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻ§ā§āϰ⧁āĻŦāĻ• āύāϝāĻŧ, āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇ āĻĄāĻŋāĻ­āĻŋāĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžā§āϚāĻžāϞāĻŋāϤ CPU āϚāĻ•ā§āϰ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āχāύāĻĒ⧁āϟ āĻĄā§‡āϟāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āĨ¤ āϏ⧁āϤāϰāĻžāĻ‚, āĻ…āĻĒāĻžāϰ⧇āĻļāύ āϏāĻŽāϝāĻŧ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇, āϕ⧇āω āĻŦāĻŋāĻ­āĻžāϜāύ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻĄā§‡āϟāĻžāϰ āĻĒā§āϰāĻ•ā§ƒāϤāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϧāĻžāϰāĻŖāĻž āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‹āĻ—ā§āϰāĻžāĻĢāĻŋ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āϰ āĻāĻ•āϜāύ āϏ⧁āĻĒāϰāĻŋāϚāĻŋāϤ āĻŦāĻŋāĻļ⧇āώāĻœā§āĻž āĻĄā§āϝāĻžāύāĻŋāϝāĻŧ⧇āϞ āĻœā§‡ āĻŦāĻžāĻ°ā§āύāĻ¸ā§āĻŸā§‡āχāύ, āĻ…āύ⧁āĻļā§€āϞāύ⧇ āĻšāĻžāĻŽāϞāĻž āϚāĻžāϞāĻžāύ⧋āϰ āĻĒā§āϰāĻŽāĻžāϪ⧇āϰ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•ā§āώāĻŽ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ⧀ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻšāύāĨ¤ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āϤāĻŋāύāϟāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻĻ⧁āϟāĻŋāϤ⧇, āϰāĻžāĻ¸ā§āĻĒāĻŦ⧇āϰāĻŋ āĻĒāĻžāχ 2 āĻŦā§‹āĻ°ā§āĻĄā§‡ āϕ⧋āĻĄ āϚāĻžāϞāĻžāύ⧋āϰ āϏāĻŽāϝāĻŧ, āĻĄā§‡āϟāĻž āĻĄāĻŋāϕ⧋āĻĄāĻŋāĻ‚ āϏāĻŽāϝāĻŧ āĻĒāϰāĻŋāĻŽāĻžāĻĒ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ Kyber-512 āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤ āϕ⧀ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ Kyber-768 āĻāĻŦāĻ‚ Kyber-1024 āϕ⧀āϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝāĻ“ āĻ…āĻ­āĻŋāϝ⧋āϜāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āφāĻ•ā§āϰāĻŽāĻŖ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ, āφāĻ•ā§āϰāĻŽāĻŖāĻ•āĻžāϰ⧀āϰ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āϏāĻžāχāĻĢāĻžāϰāĻŸā§‡āĻ•ā§āϏāϟ āĻāĻ•āχ āϕ⧀ āĻœā§‹āĻĄāĻŧāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧāϟāĻŋ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•āĻŋāϛ⧁ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϤ⧇ āφāϰ⧇āĻ•āϟāĻŋ āĻĢāĻžāρāϏ (KyberSlash2) āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻĄāĻŋāĻ­āĻŋāĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ—ā§‹āĻĒāύ āĻŽāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•āĻžāϰāϪ⧇āĻ“ āϘāĻŸā§‡āĨ¤ āĻĒā§āϰāĻĨāĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĨ⧇āϕ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝāϗ⧁āϞāĻŋ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇ āĻ•āϞ⧇ āφāϏ⧇ (āĻĒāϞāĻŋ_āĻ•āĻŽā§āĻĒā§āϰ⧇āϏ āĻāĻŦāĻ‚ āĻĒāϞāĻŋāϭ⧇āĻ•_āĻ•āĻŽāĻĒā§āϰ⧇āϏ āĻĢāĻžāĻ‚āĻļāύ⧇), āĻāĻŦāĻ‚ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒāĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āύāϝāĻŧāĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϏ⧇āχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ āφāĻ•ā§āϰāĻŽāϪ⧇āϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧋āĻ—ā§€ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āϝ⧇āĻ–āĻžāύ⧇ āϏāĻžāχāĻĢāĻžāϰāĻŸā§‡āĻ•ā§āϏāĻŸā§‡āϰ āφāωāϟāĻĒ⧁āϟ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧ āĻŦāϞ⧇ āĻŦāĻŋāĻŦ⧇āϚāĻŋāϤ āĻšāϝāĻŧāĨ¤

āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϤ⧇ āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āĻ āĻŋāĻ• āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇:

  • zig/lib/std/crypto/kyber_d00.zig (22 āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ),
  • pq-āĻ•ā§āϰāĻŋāĻ¸ā§āϟāĻžāϞ/āĻ•āĻžāχāĻŦāĻžāϰ/āϰ⧇āĻĢ (āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ 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-āĻ•ā§āϰāĻŋāĻ¸ā§āϟāĻžāϞ/āĻ•āĻžāχāĻŦāĻžāϰ/āĻāĻ­āĻŋāĻāĻ•ā§āϏ⧍,
  • pqclean/crypto_kem/kyber*/avx2.

āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϤ⧇ āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āϰāϝāĻŧ⧇āϛ⧇:

  • antontutoveanu/āĻ•ā§āϰāĻŋāĻ¸ā§āϟāĻžāϞ-āĻ•āĻžāχāĻŦāĻžāϰ-āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ,
  • Argyle-āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ/āĻ•āĻžāχāĻŦāĻžāϰ,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • āϕ⧁āĻĄā§‡āϞāĻ¸ā§āĻ•āĻŋāϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ/āĻ•ā§āϰāĻŋāĻ¸ā§āϟāĻžāϞ-āĻ—ā§‹,
  • mupq/pqm4/crypto_kem/kyber* (20 āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ, āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻžāϰ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ 1 āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/āĻ•ā§āϞāĻŋāύ,
  • randombit/botan (20 āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ, āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ 1 āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ),
  • rustpq/pqcrypto/pqcrypto-kyber (5 āϜāĻžāύ⧁āϝāĻŧāĻžāϰ⧀ libsignal-āĻ āĻāĻ•āϟāĻŋ āĻĢāĻŋāĻ•ā§āϏ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ, āĻ•āĻŋāĻ¨ā§āϤ⧁ pqcrypto-kyber-āĻ āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āĻāĻ–āύāĻ“ āĻ āĻŋāĻ• āĻ•āϰāĻž āĻšāϝāĻŧāύāĻŋ)āĨ¤

āωāĻ¤ā§āϏ: opennet.ru

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster