Attaques génériques sur les fonctions de hachage
Portail > Fondamentaux
Certaines attaques s'appliquent à toute fonction de hachage indépendamment de sa conception (attaques génériques), d'autres exploitent une faiblesse spécifique. Comprendre les premières fixe les tailles de condensé à viser.
Préimage par force brute
Trouver une entrée donnant un condensé cible demande ~2n essais pour n bits. Pour 256 bits, c'est hors de portée. La taille de sortie fixe donc la résistance à la préimage.
Attaque des anniversaires (collisions)
Trouver deux entrées de même condensé ne demande que ~2n/2 essais (paradoxe des anniversaires). Conséquence majeure : une sortie de n bits n'offre que n/2 bits de résistance aux collisions.
| Sortie | Préimage | Collisions |
|---|---|---|
| 128 bits (MD5) | 2¹²⁸ | 2⁶⁴ (faisable) |
| 160 bits (SHA-1) | 2¹⁶⁰ | 2⁸⁰ (cassé en pratique) |
| 256 bits (SHA-256) | 2²⁵⁶ | 2¹²⁸ (sûr) |
C'est pourquoi on vise ≥ 256 bits pour 128 bits de résistance aux collisions.
Extension de longueur
Les fonctions Merkle-Damgård (MD5, SHA-1, SHA-2) permettent, à partir de H(m), de calculer H(m ‖ padding ‖ extension) sans connaître m. Parade : HMAC, ou les constructions éponge qui n'ont pas ce défaut.
Collisions à préfixe choisi
Plus fortes que de simples collisions : l'attaquant choisit deux préfixes distincts et calcule des suffixes menant à la même empreinte. C'est ce qui permet de forger des documents/certificats crédibles. Démontré en pratique contre MD5 (faux certificat CA, malware Flame) et SHA-1 (attaque SHAttered, puis collisions à préfixe choisi). Voir MD5 et SHA-1.
Conséquences pratiques
- Pour l'intégrité et les signatures : SHA-256 minimum, SHA-384/512 ou SHA-3 pour la marge.
- Contre l'extension de longueur : HMAC ou SHA-3.
- MD5 et SHA-1 : proscrits pour tout usage de sécurité.
- Surveiller les usages hérités où une empreinte faible sert encore de garantie.
Points clés à retenir
- Préimage ≈ 2n ; collisions ≈ 2n/2 (anniversaires) → viser ≥ 256 bits.
- Extension de longueur sur Merkle-Damgård → HMAC ou éponge.
- Collisions à préfixe choisi → forge de documents : MD5 et SHA-1 cassés.
- SHA-256+ pour les usages de sécurité.
Voir aussi
- Constructions de hachage (Merkle-Damgård et éponge)
- MD5 et SHA-1
- SHA-2
- Codes d'authentification de message (MAC et HMAC)
| Fonctions de hachage — Portail | |
|---|---|
| Fondamentaux | Principe et propriétés · Constructions · Attaques génériques |
| Algorithmes | MD5 et SHA-1 · SHA-2 · SHA-3 et SHAKE · RIPEMD-160 · Whirlpool · BLAKE2 et BLAKE3 |
| Applications | Usages · Hachage de mots de passe |