Principe et propriétés des fonctions de hachage

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

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

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