El algoritmo MD4 Message-Digest es una función hash criptográfica desarrollada por Ronald Rivest en 1990. [3] La longitud del resumen es de 128 bits. El algoritmo ha influido en diseños posteriores, como los algoritmos MD5 , SHA-1 y RIPEMD . Las iniciales "MD" son las siglas de "Message Digest".
General | |
---|---|
Diseñadores | Ronald Rivest |
Publicado por primera vez | Octubre de 1990 [1] |
Serie | MD2 , MD4, MD5 , MD6 |
Detalle de cifrado | |
Tamaños de resumen | 128 bits |
Tamaños de bloque | 512 bits |
Rondas | 3 |
Mejor criptoanálisis público | |
Un ataque de colisión publicado en 2007 puede encontrar colisiones para MD4 completo en menos de 2 operaciones hash. [2] |
La seguridad de MD4 se ha visto gravemente comprometida. El primer ataque de colisión completo contra MD4 se publicó en 1995 y desde entonces se han publicado varios ataques más nuevos. A partir de 2007, un ataque puede generar colisiones en menos de 2 operaciones hash MD4. [2] También existe un ataque de preimagen teórico .
Se utiliza una variante de MD4 en el esquema de URI de ed2k para proporcionar un identificador único para un archivo en las populares redes P2P eDonkey2000 / eMule. MD4 también fue utilizado por el protocolo rsync (antes de la versión 3.0.0).
MD4 se utiliza para calcular resúmenes de claves derivados de contraseñas NTLM en Microsoft Windows NT, XP, Vista, 7, 8 y 10. [4]
Seguridad
Las debilidades en MD4 fueron demostradas por Den Boer y Bosselaers en un artículo publicado en 1991. [5] El primer ataque de colisión MD4 completo fue encontrado por Hans Dobbertin en 1995, que tardó solo unos segundos en llevarse a cabo en ese momento. [6] En agosto de 2004, Wang et al. encontró un ataque de colisión muy eficiente, junto con ataques a diseños de funciones hash posteriores en la familia MD4 / MD5 / SHA-1 / RIPEMD. Este resultado fue mejorado posteriormente por Sasaki et al., Y generar una colisión ahora es tan barato como verificarlo (unos microsegundos). [2]
En 2008, la resistencia de preimagen de MD4 también fue rota por Gaëtan Leurent, con un ataque de 2102 . [7] En 2010, Guo et al publicaron un ataque de 2 99,7 . [8]
En 2011, RFC 6150 declaró que RFC 1320 (MD4) es histórico (obsoleto).
Hash MD4
Los hash MD4 de 128 bits (16 bytes) (también denominados resúmenes de mensajes ) se representan normalmente como números hexadecimales de 32 dígitos . A continuación, se muestra una entrada ASCII de 43 bytes y el hash MD4 correspondiente:
MD4 ( "El rápido zorro marrón salta sobre el perezoso d og")= 1bee69a46ba811185c194762abaeae90
Incluso un pequeño cambio en el mensaje (con una probabilidad abrumadora) dará como resultado un hash completamente diferente, por ejemplo, cambiar d
a c
:
MD4 ("El rápido zorro marrón salta sobre el perezoso c og")= b86e130ce7028da59e672d56ad0113df
El hash de la cadena de longitud cero es:
MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0
Vectores de test MD4
Los siguientes vectores de prueba se definen en RFC 1320 (El algoritmo MD4 Message-Digest)
MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729dMD4 ("resumen del mensaje") = d9130a8164549fe818874806e1c7014bMD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536
Ejemplo de colisión MD4
Dejar:
k1 = 839c7a4d7a92cb 5 678a5d5 b 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed d 45e51fe39708bf94827e9c3e k2 = 839c7a4d7a92cb d 678a5d5 2 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed c 45e51fe39708bf94827e9c3e
k1 ≠ k2, pero MD4 (k1) = MD4 (k2) = 4d7e6a1defa93d2dde05b45d864c429b
Tenga en cuenta que dos dígitos hexadecimales de k1 y k2 definen un byte de la cadena de entrada, cuya longitud es de 64 bytes.
Ver también
Referencias
- Bert den Boer, Antoon Bosselaers: Un ataque a las dos últimas rondas de MD4. Cripto 1991: 194–203
- Hans Dobbertin: Criptoanálisis de MD4. Cifrado de software rápido 1996: 53–69
- Hans Dobbertin, 1998. Criptoanálisis de MD4. J. Cryptology 11 (4): 253–271
- Xiaoyun Wang, Xuejia Lai, Dengguo Feng, Hui Chen, Xiuyuan Yu: Criptoanálisis de las funciones Hash MD4 y RIPEMD. Eurocrypt 2005: 1–18
- Yu Sasaki, Lei Wang, Kazuo Ohta, Noboru Kunihiro: Nueva diferencia de mensajes para MD4. Cifrado de software rápido 2007: 329–348
- ^ "El algoritmo de resumen de mensajes MD4" . Grupo de trabajo en red. Octubre de 1990 . Consultado el 29 de abril de 2011 .
- ^ a b c Yu Sasaki; et al. (2007). "Diferencia de mensaje nuevo para MD4" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ "¿Qué son MD2, MD4 y MD5?" . Estándares de criptografía de clave pública (PKCS): PKCS # 7: Estándar de sintaxis de mensajes criptográficos: 3.6 Otras técnicas criptográficas: 3.6.6 ¿Qué son MD2, MD4 y MD5? . Laboratorios RSA. Archivado desde el original el 1 de septiembre de 2011 . Consultado el 29 de abril de 2011 .
- ^ "5.1 Consideraciones de seguridad para implementadores" . Consultado el 21 de julio de 2011 .
Derivar una clave a partir de una contraseña es como se especifica en [RFC1320] y [FIPS46-2].
- ^ Bert den Boer, Antoon Bosselaers (1991). "Un ataque a las dos últimas rondas de MD4" (PDF) . Archivado desde el original (PDF) el 23 de mayo de 2003. Cite journal requiere
|journal=
( ayuda ) - ^ Hans Dobbertin (23 de octubre de 1995). "Criptoanálisis de MD4". Revista de criptología . 11 (4): 253-271. doi : 10.1007 / s001459900047 . S2CID 7462235 .
- ^ Gaëtan Leurent (10 de febrero de 2008). "MD4 no es unidireccional" (PDF) . FSE 2008. Cite journal requiere
|journal=
( ayuda ) - ^ https://www.academia.edu/20987202/Advanced_Meet-in-the-Middle_Preimage_Attacks_First_Results_on_Full_Tiger_and_Improved_Results_on_MD4_and_SHA-2
enlaces externos
- RFC 1320 - Descripción de MD4 por Ron Rivest
- RFC 6150 - MD4 a estado histórico
- Rivest, Ronald (1991). "El algoritmo de resumen de mensajes MD4". Avances en Criptología-CRYPT0 '90 . Apuntes de conferencias en Ciencias de la Computación. 537 . Springer Berlín / Heidelberg. págs. 303–311. doi : 10.1007 / 3-540-38424-3_22 . ISBN 978-3-540-54508-8. Falta o vacío
|title=
( ayuda )
Ataques de colisión
- Un ataque a las dos últimas rondas de MD4
- Ataque de colisión mejorado en MD4
- Bishop Fox (anteriormente Stach & Liu) Fast MD4 Collision Generator