stringtranslate.com

MD4

El algoritmo de resumen de mensajes MD4 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" significan "Message Digest".

Una operación MD4. MD4 consta de 48 de estas operaciones, agrupadas en tres rondas de 16 operaciones. F es una función no lineal; Se utiliza una función en cada ronda. M i denota un bloque de 32 bits de la entrada del mensaje, y K i denota una constante de 32 bits, diferente para cada ronda.

La seguridad de MD4 se ha visto gravemente comprometida. El primer ataque de colisión total 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 dos operaciones hash MD4. [2] También existe un ataque teórico de preimagen .

Se utiliza una variante de MD4 en el esquema 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 derivadas de contraseñas NTLM en Microsoft Windows NT, XP, Vista, 7, 8, 10 y 11. [4]

Seguridad

Las debilidades del MD4 fueron demostradas por Den Boer y Bosselaers en un artículo publicado en 1991. [5] Hans Dobbertin encontró el primer ataque de colisión del MD4 con ronda completa en 1995, que tardó sólo unos segundos en realizarse 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 verificarla (unos pocos microsegundos). [2]

En 2008, la resistencia previa a la imagen del MD4 también fue rota por Gaëtan Leurent, con un ataque de 2.102 . [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).

hashes MD4

Los hashes MD4 de 128 bits (16 bytes) (también denominados resúmenes de mensajes ) normalmente se representan 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 veloz zorro marrón salta sobre el perro perezoso " )= 1bee69a46ba811185c194762abaeae90

Incluso un pequeño cambio en el mensaje dará como resultado (con una probabilidad abrumadora) un hash completamente diferente, por ejemplo, cambiando da c:

MD4("El rápido zorro marrón salta sobre el perezoso engranaje ")= b86e130ce7028da59e672d56ad0113df

El hash de la cadena de longitud cero es:

MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0

Vectores de prueba MD4

Los siguientes vectores de prueba están definidos en RFC 1320 (Algoritmo de resumen de mensajes MD4)

MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729dMD4 ("resumen de mensaje") = d9130a8164549fe818874806e1c7014bMD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536

Ejemplo de colisión MD4

Dejar:

k1 = 839c7a4d7a92cb 5 678a5d5 b 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed d 45e51fe39708bf9427e9 c3e8b9 k2 = 839c7a4d7a92cb d 678a5d5 2 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed c 45e51fe39708bf9427e9 c3e8b9

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 64 bytes.

Ver también

Referencias

  1. ^ Rivest, Ronald L. (octubre de 1990). "El algoritmo de resumen de mensajes MD4". Grupo de Trabajo de Red . Consultado el 29 de abril de 2011 .
  2. ^ abc Yu Sasaki; et al. (2007). "Nueva diferencia de mensaje para MD4" (PDF) . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  3. ^ "¿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 .
  4. ^ "5.1 Consideraciones de seguridad para implementadores" . Consultado el 21 de julio de 2011 . La obtención de una clave a partir de una contraseña se especifica en [RFC1320] y [FIPS46-2].
  5. ^ 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}}: Citar diario requiere |journal=( ayuda )
  6. ^ 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.
  7. ^ Gaëtan Leurent (10 de febrero de 2008). "MD4 no es unidireccional" (PDF) . FSE 2008. {{cite journal}}: Citar diario requiere |journal=( ayuda )
  8. ^ Guo, Jian; Ling, San; Rechberger, cristiano; Wang, Huaxiong (2010). "Ataques avanzados de preimagen de encuentro en el medio: primeros resultados en Full Tiger y resultados mejorados en MD4 y SHA-2". Avances en Criptología - ASIACRYPT 2010 . Apuntes de conferencias sobre informática. vol. 6477, págs. 56–75. doi : 10.1007/978-3-642-17373-8_4 . hdl : 10356/94168 . ISBN 978-3-642-17372-1.

enlaces externos

Ataques de colisión