์˜ˆ์•”ํ˜ธํ™” 1.1.0

yescrypt๋Š” scrypt ๊ธฐ๋ฐ˜์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜ ํ‚ค ์ƒ์„ฑ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์žฅ์ (scrypt ๋ฐ Argon2์™€ ๋น„๊ต):

  • ์˜คํ”„๋ผ์ธ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ์ €ํ•ญ๋ ฅ ํ–ฅ์ƒ(๋ฐฉ์–ด์ธก์˜ ๋น„์šฉ์„ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณต๊ฒฉ ๋น„์šฉ์„ ์ฆ๊ฐ€์‹œํ‚ด)
  • ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ(์˜ˆ: ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ชจ๋ฅด๋”๋ผ๋„ ๋”์šฑ ์•ˆ์ „ํ•œ ์„ค์ •์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ)
  • NIST ์Šน์ธ ์•”ํ˜ธํ™” ๊ธฐ๋ณธ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • SHA-256, HMAC, PBKDF2 ๋ฐ scrypt๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ŠคํŠธ๋ž˜๋‹ˆ์ฒด ํ”„๋กœํ…ํ„ฐ.

์ด์ „ ๋‰ด์Šค ์ดํ›„ (์˜ˆ์•”ํ˜ธํ™” 1.0.1) ๋ช‡ ๊ฐ€์ง€ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๋ฆด๋ฆฌ์Šค ๋ณ€๊ฒฝ ์‚ฌํ•ญ 1.0.2:

  • MAP_POPULATE๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ…Œ์ŠคํŠธ์—์„œ ๊ธ์ •์ ์ธ ํšจ๊ณผ๋ณด๋‹ค ๋ถ€์ •์ ์ธ ํšจ๊ณผ๊ฐ€ ๋” ๋งŽ์ด ๋“œ๋Ÿฌ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • SIMD ์ฝ”๋“œ๋Š” ์ด์ œ SMix2์˜ BlockMix_pwxform์—์„œ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๋ฒ„ํผ๋ฅผ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์บ์‹œ ์ ์ค‘๋ฅ ์ด ์•ฝ๊ฐ„ ํ–ฅ์ƒ๋˜์–ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค 1.0.3์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • SMix1์€ ์ˆœ์ฐจ ๋…น์Œ์„ ์œ„ํ•ด V ์ธ๋ฑ์‹ฑ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค 1.1.0์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • Yescrypt-opt.c์™€ yescrypt-simd.c๊ฐ€ ๋ณ‘ํ•ฉ๋˜์—ˆ์œผ๋ฉฐ "-simd" ์˜ต์…˜์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด SIMD ์–ด์…ˆ๋ธ”๋ฆฌ์˜ ์„ฑ๋Šฅ์€ ๊ฑฐ์˜ ๋ณ€ํ•˜์ง€ ์•Š์ง€๋งŒ ์Šค์นผ๋ผ ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ๋” ๋งŽ์€ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 64๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜์ง€๋งŒ 32๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ๋” ๋Š๋ฆฝ๋‹ˆ๋‹ค.

๋˜ํ•œ yescrypt๋Š” ์ด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค libxcrypt, ์ด๋Š” Fedora ๋ฐ ALT Linux ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€