ืฉื—ืจื•ืจ ื™ื™ืฉื•ื ื”ื”ืชื™ื™ื—ืกื•ืช ืฉืœ ืคื•ื ืงืฆื™ื™ืช ื”ื’ื™ื‘ื•ื‘ ื”ื”ืฆืคื ื” BLAKE3 1.0

ื™ื™ืฉื•ื ื™ื™ื—ื•ืก ืฉืœ ืคื•ื ืงืฆื™ื™ืช ื”ื’ื™ื‘ื•ื‘ ื”ื”ืฆืคื ื” 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.

ืฉื—ืจื•ืจ ื™ื™ืฉื•ื ื”ื”ืชื™ื™ื—ืกื•ืช ืฉืœ ืคื•ื ืงืฆื™ื™ืช ื”ื’ื™ื‘ื•ื‘ ื”ื”ืฆืคื ื” BLAKE3 1.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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”