MD5
MD5 est une fonction de hachage cryptographique de 128 bits conçue par Ronald Rivest ; prouvée non sûre par des attaques par collision, elle ne sert plus aujourd'hui qu'à des usages sans exigence de sécurité comme les sommes de contrôle.
Objectif
Fournit une empreinte de message rapide pour la vérification d'intégrité, mais n'est plus adaptée à des fins de sécurité en raison des attaques par collision.
Mécanisme
Elle traite l'entrée par blocs de 512 bits en maintenant un état de 128 bits (quatre mots de 32 bits). Chaque bloc subit 4 tours de 64 étapes de transformations non linéaires (F/G/H/I) mettant à jour l'état. Elle émet l'état final de 128 bits. Des collisions se construisent en quelques secondes.
Cas d’usage
- Sommes de contrôle de téléchargement (hors sécurité)
- Clés de cache ETag
- Sommes de contrôle de systèmes anciens (hors sécurité)
- Exemples pédagogiques (principes du hachage)
Exemples
- entrée
helloOutput5d41402abc4b2a76b9719d911017c592128 bits = 32 hex characters
Erreurs courantes
- Using MD5 to store passwords or make digital signatures
- Use SHA-256 or bcrypt
Termes associés
SHA-1
SHA-1 est une fonction de hachage cryptographique de 160 bits conçue par la NSA ; Google a publié la collision SHAttered en 2017 et elle est dépréciée dans les standards. GLOSSAIRE
SHA-256
SHA-256 est le membre de la famille SHA-2 à sortie de 256 bits, très utilisé dans TLS, les blockchains et les applications cryptographiques, sans attaque pratique connue. GLOSSAIRE
Collision Resistance
La résistance aux collisions est la propriété d'une fonction de hachage selon laquelle il est infaisable de trouver deux entrées distinctes produisant le même condensé. L'attaque des anniversaires dicte la longueur de sortie requise. GLOSSAIRE
Rainbow Table
Une table arc-en-ciel est une table précalculée améliorant la méthode de Martin Hellman pour inverser les fonctions de hachage, échangeant de l'espace contre du temps pour casser des hachés de mots de passe. GLOSSAIRE