Attaques génériques sur les fonctions de hachage

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

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

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