La funció hash criptogràfica BLAKE3 està disponible, que és 10 vegades més ràpida que SHA-2

S'ha publicat la implementació final de l'algorisme BLAKE3, 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 trobar el prototip i no és sensible a la mida de les dades hash. Implementació de referència de BLAKE3 publicat 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 més ràpid SHA-256 per 8 vegades quan es calcula hash per a 1 GB de dades aleatòries.

La funció hash criptogràfica BLAKE3 està disponible, que és 10 vegades més ràpida que SHA-2

L'algorisme va ser desenvolupat per famosos experts en criptografia (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) i continua desenvolupant l'algorisme BLAKE2 i utilitza un mecanisme per codificar l'arbre de cadena de blocs Bao. 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 proves, 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 arbre merkle binari 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 atac d'allargament del missatge, 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

Afegeix comentari