Tablas que comparan información general y técnica para hashes comunes
Las siguientes tablas comparan información general y técnica de varias funciones hash criptográficas. Consulte los artículos de cada función para obtener más información. Este artículo no es exhaustivo ni necesariamente actualizado. Puede encontrar una descripción general de la seguridad de las funciones hash/ criptoanálisis en el resumen de seguridad de las funciones hash .
información general
Información general básica sobre las funciones hash criptográficas : año, diseñador, referencias, etc.
Parámetros
Notas
- ^ El estado interno aquí significa la "suma hash interna" después de cada compresión de un bloque de datos. La mayoría de los algoritmos hash también utilizan internamente algunas variables adicionales, como la longitud de los datos comprimidos hasta el momento, ya que es necesaria para el relleno de longitud al final. Consulte la construcción de Merkle–Damgård para obtener más detalles.
- ^ El tamaño del contador de longitud de mensajes de BLAKE2b es de 128 bits, pero cuenta la longitud de los mensajes en bytes, no en bits como las otras funciones hash en la comparación. Por lo tanto, puede manejar mensajes ocho veces más largos de lo que sugeriría un tamaño de longitud de 128 bits (un byte equivale a ocho bits). Un tamaño de longitud de 131 bits es el tamaño de longitud comparable ( ).
- ^ El tamaño del contador de longitud de mensajes de BLAKE2s es de 64 bits, pero cuenta la longitud de los mensajes en bytes, no en bits como las otras funciones hash en la comparación. Por lo tanto, puede manejar mensajes ocho veces más largos de lo que sugeriría un tamaño de longitud de 64 bits (un byte equivale a ocho bits). Un tamaño de longitud de 67 bits es el tamaño de longitud comparable ( ).
- ^ Técnicamente son 2,64 bytes , lo que equivale a 2,67 bits [ 2]
- ^ El estado incremental completo de BLAKE3 incluye una pila de valores de encadenamiento de hasta 1728 bytes de tamaño. Sin embargo, la función de compresión en sí no accede a esta pila. También se puede utilizar una pila más pequeña si la longitud máxima de entrada está restringida.
- ^ RadioGatún es una función de salida extensible , lo que significa que tiene una salida de tamaño ilimitado. Los vectores de prueba oficiales son hashes de 256 bits. RadioGatún afirma tener el nivel de seguridad de una función de esponja criptográfica de 19 palabras de tamaño, lo que significa que la versión de 32 bits tiene la seguridad de un hash de 304 bits cuando se analizan los ataques de preimagen , pero la seguridad de un hash de 608 bits cuando se analizan los ataques de colisión . La versión de 64 bits, de la misma manera, tiene la seguridad de un hash de 608 o 1216 bits. A los efectos de determinar qué tan vulnerable es RadioGatún a los ataques de extensión de longitud , solo se emiten dos palabras de su estado de 58 palabras entre las operaciones de compresión de hash.
- ^ RadioGatún no es una construcción Merkle–Damgård y, como tal, no tiene un tamaño de bloque. Su cinturón tiene un tamaño de 39 palabras; su molino, que es lo más cercano que tiene RadioGatún a un "bloque", tiene un tamaño de 19 palabras.
- ^ Solo las versiones de 32 y 64 bits de RadioGatún tienen vectores de prueba oficiales
- ^ Las 18 rondas en blanco solo se aplican una vez en RadioGatún, entre el final de la etapa de mapeo de entrada y antes de la generación de bits de salida
- ^ Aunque el algoritmo subyacente Keccak tiene longitudes de hash arbitrarias, el NIST especificó 224, 256, 384 y 512 bits de salida como modos válidos para SHA-3.
- ^ Depende de la implementación; según la sección 7, segundo párrafo desde la parte inferior de la página 22, de FIPS PUB 202.
Función de compresión
Las siguientes tablas comparan la información técnica de las funciones de compresión de las funciones hash criptográficas . La información proviene de las especificaciones, consúltelas para obtener más detalles.
Notas
- ^ Los multiplicandos omitidos son tamaños de palabras.
- ^ Algunos autores intercambian pases y rondas.
- ^ A: suma, resta; B: operación bit a bit ; L: tabla de búsqueda ; S: desplazamiento, rotación .
- ^ Se refiere únicamente al orden de bytes . Si las operaciones consisten únicamente en operaciones bit a bit y tablas de búsqueda, el orden de bytes es irrelevante.
- ^ El tamaño del resumen del mensaje suele ser igual al tamaño de los valores de la cadena. En versiones truncadas de ciertas funciones hash criptográficas como SHA-384, el primero es menor que el segundo.
- ^ El tamaño de los valores de encadenamiento es generalmente igual al tamaño de los valores de cálculo. En ciertas funciones hash criptográficas como RIPEMD-160, el primero es menor que el segundo porque RIPEMD-160 utiliza dos conjuntos de valores de cálculo paralelos y luego los combina en un único conjunto de valores de encadenamiento.
- ^ El tamaño máximo de entrada = 2 tamaño de longitud − 1 bits . Por ejemplo, el tamaño máximo de entrada de SHA-1 = 2 64 − 1 bits.
Véase también
Referencias
- ^ Dobbertin, Hans ; Bosselaers, Antoon; Preneel, Bart (21–23 de febrero de 1996). RIPEMD-160: Una versión reforzada de RIPEMD (PDF) . Fast Software Encryption. Third International Workshop. Cambridge, Reino Unido. págs. 71–82. doi : 10.1007/3-540-60865-6_44 .
- ^ https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf página 8
Enlaces externos
- Evaluación comparativa de hashes criptográficos de ECRYPT: mediciones de la velocidad de la función hash en varias plataformas
- El sitio web de funciones hash de ECRYPT: una wiki para funciones hash criptográficas
- Proyecto SHA-3 – Información sobre el concurso SHA-3