BLAKE3 1.0 standard implementation has been released, notable for its very high hash computation performance while ensuring reliability at the level of SHA-3. In a hash generation test for a 16 KB file, BLAKE3 with a 256-bit key outperforms SHA3-256 by 17 times, SHA-256 by 14 times, SHA-512 by 9 times, SHA-1 by 6 times, and BLAKE2b by 5 times. A significant lead is maintained even when processing very large volumes of data; for instance, BLAKE3 proved to be 8 times faster than SHA-256 when computing a hash for 1GB of random data. The reference implementation code of BLAKE3 is available in C and Rust under a dual license â public domain (CC0) and Apache 2.0.

The hash function is designed for applications such as file integrity checking, message authentication, and generating data for cryptographic digital signatures. BLAKE3 is not intended for password hashing, as it aims for the fastest possible hash computation (for passwords, slow hash functions like yescrypt, bcrypt, scrypt, or Argon2 are recommended). The hash function in question is insensitive to the size of the hashed data and is resistant to collision attacks and pre-image finding.
The algorithm was developed by well-known cryptography experts (Jack OâConnor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-OâHearn) and continues the development of the BLAKE2 algorithm, applying the Bao mechanism for encoding the chain block tree. Unlike BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 offers a unified algorithm for all platforms, independent of bitness and hash size.
Keepsaising jĂ”udluse paranemisel saavutati tĂ€nu ringide arvu vĂ€hendamisele 10-lt 7-le ja plokkide osade kaupa hajutamisse 1 KB suurustes tĂŒkikestes. Loome autorite sĂ”nul leiti usaldusvÀÀrne matemaatiline tĂ”endus, et 7 ringiga saab saavutada sama kindluse taseme (nĂ€iteks vĂ”ib tuua vilja segamise mikseris â 7 sekundi pĂ€rast on viljad juba tĂ€ielikult segunenud ja lisakolm sekundit ei mĂ”juta segu konsistentsi). Siiski vĂ€ljendavad mĂ”ned teadlased kahtlusi, arvates, et isegi kui praegu on 7 ringi piisav, et vastanduda kĂ”igile teadaolevatele hajutamisrĂŒnnakutele, vĂ”ivad tĂ€iendavad 3 ringi tulevikus uutest rĂŒnnakutest avastamisel osutuda kasulikuks.
Mis puutub plokkide jagamisse, siis BLAKE3 voog jaguneb 1 KB suurusteks tĂŒkkideks ning iga tĂŒkki hajutatakse sĂ”ltumatult. TĂŒkkide hajude pĂ”hjal moodustatakse binaarse Merkle'i puu alusel ĂŒks suur hajus. Antud jagamine lahendab andmete kĂ€itlemise paralleelset töötlemise probleemi hajumise arvutamisel â nĂ€iteks saab kasutada nelja lĂ”ime SIMD-kĂ€ske, et samal ajal arvutada 4 ploki hajusid. Traditsioonilised hajufunktsioonid SHA-* töötlevad andmeid jĂ€rjestikku.
BLAKE3 omadused:
- KÔrge jÔudlus, BLAKE3 on oluliselt kiirem kui MD5, SHA-1, SHA-2, SHA-3 ja BLAKE2.
- Turvalisus, sealhulgas vastupidavus sĂ”numi pikendamise rĂŒnnaku suhtes, milles SHA-2 on haavatav;
- Ainult Rusti keeles saadaval variandid, mis on optimeeritud SSE2, SSE4.1, AVX2, AVX-512 ja NEON kÀsu kasutamiseks.
- Arvutuste paralleelne teostamine igasuguste lÔimede ja SIMD-kanalite arvu kohta.
- VÔimalus inkrementaalseks uuendamiseks ja kinnitatud voogude töötlemiseks;
- Kasutamine PRF, MAC, KDF, XOF reĆŸiimides ja tavalise hajuna;
- Ăks lahendus kĂ”igile arhitektuuridele, kiire nii x86-64 sĂŒsteemides kui ka 32-bitistes ARM-protsessorites.
BLAKE3 peamised erinevused BLAKE2-st:
- Binaarse puu andmestruktuuri kasutamine, mis vÔimaldab piiramatut paralleelsust hajumise arvutamisel.
- Ringide arvu vÀhendamine 10-lt 7-le.
- Kolm tööreĆŸiimi: hajutamine, vĂ”tmega hajutamine (HMAC) ja vĂ”tme genereerimine (KDF).
- VÔtmega hajutamise lisakulude puudumine, kuna kasutatakse varem vÔtmeparameetri ploki hÔivatud ala.
- Sisseehitatud mehhanism, mis töötab tahenduskÀsku (XOF, Extendable Output Function) kujul, vÔimaldades paralleelsust ja positsioneerimist.
Allikas: opennet.ru
