Pourquoi MD5 et SHA-1 sont-ils « cassés » ?

Dernière mise à jour : 28 septembre 2026

« Cassé » ne veut pas dire « inversé ». On ne sait toujours pas retrouver une entrée à partir d’une empreinte MD5. Mais on sait produire des collisions, et c’est suffisant pour rendre ces fonctions dangereuses en sécurité.

Qu’est-ce qu’une collision ?

Une collision, c’est deux entrées différentes qui ont la même empreinte. Comme l’empreinte a une taille fixe, il existe forcément une infinité de collisions ; le tout est de savoir en fabriquer volontairement. Une bonne fonction de hachage doit rendre cela impossible en pratique.

MD5 : collisions en quelques secondes

Dès 2004, des collisions MD5 ont été démontrées. Aujourd’hui, un ordinateur ordinaire en fabrique en quelques secondes. On peut ainsi créer deux fichiers différents (deux contrats, deux certificats) ayant la même empreinte MD5 : une signature portant sur l’un vaudrait pour l’autre. MD5 ne doit donc plus servir à rien de sensible.

SHA-1 : la collision « SHAttered » (2017)

En 2017, Google et le CWI ont publié SHAttered : deux fichiers PDF distincts avec la même empreinte SHA-1. L’attaque restait coûteuse, mais la démonstration a scellé le sort de SHA-1, retiré depuis des navigateurs et des autorités de certification.

Alors, encore utiles ?

Oui, mais seulement comme sommes de contrôle contre les erreurs accidentelles(un transfert corrompu, un disque défaillant). Un adversaire n’intervient pas dans ce cas. Pour tout usage de sécurité — signatures, intégrité face à une manipulation, mots de passe — utilisez :

  • SHA-256 ou SHA-3 pour l’intégrité et les signatures ;
  • une fonction dédiée (bcrypt,Argon2) pour les mots de passe.

Dans le générateur, MD5 et SHA-1 sont signalés « cassé » pour cette raison.