La función hash criptográfica BLAKE3 está disponible, siendo 10 veces más rápida que SHA-2.

Se ha publicado la implementación final del algoritmo BLAKE3, que ofrece una función hash criptográfica diseñada para aplicaciones como la verificación de integridad de archivos, la autenticación de mensajes y la generación de datos para firmas digitales. BLAKE3 no está destinada a la hash de contraseñas (para contraseñas se deben usar yescrypt, bcrypt, scrypt o Argon2), ya que está enfocada en el cálculo de hashes lo más rápido posible garantizando la ausencia de colisiones, protegiendo contra la recuperación de preimagen y no es sensible al tamaño de los datos a hashear. La implementación de referencia de BLAKE3 el año pasado se encuentra bajo licencia dual — dominio público (CC0) y Apache 2.0.

La característica clave de la nueva función hash es su altísima velocidad de cálculo del hash mientras mantiene una fiabilidad al nivel de SHA-3. Por defecto, el tamaño del hash resultante en BLAKE3 es de 32 bytes (256 bits), pero puede ser extendido a valores arbitrarios. En una prueba de generación de hash para un archivo de 16 KB, BLAKE3 supera a SHA3-256 por 15 veces, a SHA-256 por 12 veces, a SHA-512 por 8 veces, a SHA-1 por 6 veces y a BLAKE2b por 4 veces. La diferencia significativa se mantiene incluso al procesar volúmenes de datos muy grandes; por ejemplo, BLAKE3 resultó ser son más rápidos 8 veces más rápido que SHA-256 al calcular el hash para 1 GB de datos aleatorios.

La función hash criptográfica BLAKE3 está disponible, siendo 10 veces más rápida que SHA-2.

El algoritmo fue desarrollado por conocidos expertos en criptografía (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) y continúa el desarrollo del algoritmo BLAKE2 y aplica un mecanismo de codificación de árbol de cadenas de bloques Bao. A diferencia de BLAKE2 (BLAKE2b, BLAKE2s), en BLAKE3 se ofrece un único algoritmo para todas las plataformas, sin estar atado a la arquitectura y el tamaño del hash.

Se logró un aumento en el rendimiento al reducir el número de rondas de 10 a 7 y al hash de bloques en partes de 1 KB. Según los creadores, encontraron una convincente prueba, que se puede utilizar 7 rondas en lugar de 10 manteniendo el mismo nivel de fiabilidad (para ilustrar, se puede dar el ejemplo de mezclar frutas en una licuadora: después de 7 segundos, las frutas ya están completamente mezcladas y 3 segundos adicionales no afectarán la consistencia de la mezcla). Sin embargo, algunos investigadores expresan dudas, considerando que aunque actualmente 7 rondas son suficientes para contrarrestar todos los ataques conocidos a los hash, las 3 rondas adicionales podrían resultar útiles en caso de que se descubran nuevos ataques en el futuro.

En cuanto a la división en bloques, en BLAKE3 el flujo se divide en trozos de 1 Kb y cada trozo se hashifica independientemente. Basado en los hashes de los trozos en la base del árbol binario de Merkle se forma un gran hash. Esta división permite resolver el problema de paralelización del procesamiento de datos al calcular el hash: por ejemplo, se pueden utilizar instrucciones SIMD de 4 hilos para calcular simultáneamente los hashes de 4 bloques. Las funciones hash tradicionales SHA-* procesan los datos de forma secuencial.

Características de BLAKE3:

  • Alto rendimiento;
  • Seguridad, incluyendo resistencia a ataques de extensión de mensaje, que afectan a SHA-2;
  • Garantía de paralelización de cálculos en cualquier número de hilos y canales SIMD;
  • Posibilidad de actualización incremental y procesamiento verificado de flujos;
  • Aplicación en modos PRF, MAC, KDF, XOF y como hash normal;
  • Un único algoritmo para todas las arquitecturas, rápido tanto en sistemas x86-64 como en procesadores ARM de 32 bits.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster