ํฌ์ŠคํŠธ ์–‘์ž ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Kyber ๊ตฌํ˜„์˜ ์ทจ์•ฝ์ 

์–‘์ž์ปดํ“จํ„ฐ์—์„œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…์— ๊ฐ•ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฝ์Ÿ์—์„œ ์Šน๋ฆฌํ•œ ์นด์ด๋ฒ„ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ ๊ณผ์ •์—์„œ, ๋ณตํ˜ธํ™” ๊ณผ์ •์—์„œ ์—ฐ์‚ฐ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด ๋น„๋ฐ€ํ‚ค๋ฅผ ์žฌ์ฐฝ์กฐํ•˜๋Š” ์‚ฌ์ด๋“œ์ฑ„๋„ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•œ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ๊ณตํ•œ ์•”ํ˜ธ๋ฌธ. ์ด ๋ฌธ์ œ๋Š” CRYSTALS-Kyber KEM ํ‚ค ์บก์Аํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ฐธ์กฐ ๊ตฌํ˜„๊ณผ Signal ๋ฉ”์‹ ์ €์— ์‚ฌ์šฉ๋˜๋Š” pqcrypto ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•œ ๋งŽ์€ ํƒ€์‚ฌ Kyber ์ง€์› ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ๋‘์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ช… KyberSlash๋ฅผ ๋ฐ›์€ ์ทจ์•ฝ์ ์˜ ๋ณธ์งˆ์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์ฝ”๋”ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ถ„ํ•  ์—ฐ์‚ฐ โ€œt = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;โ€์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. , ์—ฌ๊ธฐ์„œ ํ”ผ์ œ์ˆ˜๋Š” "double" ์œ ํ˜•์˜ ๋น„๋ฐ€ ๊ฐ’ "t"๋ฅผ ํฌํ•จํ•˜๊ณ  ์ œ์ˆ˜๋Š” ์ž˜ ์•Œ๋ ค์ง„ ๊ณต๊ฐœ ๊ฐ’ KYBER_Q์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์˜ ์‹œ๊ฐ„์ด ์ผ์ •ํ•˜์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ๋‚˜๋ˆ„๊ธฐ๋ฅผ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” CPU ์‚ฌ์ดํด ์ˆ˜๊ฐ€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž‘์—… ์‹œ๊ฐ„์˜ ๋ณ€ํ™”์— โ€‹โ€‹๋”ฐ๋ผ ๋ถ„ํ• ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์„ฑ๊ฒฉ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•”ํ˜ธํ™” ๋ถ„์•ผ์˜ ์œ ๋ช…ํ•œ ์ „๋ฌธ๊ฐ€์ธ Daniel J. Bernstein์€ ๊ณต๊ฒฉ์ด ์‹ค์ œ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฆ๊ฑฐ๋ฅผ ์ž…์ฆํ•˜๋Š” ์ž‘์—… ์‹œ์—ฐ์„ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰๋œ ์„ธ ๊ฐ€์ง€ ์‹คํ—˜ ์ค‘ ๋‘ ๊ฐ€์ง€ ์‹คํ—˜์—์„œ๋Š” ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด 2 ๋ณด๋“œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ธก์ •๋œ ๋ฐ์ดํ„ฐ ๋””์ฝ”๋”ฉ ์‹œ๊ฐ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ Kyber-512 ๊ฐœ์ธ ํ‚ค๋ฅผ ์™„์ „ํžˆ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ Kyber-768 ๋ฐ Kyber-1024 ํ‚ค์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•œ ์•”ํ˜ธ๋ฌธ์„ ๋™์ผํ•œ ํ‚ค ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ž‘์—… ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ์ •ํ™•ํ•˜๊ฒŒ ์ธก์ •ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋˜ ๋‹ค๋ฅธ ๋ˆ„์ˆ˜(KyberSlash2)๊ฐ€ ํ™•์ธ๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋‚˜๋ˆ—์…ˆ ์ˆ˜ํ–‰ ์‹œ ๋น„๋ฐ€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜๊ณผ์˜ ์ฐจ์ด์ ์€ ์•”ํ˜ธ ํ•ด๋… ์ค‘์ด ์•„๋‹Œ ์•”ํ˜ธํ™” ๋‹จ๊ณ„(poly_compress ๋ฐ polyvec_compress ํ•จ์ˆ˜)์˜ ํ˜ธ์ถœ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ์•”ํ˜ธ๋ฌธ์˜ ์ถœ๋ ฅ์ด ๊ธฐ๋ฐ€๋กœ ๊ฐ„์ฃผ๋˜๋Š” ์žฌ์•”ํ˜ธํ™” ์ž‘์—…์— ํ•ด๋‹น ์ ˆ์ฐจ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ณต๊ฒฉ์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ์ด๋ฏธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • zig/lib/std/crypto/kyber_d00.zig (22์›” XNUMX์ผ),
  • pq-crystals/kyber/ref (30์›” XNUMX์ผ),
  • Symbolicsoft/kyber-k2so (19์›” XNUMX์ผ),
  • cloudflare/circl(8์›” XNUMX์ผ),
  • aws/aws-lc/crypto/kyber(4์›” XNUMX์ผ),
  • liboqs/src/kem/kyber (8์›” XNUMX์ผ).

์ฒ˜์Œ์— ์ทจ์•ฝ์ ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ:

  • ์ง€๋ฃจํ•œ SSL/์•”ํ˜ธํ™”/์นด์ด๋ฒ„,
  • filippo.io/mlkem768,
  • ํฌ๋ชจ์‚ฌ-์•”ํ˜ธํ™”/libjade/๋‚˜๋ฌด/๋ฉ”์ธ/src/crypto_kem,
  • ์นด์ด๋ฒ„/๊ณตํ†ต/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,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/crystals-go,
  • mupq/pqm4/crypto_kem/kyber* (20์›” 1์ผ์—๋Š” ์ทจ์•ฝ์ ์˜ XNUMX๊ฐœ ๋ฒ„์ „๋งŒ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/clean,
  • randombit/botan (20์›” 1์ผ์—๋Š” XNUMX๊ฐœ์˜ ์ทจ์•ฝ์ ๋งŒ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค),
  • Rustpq/pqcrypto/pqcrypto-kyber(5์›” XNUMX์ผ libsignal์— ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์—ˆ์ง€๋งŒ pqcrypto-kyber ์ž์ฒด์—์„œ๋Š” ์•„์ง ์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster