MD4
MD4 | |
---|---|
General | |
Dissenyadors | Ronald Rivest |
Data primera publicació | octubre 1990 |
Series | MD2, MD4, MD5, MD6 |
Detall de xifratge | |
Digest sizes | 128 bits |
Mida del bloc | 512 bits |
Rondes | 3 |
L'algoritme MD4 Message-Digest és una funció hash criptogràfica desenvolupada per Ronald Rivest el 1990.[1] La longitud del resum és de 128 bits. L'algoritme ha influït en dissenys posteriors, com ara els algoritmes MD5, SHA-1 i RIPEMD. Les sigles "MD" signifiquen "Message Digest".
La seguretat de l'MD4 s'ha vist greument compromesa. El primer atac de col·lisió complet contra MD4 es va publicar el 1995, i des de llavors s'han publicat diversos atacs més nous. A partir del 2007, un atac pot generar col·lisions en menys de dues operacions de hash MD4.[2] També existeix un atac teòric de preimatge.
Una variant de MD4 s'utilitza a l'esquema URI ed2k per proporcionar un identificador únic per a un fitxer a les populars xarxes P2P eDonkey2000 / eMule. MD4 també era utilitzat pel protocol rsync (abans de la versió 3.0.0).
MD4 s'utilitza per calcular resums de claus derivats de contrasenyes NTLM a Microsoft Windows NT, XP, Vista, 7, 8, 10 i 11.[3]

Seguretat
[modifica]Den Boer i Bosselaers van demostrar les debilitats de l'MD4 en un article publicat el 1991.[4] El primer atac de col·lisió amb MD4 de ronda completa va ser descobert per Hans Dobbertin el 1995, i en aquell moment només va trigar uns segons a dur-se a terme.[5] A l'agost de 2004, Wang et al. van trobar un atac de col·lisió molt eficient, juntament amb atacs a dissenys de funcions hash posteriors de la família MD4/MD5/SHA-1/RIPEMD. Aquest resultat va ser millorat posteriorment per Sasaki et al., i generar una col·lisió ara és tan barat com verificar-la (uns quants microsegons).[6]
El 2008, Gaëtan Leurent també va trencar la resistència de preimatge de MD4, amb un atac de 2102[7] El 2010, Guo et al. van publicar un atac de 299.7.[8]
El 2011, la RFC 6150 va declarar que la RFC 1320 (MD4) és històrica (obsoleta).
Hash MD4
[modifica]Els hash MD4 de 128 bits (16 bytes) (també anomenats resums de missatges) es representen normalment com a nombres hexadecimals de 32 dígits. El següent exemple mostra una entrada ASCII de 43 bytes i el hash MD4 corresponent:
MD4 ("La guineu marró, ràpida, salta per sobre del d mandrós") = 1bee69a46ba811185c194762abaeae90
Fins i tot un petit canvi en el missatge (amb una probabilitat aclaparadora) donarà lloc a un hash completament diferent, per exemple, canviant d
per c
:
MD4 ("La guineu marró, ràpida, salta per sobre del mandrós c ") = b86e130ce7028da59e672d56ad0113df
El hash de la cadena de longitud zero és:
MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0
Vectors de prova MD4
[modifica]Els següents vectors de prova es defineixen a RFC 1320 (l'algoritme MD4 Message-Digest)
MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0 MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24 MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d MD4 ("resum del missatge") = d9130a8164549fe818874806e1c7014b MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9 MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4 MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c364f2b4ddc9c364f2
Exemple de col·lisió MD4
[modifica]Sigui:
k1 = 839c7a4d7a92cb 5 d b 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b8d3 45e51fe39708bf9427e9c3e8b9 k2 = 839c7a4d7a92cb d c 2 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b8cba63182 45e51fe39708bf9427e9c3e8b9
MD4(k1) = MD4(k2) = 4d7e6a1defa93d2dde05b45d864c429b
Tingueu en compte que dos dígits hexadecimals de k1 i k2 defineixen un byte de la cadena d'entrada, la longitud de la qual és de 64 bytes.
Referències
[modifica]- ↑ «What are MD2, MD4, and MD5?» (en anglès). Public-Key Cryptography Standards (PKCS): PKCS #7: Cryptographic Message Syntax Standard: 3.6 Other Cryptographic Techniques: 3.6.6 What are MD2, MD4, and MD5?. RSA Laboratories. Arxivat de l'original el 2011-09-01. [Consulta: 29 abril 2011].
- ↑ Yu Sasaki; etal https://www.iacr.org/, 2007.
- ↑ «5.1 Security Considerations for Implementors» (en anglès). [Consulta: 21 juliol 2011].
- ↑ Bert den Boer, Antoon Bosselaers «Còpia arxivada». https://web.archive.org/, 1991. Arxivat de l'original el 2003-05-23 [Consulta: 9 maig 2025].
- ↑ Hans Dobbertin Journal of Cryptology, 11, 4, 23-10-1995, pàg. 253–271. DOI: 10.1007/s001459900047 [Consulta: free].
- ↑ Yu Sasaki; etal https://www.iacr.org/, 2007.
- ↑ Gaëtan Leurent Fast Software Encryption, 15th International Workshop, FSE 2008, 5086, 10-02-2008, pàg. 412-428. DOI: 10.1007/978-3-540-71039-4_26.
- ↑ Guo, Jian. «Advanced Meet-in-the-Middle Preimage Attacks: First Results on Full Tiger, and Improved Results on MD4 and SHA-2». A: Advances in Cryptology - ASIACRYPT 2010 (en anglès). 6477, 2010, p. 56–75 (Lecture Notes in Computer Science). DOI 10.1007/978-3-642-17373-8_4. ISBN 978-3-642-17372-1.