Principe et propriétés des fonctions de hachage
Portail > Fondamentaux
Une fonction de hachage cryptographique produit, à partir d'une entrée de taille quelconque, un condensé (digest) de taille fixe. Cette page définit les propriétés qui la rendent utilisable en sécurité.
Définition
H : {0,1}* → {0,1}ⁿ : toute entrée donne un condensé de n bits (ex. 256 pour SHA-256). La fonction est publique et sans clé — c'est ce qui la distingue d'un MAC.
Propriétés requises
| Propriété | Signification |
|---|---|
| Déterminisme | La même entrée donne toujours le même condensé. |
| Taille fixe | Sortie de longueur constante, quelle que soit l'entrée. |
| Résistance à la préimage | À partir d'un condensé h, infaisable de trouver une entrée m telle que H(m)=h (sens unique).
|
| Résistance à la seconde préimage | Étant donné m, infaisable de trouver m'≠m avec H(m')=H(m).
|
| Résistance aux collisions | Infaisable de trouver deux entrées distinctes de même condensé. |
| Effet d'avalanche | Un seul bit modifié change radicalement le condensé. |
La résistance aux collisions est la plus exigeante : c'est elle qui tombe en premier (attaque des anniversaires) et qui a condamné MD5 et SHA-1.
Hachage cryptographique ≠ somme de contrôle
Les sommes de contrôle non cryptographiques (CRC32, hachages de tables) détectent des erreurs accidentelles mais ne résistent pas à un adversaire : on peut facilement forger des collisions. Elles ne conviennent à aucun usage de sécurité.
Taille du condensé
La taille fixe le plafond de sécurité : une sortie de n bits offre ~n bits contre la préimage mais seulement ~n/2 contre les collisions (anniversaires). D'où l'usage de 256 bits ou plus aujourd'hui (Attaques génériques sur les fonctions de hachage).
Aperçu des usages
Intégrité, empreintes (fingerprints), HMAC, dérivation de clés, signatures, structures (arbres de Merkle)… Détaillés dans Usages des fonctions de hachage.
sha256sum fichier openssl dgst -sha256 fichier
Points clés à retenir
- Entrée quelconque → condensé de taille fixe, déterministe, sans clé.
- Propriétés : préimage, seconde préimage, collisions, avalanche.
- La résistance aux collisions est la plus fragile (n/2 bits) → sorties ≥ 256 bits.
- Un CRC n'est pas cryptographique : inutile contre un adversaire.
Voir aussi
- Constructions de hachage (Merkle-Damgård et éponge)
- Attaques génériques sur les fonctions de hachage
- Usages des fonctions de hachage
| 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 |