ืืืฉืื ืืืืืก ืฉื ืคืื ืงืฆืืืช ืืืืืื ืืืฆืคื ื BLAKE3 1.0 ืฉืืืจืจ, ืืืื ืืืืฆืืขื ืืืฉืื ืืืืืื ืืืืืืื ืืืื ืฉืื ืชืื ืืืืืช ืืืื ืืช ืืจืืช SHA-3. ืืืืื ืืฆืืจืช ื-hash ืขืืืจ ืงืืืฅ ืฉื 16 KB, BLAKE3 ืขื ืืคืชื ืฉื 256 ืกืืืืืช ืขืืื ืขื SHA3-256 ืคื 17, SHA-256 ืคื 14, SHA-512 ืคื 9, SHA-1 ืคื 6, ื-BLAKE2b - 5 ืคืขืืื. ื ืืชืจ ืคืขืจ ืืฉืืขืืชื ืืขืช ืขืืืื ืืืืืืช ืืืืืืช ืืืื ืฉื ื ืชืื ืื, ืืืฉื, ืืชืืจืจ ืื BLAKE3 ืืืืจ ืคื 256 ื-SHA-8 ืืขืช ืืืฉืื hash ืขืืืจ 1GB ืฉื ื ืชืื ืื ืืงืจืืืื. ืงืื ืืืืฉืื ืฉื BLAKE3 ืืืื ืืืจืกืืืช C ื-Rust ืชืืช ืจืืฉืืื ืืืืืื ืฆืืืืจื (CC0) ื-Apache 2.0.
ืคืื ืงืฆืืืช ื-hash ืืืืขืืช ืืืืฉืืืื ืืืื ืืืืงืช ืชืงืื ืืช ืืงืืฆืื, ืืืืืช ืืืืขืืช ืืืคืงืช ื ืชืื ืื ืขืืืจ ืืชืืืืช ืืืืืืืืืช ืงืจืืคืืืืจืคืืืช. BLAKE3 ืืื ื ืืืืขื ืืืืืื ืกืืกืืืืช, ืฉืื ืืื ืฉืืืฃ ืืืฉื ืืืืื ืืืืืจืืช ืืืคืฉืจืืช (ืขืืืจ ืกืืกืืืืช, ืืืืืฅ ืืืฉืชืืฉ ืืคืื ืงืฆืืืช ืืืืืื ืืืืืืืช yescrypt, bcrypt, scrypt ืื Argon2). ืคืื ืงืฆืืืช ืืืืืื ืื ืืื ืช ืืื ื ืจืืืฉื ืืืืื ืื ืชืื ืื ืืืืืืืื ืืืืื ืช ืืคื ื ืืชืงืคืืช ืขื ืืืืจืช ืืชื ืืฉืืช ืืืืชืืจ ืงืื-ืชืืื ื.
ืืืืืืจืืชื ืคืืชื ืขื ืืื ืืืืื ืงืจืืคืืืืจืคืื ืืืืขืื (ื'ืง ืืืงืื ืืจ, ื'ืื-ืคืืืืค ืืืืกืื, ืกืืืื ื ืืก, Zooko Wilcox-O'Hearn) ืืืืฉืื ืืคืืชืื ืืืืืืจืืชื BLAKE2 ืืืฉืชืืฉ ืืื ืื ืื Bao ืืื ืืงืืื ืืช ืขืฅ ืฉืจืฉืจืช ืืืืืง. . ืื ืืืื ื-BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ืืฆืืข ืืืืืจืืชื ืืืื ืืื ืืคืืืคืืจืืืช, ืื ืงืฉืืจ ืืขืืืง ืืกืืืืืช ืืืืืื ื-hash.
ืืืฆืืขืื ืืืืืจืื ืืืฉืื ืขื ืืื ืืคืืชืช ืืกืคืจ ืืกืืืืืื ื-10 ื-7 ืืืืฉืืฃ ืืืืงืื ืื ืคืจื ืืืืงืื ืฉื 1 KB. ืืืืจื ืืืืฆืจืื, ืื ืืฆืื ืืืืื ืืชืืืืช ืืฉืื ืขืช ืฉืืคืฉืจ ืืืกืชืืจ ืขื 7 ืกืืืื ืืืงืื 10 ืชืื ืฉืืืจื ืขื ืืืชื ืจืืช ืืืื ืืช (ืืฆืืจื ืืืืืจืืช ื ืืชื ืืชืช ืืืืื ืขื ืขืจืืื ืคืืจืืช ืืืืงืกืจ - ืืืืจ 7 ืฉื ืืืช ืืคืจื ืืืจ ืืขืืจืื ืืืืืืื, ื-3 ืฉื ืืืช ื ืืกืคืืช ืื ืืฉืคืืขื ืขื ืขืงืืืืช ืืชืขืจืืืช). ืขื ืืืช, ืืืง ืืืืืงืจืื ืืืืขืื ืกืคืงืืช, ืืืืืื ืื ืฉืื ืื 7 ืกืืืื ืืกืคืืงืื ืืจืืข ืืื ืืืชืืืื ืขื ืื ืืืชืงืคืืช ืืืืืขืืช ืขื hashes, ืื 3 ืกืืืื ื ืืกืคืื ืขืฉืืืื ืืืืืช ืฉืืืืฉืืื ืื ืืืืื ืืชืงืคืืช ืืืฉืืช ืืขืชืื.
ืืืื ืืืืงื ืืืืืงืื, ื-BLAKE3 ืืืจื ืืืืืง ืืืชืืืืช ืฉื 1 KB ืืื ืืืง ืขืืืจ ืืืืื ืืืืคื ืขืฆืืื. ืืืชืืกืก ืขื ืืืืืืืื ืฉื ืืืืงืื, ื ืืฆืจ ืืฉืืฉ ืืื ืืืื ืืืืืกืก ืขื ืขืฅ ืืจืงื ืืืื ืืจื. ืืืืงื ืื ืืืคืฉืจืช ืื ื ืืคืชืืจ ืืช ืืขืืืช ืขืืืื ืื ืชืื ืื ืืงืืืืื ืืขืช ืืืฉืื ืืืืืืื - ืืืืืื, ื ืืชื ืืืฉืชืืฉ ืืืืจืืืช SIMD ืขื 4 ืืืืื ืืื ืืืฉื ืื-ืืื ืืช ืืืืื ืฉื 4 ืืืืงืื. ืคืื ืงืฆืืืช Hash ืืกืืจืชืืืช ืฉื SHA-* ืืขืืืืช ื ืชืื ืื ืืจืฆืฃ.
ืชืืื ืืช ืฉื BLAKE3:
- ืืืฆืืขืื ืืืืืื, BLAKE3 ืืืืจ ืืฉืืขืืชืืช ื-MD5, SHA-1, SHA-2, SHA-3 ื-BLAKE2.
- ืืืืื, ืืืื ืืชื ืืืืช ืืืชืงืคืืช ืืชืืจืืืช ืืืืขืืช ืฉ-SHA-2 ืจืืืฉ ืืื;
- ืืืื ืืืืืื, ืืืชืื ืืืืจืืืช SSE2, SSE4.1, AVX2, AVX-512 ื-NEON.
- ืืืืืช ืืงืืื ืฉื ืืืฉืืืื ืืื ืืกืคืจ ืฉื ืืืืื ืืขืจืืฆื SIMD.
- ืืคืฉืจืืช ืืขืืืื ืืฆืืืจ ืืขืืืื ืืืืืช ืฉื ืืจืืื;
- ืืฉืชืืฉ ืืืฆืื PRF, MAC, KDF, XOF ืื-hash ืจืืื;
- ืืืืืจืืชื ืืืื ืืื ืืืจืืืืงืืืจืืช, ืืืืจ ืื ืืืขืจืืืช x86-64 ืืื ืืืขืืื ARM ืฉื 32 ืกืืืืืช.
ืืืืืืื ืืขืืงืจืืื ืืื BLAKE3 ื-BLAKE2:
- ืฉืืืืฉ ืืืื ื ืขืฅ ืืื ืืจื ืืืืคืฉืจ ืืงืืืืืืช ืืืชื ืืืืืืช ืืืืฉืืื ืืืืื.
- ืฆืืฆืื ืืกืคืจ ืืกืืืืืื ื-10 ื-7.
- ืฉืืืฉื ืืฆืื ืคืขืืื: hashing, hashing ืขื ืืคืชื (HMAC) ืืืฆืืจืช ืืคืชื (KDF).
- ืืื ืชืงืืจื ื ืืกืคืช ืืขืช hashing ืขื ืืคืชื ืขืงื ืืฉืืืืฉ ืืฉืื ืฉื ืืืฉ ืืขืืจ ืขื ืืื ืืืืง ืคืจืืืจื ืืืคืชื.
- ืื ืื ืื ืืคืขืื ืืืื ื ืืฆืืจืช ืคืื ืงืฆืื ืขื ืชืืฆืื ืืืจืืืช (XOF, Extendable Output Function), ืืืืคืฉืจ ืืงืืื ืืืืงืื (seek).
ืืงืืจ: OpenNet.ru