S'ha publicat la implementació final de l'algorisme , que ofereix una funció hash criptogràfica dissenyada per a aplicacions com la comprovació de la integritat dels fitxers, l'autenticació de missatges i la generació de dades per a signatures digitals. BLAKE3 no està pensat per hash contrasenyes (per a contrasenyes cal utilitzar yescrypt, bcrypt, scrypt o Argon2), ja que té com a objectiu calcular hash el més ràpid possible amb la garantia de no col·lisions, protecció contra i no és sensible a la mida de les dades hash. Implementació de referència de BLAKE3 Llicència dual sota domini públic (CC0) i Apache 2.0.
La diferència clau de la nova funció hash és el rendiment molt alt dels càlculs hash mantenint la fiabilitat al nivell SHA-3. Per defecte, la mida hash resultant a BLAKE3 és de 32 bytes (256 bits), però es pot ampliar a valors arbitraris. En una prova de generació hash per a un fitxer de 16 KB, BLAKE3 supera SHA3-256 en 15 vegades, SHA-256 en 12 vegades, SHA-512 en 8 vegades, SHA-1 en 6 vegades i BLAKE2b en 4 vegades. Hi ha un buit important quan es processen quantitats molt grans de dades, per exemple, BLAKE3 va resultar ser SHA-256 per 8 vegades quan es calcula hash per a 1 GB de dades aleatòries.
L'algorisme va ser desenvolupat per famosos experts en criptografia (, , , ) i continua desenvolupant l'algorisme i utilitza un mecanisme per codificar l'arbre de cadena de blocs . A diferència de BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ofereix un únic algorisme per a totes les plataformes, no lligat a la profunditat de bits i la mida del hash.
Es va aconseguir un augment del rendiment reduint el nombre de rondes de 10 a 7 i dividint blocs per separat en peces d'1 KB. Segons els creadors, van trobar un convincent , que podeu sortir amb 7 rondes en lloc de 10 mantenint el mateix nivell de fiabilitat (per a més claredat, podeu posar un exemple amb la barreja de fruites en una batedora: després de 7 segons, les fruites ja estan completament barrejades i 3 segons addicionals). no afecta la consistència de la mescla). No obstant això, alguns investigadors expressen dubtes, ja que creuen que encara que actualment 7 rondes són suficients per suportar tots els atacs coneguts a hash, llavors 3 rondes addicionals poden ser útils si s'identifiquen nous atacs en el futur.
Pel que fa a la divisió en blocs, a BLAKE3 el flux es divideix en peces d'1 KB i cada peça té un resum independent. Basat en hash de les peces a la base es forma un gran hash. Aquesta divisió ens permet resoldre el problema de la paral·lelització del processament de dades quan es calcula un hash; per exemple, podeu utilitzar instruccions SIMD de 4 fils per calcular simultàniament els hash de 4 blocs. Les funcions hash tradicionals SHA-* processen les dades de manera seqüencial.
Característiques de BLAKE3:
- Gran actuació;
- Seguretat, inclosa la resistència a , al qual SHA-2 és susceptible;
- Garantir la paral·lelització dels càlculs en qualsevol nombre de fils i canals SIMD;
- Possibilitat d'actualització incremental i processament verificat de fluxos;
- Ús en els modes PRF, MAC, KDF, XOF i com a hash normal;
- Un únic algorisme per a totes les arquitectures, ràpid tant en sistemes x86-64 com en processadors ARM de 32 bits.
Font: opennet.ru
