Las siguientes tablas comparan información general y técnica para una serie de funciones hash criptográficas . Consulte los artículos de las funciones individuales para obtener más información. Este artículo no incluye todo ni está necesariamente actualizado. Se puede encontrar una descripción general de la seguridad / criptoanálisis de la función hash en el resumen de seguridad de la función hash .
Información general
Información general básica sobre las funciones hash criptográficas : año, diseñador, referencias, etc.
Función | Año | Diseñador | Derivado de | Referencia |
---|---|---|---|---|
BLAKE | 2008 | Jean-Philippe Aumasson Luca Henzen Willi Meier Raphael C.-W. Phan | ChaCha20 | Especificación del sitio web |
BLAKE2 | 2012 | Jean-Philippe Aumasson Samuel Neves Zooko Wilcox-O'Hearn Christian Winnerlein | BLAKE | Especificación del sitio web RFC 7693 |
BLAKE3 | 2020 | Jack O'Connor Jean-Philippe Aumasson Samuel Neves Zooko Wilcox-O'Hearn | BLAKE2 | Especificación del sitio web |
GOST R 34.11-94 | 1994 | FAPSI y VNIIstandart | GOST 28147-89 | RFC 5831 |
HAVAL | 1992 | Yuliang Zheng Josef Pieprzyk Jennifer Seberry | Especificación del sitio web | |
Canguro doce | 2016 | Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche | Keccak | Especificación del sitio web |
MD2 | 1989 | Ronald Rivest | RFC 1319 | |
MD4 | 1990 | RFC 1320 | ||
MD5 | 1992 | MD4 | RFC 1321 | |
MD6 | 2008 | Especificación del sitio web | ||
RIPEMD | 1992 | El consorcio RIPE [1] | MD4 | |
RIPEMD-128 RIPEMD-256 RIPEMD-160 RIPEMD-320 | 1996 | Hans Dobbertin Antoon Bosselaers Bart Preneel | RIPEMD | Especificación del sitio web |
SHA-0 | 1993 | NSA | SHA-0 | |
SHA-1 | 1995 | SHA-0 | Especificación | |
SHA-256 SHA-384 SHA-512 | 2002 | |||
SHA-224 | 2004 | |||
SHA-3 (Keccak) | 2008 | Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche | RadioGatún | Especificación del sitio web |
Streebog | 2012 | FSB , InfoTeCS JSC | RFC 6986 | |
Tigre | 1995 | Ross Anderson Eli Biham | Especificación del sitio web | |
Torbellino | 2004 | Vincent Rijmen Paulo Barreto | Sitio web |
Parámetros
Algoritmo | Tamaño de salida (bits) | Tamaño del estado interno [nota 1] | Tamaño de bloque | Tamaño de la longitud | Tamaño de palabra | Rondas |
---|---|---|---|---|---|---|
BLAKE2b | 512 | 512 | 1024 | 128 [nota 2] | 64 | 12 |
BLAKE2s | 256 | 256 | 512 | 64 [nota 3] | 32 | 10 |
BLAKE3 | Ilimitado | 256 [nota 4] | 512 | 64 | 32 | 7 |
GOST | 256 | 256 | 256 | 256 | 32 | 32 |
HAVAL | 256/224/192/160/128 | 256 | 1024 | 64 | 32 | 3/4/5 |
MD2 | 128 | 384 | 128 | - | 32 | 18 |
MD4 | 128 | 128 | 512 | 64 | 32 | 3 |
MD5 | 128 | 128 | 512 | 64 | 32 | 64 |
PANAMÁ | 256 | 8736 | 256 | - | 32 | - |
RadioGatún | Ilimitado [nota 5] | 58 palabras | 19 palabras [nota 6] | - | 1–64 [nota 7] | 18 [nota 8] |
RIPEMD | 128 | 128 | 512 | 64 | 32 | 48 |
RIPEMD -128, -256 | 128/256 | 128/256 | 512 | 64 | 32 | 64 |
RIPEMD -160 | 160 | 160 | 512 | 64 | 32 | 80 |
RIPEMD -320 | 320 | 320 | 512 | 64 | 32 | 80 |
SHA-0 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-1 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-224, -256 | 224/256 | 256 | 512 | 64 | 32 | 64 |
SHA-384, -512, -512/224, -512/256 | 384/512/224/256 | 512 | 1024 | 128 | 64 | 80 |
SHA-3 | 224/256/384/512 [nota 9] | 1600 | 1600 - 2 * bits | - [nota 10] | 64 | 24 |
SHA3 -224 | 224 | 1600 | 1152 | - | 64 | 24 |
SHA3 -256 | 256 | 1600 | 1088 | - | 64 | 24 |
SHA3 -384 | 384 | 1600 | 832 | - | 64 | 24 |
SHA3 -512 | 512 | 1600 | 576 | - | 64 | 24 |
Tigre (2) -192/160/128 | 192/160/128 | 192 | 512 | 64 | 64 | 24 |
Torbellino | 512 | 512 | 512 | 256 | 8 | 10 |
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 ahora, ya que es necesario para el relleno de longitud al final. Consulte la construcción Merkle – Damgård para obtener más detalles.
- ^ El tamaño del contador de longitud de mensaje de BLAKE2b es de 128 bits, pero cuenta la longitud del mensaje 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 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 mensaje de BLAKE2s es de 64 bits, pero cuenta la longitud del mensaje 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 ().
- ^ 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í misma 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 de19 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 observan ataques de preimagen , pero la seguridad de un hash de 608 bits al mirar. en ataques de colisión . Asimismo, la versión de 64 bits tiene la seguridad de un hash de 608 bits o 1216 bits. Con el fin 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 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 parecido que tiene RadioGatún a un "bloque", tiene un tamaño de 19 palabras.
- ^ Solo las versiones de 32 bits 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ó la salida de 224, 256, 384 y 512 bits como modos válidos para SHA-3.
- ^ Depende de la implementación; según la sección 7, segundo párrafo de 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 para 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.
Función | Tamaño ( bits ) [nota 1] | Palabras × Pases = Rondas [nota 2] | Operaciones [nota 3] | Endian [nota 4] | |||||
---|---|---|---|---|---|---|---|---|---|
Palabra | Digerir | Encadenamiento de valores [nota 5] | Valores de cálculo [nota 6] | Cuadra | Longitud [nota 7] | ||||
GOST R 34.11-94 | 32 | × 8 = 256 | × 8 = 256 | 32 | 4 | ABLS | Pequeño | ||
HAVAL-3-128 | 32 | × 4 = 128 | × 8 = 256 | × 32 = 1.024 | 64 | 32 × 3 = 96 | abdominales | Pequeño | |
HAVAL-3-160 | × 5 = 160 | ||||||||
HAVAL-3-192 | × 6 = 192 | ||||||||
HAVAL-3-224 | × 7 = 224 | ||||||||
HAVAL-3-256 | × 8 = 256 | ||||||||
HAVAL-4-128 | × 4 = 128 | 32 × 4 = 128 | |||||||
HAVAL-4-160 | × 5 = 160 | ||||||||
HAVAL-4-192 | × 6 = 192 | ||||||||
HAVAL-4-224 | × 7 = 224 | ||||||||
HAVAL-4-256 | × 8 = 256 | ||||||||
HAVAL-5-128 | × 4 = 128 | 32 × 5 = 160 | |||||||
HAVAL-5-160 | × 5 = 160 | ||||||||
HAVAL-5-192 | × 6 = 192 | ||||||||
HAVAL-5-224 | × 7 = 224 | ||||||||
HAVAL-5-256 | × 8 = 256 | ||||||||
MD2 | 8 | × 16 = 128 | × 32 = 256 | × 48 = 384 | × 16 = 128 | Ninguno | 48 × 18 = 864. | B | N / A |
MD4 | 32 | × 4 = 128 | × 16 = 512 | 64 | 16 × 3 = 48 | abdominales | Pequeño | ||
MD5 | 16 × 4 = 64 | ||||||||
RIPEMD | 32 | × 4 = 128 | × 8 = 256 | × 16 = 512 | 64 | 16 × 3 = 48 | abdominales | Pequeño | |
RIPEMD-128 | 16 × 4 = 64 | ||||||||
RIPEMD-256 | × 8 = 256 | ||||||||
RIPEMD-160 | × 5 = 160 | × 10 = 320 | 16 × 5 = 80 | ||||||
RIPEMD-320 | × 10 = 320 | ||||||||
SHA-0 | 32 | × 5 = 160 | × 16 = 512 | 64 | 16 × 5 = 80 | abdominales | Grande | ||
SHA-1 | |||||||||
SHA-256 | × 8 = 256 | × 8 = 256 | 16 × 4 = 64 | ||||||
SHA-224 | × 7 = 224 | ||||||||
SHA-512 | 64 | × 8 = 512 | × 8 = 512 | × 16 = 1024 | 128 | 16 × 5 = 80 | |||
SHA-384 | × 6 = 384 | ||||||||
Tigre-192 | 64 | × 3 = 192 | × 3 = 192 | × 8 = 512 | 64 | 8 × 3 = 24 | ABLS | No especificado | |
Tigre-160 | × 2,5 = 160 | ||||||||
Tigre-128 | × 2 = 128 | ||||||||
Función | Palabra | Digerir | Encadenando valores | Valores de cálculo | Cuadra | Largo | Palabras × Pases = Rondas | Operaciones | Endian |
Tamaño ( bits ) |
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: cambio, rotación .
- ^ Se refiereúnicamenteal byte endianness. Si las operaciones constan de operaciones bit a bit y solo tablas de búsqueda, el endianness es irrelevante.
- ^ El tamaño del resumen del mensaje es igual al tamaño de los valores de encadenamiento habitualmente. En versiones truncadas de ciertas funciones de hash criptográficas como SHA-384, la primera es menor que la segunda.
- ^ El tamaño de los valores de encadenamiento es igual al tamaño de los valores de cálculo normalmente. En ciertas funciones hash criptográficas como RIPEMD-160, la primera es menor que la segunda porque RIPEMD-160 usa dos conjuntos de valores de cálculo paralelos y luego se combinan en un único conjunto de valores de encadenamiento.
- ^ El tamaño máximo de entrada = 2 tamaños de longitud - 1 bits . Por ejemplo, el tamaño de entrada máximo de SHA-1 = 2 64 - 1 bits.
Ver también
- Lista de funciones hash
- Resumen de seguridad de la función hash
- Word (arquitectura informática)
Referencias
- ^ Dobbertin, Hans ; Bosselaers, Antoon; Preneel, Bart (21 a 23 de febrero de 1996). RIPEMD-160: una versión reforzada de RIPEMD (PDF) . Cifrado de software rápido. Tercer Taller Internacional. Cambridge, Reino Unido. págs. 71–82. doi : 10.1007 / 3-540-60865-6_44 .
enlaces externos
- ECRYPT Benchmarking of Cryptographic Hashes : mediciones de la velocidad de la función hash en varias plataformas
- El sitio web de la función ECRYPT Hash : una wiki para las funciones hash criptográficas
- Proyecto SHA-3 - Información sobre la competencia SHA-3