SHA-3๋ณด๋‹ค 10๋ฐฐ ๋น ๋ฅธ BLAKE2 ์•”ํ˜ธํ™” ํ•ด์‹œ ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ตœ์ข… ๊ตฌํ˜„์ด ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ ˆ์ดํฌ 3๋Š” ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ, ๋ฉ”์‹œ์ง€ ์ธ์ฆ, ๋””์ง€ํ„ธ ์„œ๋ช…์šฉ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ์•”ํ˜ธํ™” ํ•ด์‹œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. BLAKE3์€ ์ถฉ๋Œ ๋ฐฉ์ง€๋ฅผ ๋ณด์žฅํ•˜๋ฉด์„œ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ํ”„๋กœํ† ํƒ€์ž…์„ ์ฐพ์•„์„œ ํ•ด์‹œ๋œ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๋ฏผ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. BLAKE3์˜ ์ฐธ์กฐ ๊ตฌํ˜„ ์ถœํŒ์‚ฌ : Public Domain(CC0) ๋ฐ Apache 2.0์— ๋”ฐ๋ผ ์ด์ค‘ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ํ•ด์‹œ ํ•จ์ˆ˜์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ SHA-3 ์ˆ˜์ค€์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋งค์šฐ ๋†’์€ ์„ฑ๋Šฅ์˜ ํ•ด์‹œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ BLAKE3์˜ ๊ฒฐ๊ณผ ํ•ด์‹œ ํฌ๊ธฐ๋Š” 32๋ฐ”์ดํŠธ(256๋น„ํŠธ)์ด์ง€๋งŒ ์ž„์˜์˜ ๊ฐ’์œผ๋กœ ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 16KB ํŒŒ์ผ์— ๋Œ€ํ•œ ํ•ด์‹œ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ BLAKE3์€ SHA3-256๋ณด๋‹ค 15๋ฐฐ, SHA-256์€ 12๋ฐฐ, SHA-512๋Š” 8๋ฐฐ, SHA-1์€ 6๋ฐฐ, BLAKE2b๋Š” 4๋ฐฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ƒ๋‹นํ•œ ๊ฒฉ์ฐจ๊ฐ€ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด BLAKE3์€ ะฑั‹ัั‚ั€ะตะต 256GB์˜ ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ SHA-8์„ 1๋ฐฐ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

SHA-3๋ณด๋‹ค 10๋ฐฐ ๋น ๋ฅธ BLAKE2 ์•”ํ˜ธํ™” ํ•ด์‹œ ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ ๋ช…ํ•œ ์•”ํ˜ธํ™” ์ „๋ฌธ๊ฐ€(์žญ ์˜ค์ฝ”๋„ˆ, ์žฅ ํ•„๋ฆฝ ์˜ค๋งˆ์†ก, ์‚ฌ๋ฌด์—˜ ๋„ค๋ฒ ์Šค, ์ฃผ์ฝ” ์œŒ์ฝ•์Šค-์˜คํ—Œ) ๊ณ„์†ํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ ˆ์ดํฌ 2 ๋ธ”๋ก์ฒด์ธ ํŠธ๋ฆฌ๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”์˜ค. BLAKE2(BLAKE2b, BLAKE2s)์™€ ๋‹ฌ๋ฆฌ BLAKE3์€ ๋น„ํŠธ ์‹ฌ๋„ ๋ฐ ํ•ด์‹œ ํฌ๊ธฐ์— ์–ฝ๋งค์ด์ง€ ์•Š๊ณ  ๋ชจ๋“  ํ”Œ๋žซํผ์— ๋Œ€ํ•ด ๋‹จ์ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ผ์šด๋“œ ์ˆ˜๋ฅผ 10์—์„œ 7๋กœ ์ค„์ด๊ณ  ๋ธ”๋ก์„ 1KB ์กฐ๊ฐ์œผ๋กœ ๊ฐœ๋ณ„์ ์œผ๋กœ ํ•ด์‹ฑํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ์ž‘์ž์— ๋”ฐ๋ฅด๋ฉด ์„ค๋“๋ ฅ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ๊ฑฐ, ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ 7๋ผ์šด๋“œ ๋Œ€์‹  10๋ผ์šด๋“œ๋กœ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด ๋ฏน์„œ์—์„œ ๊ณผ์ผ์„ ํ˜ผํ•ฉํ•˜๋Š” ์˜ˆ๋ฅผ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 7์ดˆ ํ›„์— ๊ณผ์ผ์€ ์ด๋ฏธ ์™„์ „ํžˆ ํ˜ผํ•ฉ๋˜์—ˆ์œผ๋ฉฐ ์ถ”๊ฐ€๋กœ 3์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด ํ˜ผํ•ฉ๋ฌผ์˜ ์ผ๊ด€์„ฑ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ์—ฐ๊ตฌ์ž๋“ค์€ ํ˜„์žฌ 7๋ผ์šด๋“œ๊ฐ€ ํ•ด์‹œ์— ๋Œ€ํ•ด ์•Œ๋ ค์ง„ ๋ชจ๋“  ๊ณต๊ฒฉ์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํ•˜๋”๋ผ๋„ ํ–ฅํ›„ ์ƒˆ๋กœ์šด ๊ณต๊ฒฉ์ด ์‹๋ณ„๋˜๋ฉด ์ถ”๊ฐ€ 3๋ผ์šด๋“œ๊ฐ€ ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์œผ๋ฉฐ ์˜๊ตฌ์‹ฌ์„ ํ‘œ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ BLAKE3์—์„œ๋Š” ์ŠคํŠธ๋ฆผ์„ 1KB ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ ์กฐ๊ฐ์€ ๋…๋ฆฝ์ ์œผ๋กœ ํ•ด์‹ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฒ ์ด์Šค์— ์žˆ๋Š” ์กฐ๊ฐ์˜ ํ•ด์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ง„ ๋จธํด ํŠธ๋ฆฌ ํ•˜๋‚˜์˜ ํฐ ํ•ด์‹œ๊ฐ€ ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ถ„ํ• ์„ ํ†ตํ•ด ํ•ด์‹œ ๊ณ„์‚ฐ ์‹œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ณ‘๋ ฌํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 4์Šค๋ ˆ๋“œ SIMD ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 4๊ฐœ ๋ธ”๋ก์˜ ํ•ด์‹œ๋ฅผ ๋™์‹œ์— ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด SHA-* ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

BLAKE3์˜ ํŠน์ง•:

  • ๊ณ ์„ฑ๋Šฅ;
  • ์ €ํ•ญ์„ ํฌํ•จํ•œ ์•ˆ์ „ ๋ฉ”์‹œ์ง€ ์—ฐ์žฅ ๊ณต๊ฒฉ, SHA-2๊ฐ€ ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.
  • ์Šค๋ ˆ๋“œ ์ˆ˜์™€ SIMD ์ฑ„๋„ ์ˆ˜์— ๊ด€๊ณ„์—†์ด ๊ณ„์‚ฐ ๋ณ‘๋ ฌํ™”๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ŠคํŠธ๋ฆผ์˜ ์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ ๋ฐ ๊ฒ€์ฆ๋œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ์„ฑ
  • PRF, MAC, KDF, XOF ๋ชจ๋“œ ๋ฐ ์ผ๋ฐ˜ ํ•ด์‹œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • x86-64 ์‹œ์Šคํ…œ๊ณผ 32๋น„ํŠธ ARM ํ”„๋กœ์„ธ์„œ ๋ชจ๋‘์—์„œ ๋น ๋ฅธ ๋ชจ๋“  ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ„ํ•œ ๋‹จ์ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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