¿Qué es BLAKE3?
BLAKE3 es una función hash criptográfica que ha revolucionado el mundo de la seguridad digital. Creada por un equipo de expertos en criptografía, esta función ofrece un rendimiento sin precedentes, combinando velocidad y seguridad. En este artículo, exploraremos en detalle qué es BLAKE3, cómo funciona y por qué es tan importante en el panorama actual de la tecnología criptográfica.
Origen y desarrollo de BLAKE3
BLAKE3 es el resultado de un esfuerzo conjunto de Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves y Zooko Wilcox-O’Hearn. Se anunció oficialmente el 9 de enero de 2020 en la conferencia Real World Crypto, un evento que reúne a expertos en criptografía para discutir las últimas innovaciones en el campo.
La función BLAKE3 es una evolución de BLAKE2, que a su vez es una versión mejorada de BLAKE, el algoritmo original que inicio esta familia de hashes. Sin embargo, a diferencia de sus predecesores, que son algoritmos con múltiples variantes, BLAKE3 es un algoritmo único con una serie de características avanzadas.
Estas características incluyen paralelismo, la capacidad de funcionar como una función de salida extensible (XOF), una función de derivación de claves (KDF, esencial para mejorar la base de seguridad del algoritmo), una función pseudoaleatoria (PRF) y un código de autenticación de mensaje (MAC, que permite asegurar la autenticidad de los mensajes).
Características principales de BLAKE3
Pero más allá de todos estos avances, BLAKE3 ofrece algunos avances interesantes como lo son:
Paralelismo y Rendimiento
Uno de los aspectos más destacados de BLAKE3 es su capacidad para aprovechar el paralelismo. La función utiliza una estructura de árbol binario, lo que permite un grado prácticamente ilimitado de paralelismo, tanto a nivel de SIMD (Single Instruction, Multiple Data) como de multihilo. Esto significa que BLAKE3 puede procesar grandes cantidades de datos de manera simultánea, lo que resulta en un rendimiento significativamente superior a otros algoritmos hash.
De hecho, las implementaciones oficiales de BLAKE3 en lenguajes como Rust y C/C++ están licenciadas dualmente como dominio público (CC0) y bajo la licencia Apache. Esto facilita su adopción en una amplia gama de aplicaciones, desde software de código abierto hasta soluciones empresariales.
Velocidad y Eficiencia
BLAKE3 está diseñado para ser lo más rápido posible. En pruebas realizadas en un procesador Intel Cascade Lake-SP, BLAKE3 demostró ser aproximadamente cinco veces más rápido que BLAKE2 y quince veces más rápido que SHA3-256. Estos resultados son impresionantes y reflejan el enfoque innovador de los desarrolladores de BLAKE3 en la optimización del rendimiento.
La función de compresión de BLAKE3 se basa en la de BLAKE2, pero con una reducción en el número de rondas de 10 a 7. Esta reducción se basa en la premisa de que la criptografía actual es demasiado conservadora y que se pueden lograr ahorros significativos en rendimiento sin comprometer la seguridad.
De hecho, el equipo de desarrollo ha hecho pública una prueba de velocidad ejecutada sobre Amazon Web Services (AWS), donde deja muy en claro la superioridad de BLAKE3:
Seguridad y Robustez
A pesar de su enfoque en la velocidad, BLAKE3 no sacrifica la seguridad. Los desarrolladores afirman que BLAKE3 es 128-bit seguro para todos sus objetivos de seguridad, incluyendo ataques de preimagen, colisión y diferenciabilidad. Esto significa que BLAKE3 es tan seguro como SHA3-256 y otros algoritmos hash que también tienen un nivel de seguridad de 128 bits.
Sin embargo, el uso de solo siete rondas en lugar de las diez de BLAKE2 ha generado ciertas preocupaciones en la comunidad criptográfica. Algunos expertos argumentan que esta reducción podría hacer a BLAKE3 más vulnerable a ataques futuros que aún no se han considerado en el análisis criptográfico actual. No obstante, los desarrolladores de BLAKE3 han publicado un extenso análisis de seguridad que respalda sus afirmaciones de robustez.
Casos de uso en la industria
BLAKE3 ya está siendo adoptado en diversas aplicaciones industriales. Por ejemplo, el kernel de Linux (a partir de la versión 5.17) utiliza BLAKE2 en su generador de números pseudoaleatorios criptográficos. Además, el protocolo WireGuard (un protocolo de red privada virtual o VPN), conocido por su seguridad y rendimiento, utiliza BLAKE2 para hashing y hashing con clave.
Por otro lado, empresas como Dropbox (almacenamiento en la nube centralizado) y Syncthing (almacenamiento y compartición de datos usando redes P2P) usan BLAKE3 con el fin de crear hashes que le permitan identificar los documentos dentro de su almacén de datos, a la vez que permite crear archivos deltas, con el fin de mejorar la velocidad de sincronización y reducir el ancho de banda usado.
Otro uso de BLAKE3 lo podemos ver en sistemas de archivos como ZFS (desde OpenZFS 2.2) o BTRFS (desde kernel 5.17), los cuales usan BLAKE3 para mejorar la integridad y la seguridad de los datos, a la vez que se mejora el rendimiento de estos sistemas debido a que BLAKE3 es mucho más rápido que otras opciones ya existentes.
En el caso del mundo blockchain, redes como Zcash, Cardano y Solana hacen un uso activo de BLAKE3 para distintas tareas. Desde la generación de hashes para la verificación e identificación de transacciones, pasando por el uso de identificación en contratos inteligentes y también a nivel de la seguridad de los nodos que mantienen dichas redes.
Conclusión
BLAKE3 es una función hash criptográfica que representa un salto significativo en términos de rendimiento y eficiencia. Su diseño innovador, combinado con una sólida base de seguridad, lo convierte en una opción atractiva para una amplia gama de aplicaciones, desde tecnologías blockchain hasta generación de números pseudoaleatorios. A medida que la adopción de BLAKE3 continúa creciendo, es probable que veamos más innovaciones y mejoras en el campo de la criptografía y la seguridad digital.
En resumen, BLAKE3 es una función hash que no solo es rápida y segura, sino que también ofrece una serie de características avanzadas que la hacen una opción versátil y confiable para los desarrolladores y profesionales de la seguridad.