์๊ณ ๋ฆฌ์ฆ์ ์ต์ข
๊ตฌํ์ด ๊ฒ์๋์์ต๋๋ค. ๋ธ๋ ์ดํฌ 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๋ฐฐ ๋๋ฆฝ๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ ๋ช
ํ ์ํธํ ์ ๋ฌธ๊ฐ(์ญ ์ค์ฝ๋, ์ฅ ํ๋ฆฝ ์ค๋ง์ก, ์ฌ๋ฌด์ ๋ค๋ฒ ์ค, ์ฃผ์ฝ ์์ฝ์ค-์คํ) ๊ณ์ํด์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ๋ธ๋ ์ดํฌ 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