Dispoñible a función hash criptográfica BLAKE3, que é 10 veces máis rápida que SHA-2

Publicouse a implementación final do algoritmo BLAKE 3, que ofrece unha función hash criptográfica deseñada para aplicacións como a comprobación da integridade do ficheiro, a autenticación de mensaxes e a xeración de datos para sinaturas dixitais. BLAKE3 non está pensado para hash contrasinais (para contrasinais é necesario usar yescrypt, bcrypt, scrypt ou Argon2), xa que está destinado a calcular hash o máis rápido posible coa garantía de non colisións, protección contra atopar o prototipo e non sensible ao tamaño dos datos hash. Implementación de referencia de BLAKE3 publicado Licenza dual baixo dominio público (CC0) e Apache 2.0.

A diferenza fundamental da nova función hash é o alto rendemento dos cálculos hash mantendo a fiabilidade no nivel SHA-3. Por defecto, o tamaño hash resultante en BLAKE3 é de 32 bytes (256 bits), pero pódese ampliar a valores arbitrarios. Nunha proba de xeración de hash para un ficheiro de 16 KB, BLAKE3 supera SHA3-256 en 15 veces, SHA-256 en 12 veces, SHA-512 en 8 veces, SHA-1 en 6 veces e BLAKE2b en 4 veces. Persiste unha brecha significativa cando se procesan cantidades moi grandes de datos, por exemplo, BLAKE3 resultou ser aburrido SHA-256 en 8 veces ao calcular hash para 1 GB de datos aleatorios.

Dispoñible a función hash criptográfica BLAKE3, que é 10 veces máis rápida que SHA-2

O algoritmo foi desenvolvido por famosos expertos en criptografía (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) e continúa desenvolvendo o algoritmo BLAKE 2 e utiliza un mecanismo para codificar a árbore da cadea de bloques Bao. A diferenza de BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ofrece un único algoritmo para todas as plataformas, non ligado á profundidade de bits e ao tamaño hash.

Conseguiuse un maior rendemento reducindo o número de roldas de 10 a 7 e dividindo por separado os bloques en pezas de 1 KB. Segundo os creadores, atoparon un convincente proba, que podes superar con 7 roldas en lugar de 10 mantendo o mesmo nivel de fiabilidade (para máis claridade, podes poñer un exemplo coa mestura de froitas nunha batidora: despois de 7 segundos, as froitas xa están completamente mesturadas e 3 segundos adicionais). non afecta a consistencia da mestura). Non obstante, algúns investigadores expresan dúbidas, crendo que aínda que actualmente 7 roldas sexan suficientes para soportar todos os ataques coñecidos contra hash, entón 3 roldas adicionais poden ser útiles se se identifican novos ataques no futuro.

En canto á división en bloques, en BLAKE3 o fluxo divídese en pezas de 1 KB e cada peza ten un hash independentemente. Baseado en hash das pezas na base árbore de merkle binario fórmase un gran hash. Esta división permítenos resolver o problema de paralelizar o procesamento de datos ao calcular un hash; por exemplo, pode usar instrucións SIMD de 4 fíos para calcular simultáneamente os hash de 4 bloques. As funcións hash tradicionais SHA-* procesan datos secuencialmente.

Características de BLAKE3:

  • Alto rendemento;
  • Seguridade, incluída a resistencia ataque de elongación da mensaxe, ao que SHA-2 é susceptible;
  • Garantir a paralelización dos cálculos en calquera número de fíos e canles SIMD;
  • Posibilidade de actualización incremental e procesamento verificado de fluxos;
  • Úsase nos modos PRF, MAC, KDF, XOF e como hash normal;
  • Un único algoritmo para todas as arquitecturas, rápido tanto en sistemas x86-64 como en procesadores ARM de 32 bits.

Fonte: opennet.ru

Engadir un comentario