MD4
# MD4

MD4, pour Message Digest 4, est un algorithme de hachage conçu par le professeur Ronald Rivest du Massachusetts Institute of Technology en 1990. La taille de la signature est de 128 bits. L'algorithme a été abandonné au profit du MD5 après la découverte de faiblesses dans sa conception. D'autres attaques encore plus efficaces ont suivi, notamment par Hans Dobbertin du service du chiffre allemand et l'équipe chinoise à l'origine de l'attaque sur MD5. À ce titre, le MD4 ne peut en aucun cas être considéré comme cryptographiquement sûr puisque des collisions peuvent être générées avec un nombre d'opérations de l'ordre de $2^{8}$ opérations. Cette magnitude est très faible en comparaison des $2^{64}$ nécessaires pour une attaque des anniversaires.

## Exemples

Voici la signature en MD4 obtenue sur une phrase :

MD4(« Wikipedia, l'encyclopedie libre et gratuite ») = b94e66e0817dd34dc7858a0c131d4079

## Utilisation

Le MD4 est utilisé pour calculer les empreintes des mots de passe NTLM par Microsoft.

MD4 est aussi utilisé dans plusieurs applications de traitement de fichiers, afin d'obtenir une empreinte un peu plus rapidement que MD5.

## Exemple de collision

Soient les données hexadécimales suivantes : k1 = 839c7a4d7a92cb5678a5d5b9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edd45e51fe39708bf9427e9c3e8b9 et k2 = 839c7a4d7a92cbd678a5d529eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edc45e51fe39708bf9427e9c3e8b9 ; Alors k1 ≠ k2, pourtant MD4(k1) = MD4(k2) = 4d7e6a1defa93d2dde05b45d864c429b

