Fonctions de hachage et primitives associées
Portail > Algorithmes
Les fonctions de hachage cryptographiques produisent un condensé de taille fixe à partir d'une entrée quelconque. Bien que sans clé, elles sont indissociables de la cryptographie symétrique : elles fondent HMAC, les KDF, les empreintes et les vérifications d'intégrité.
Rappel des propriétés
Déterminisme, sortie de taille fixe, résistance à la préimage et aux collisions, effet d'avalanche. (Détail dans la page Signatures numériques et fonctions de hachage de la série PKI.)
SHA-2
Famille dominante : SHA-256, SHA-384, SHA-512. Construction de Merkle-Damgård. Robuste et omniprésente (TLS, signatures, empreintes).
Limite à connaître : vulnérable aux attaques par extension de longueur — d'où l'usage de HMAC plutôt que H(K‖m). SHA-512/256 (SHA-512 tronqué) n'a pas cette faiblesse exploitable.
SHA-3
SHA-3 (Keccak) repose sur une construction « éponge », structurellement différente de SHA-2. Avantages : pas d'attaque par extension de longueur, et des fonctions dérivées extensibles (SHAKE128/256, sorties de longueur variable). Complément de SHA-2, pas un remplaçant imposé.
BLAKE2 / BLAKE3
- BLAKE2 : très rapide, souvent plus que SHA-2/MD5, avec un bon niveau de sécurité ; modes avec clé intégrés.
- BLAKE3 : conception en arbre, parallélisable, extrêmement rapide ; sortie extensible. Adapté aux gros volumes et au calcul multicœur.
Usages en cryptographie symétrique
| Usage | Primitive |
|---|---|
| Intégrité / empreinte | SHA-256, SHA-3, BLAKE2/3 |
| MAC | HMAC-SHA-256, KMAC, BLAKE2 avec clé |
| Dérivation (secret fort) | HKDF (sur HMAC) |
| Dérivation depuis mot de passe | Pas une fonction de hachage brute → Argon2, scrypt, PBKDF2 |
À ne plus utiliser
MD5 et SHA-1 sont cassés pour la résistance aux collisions ; à proscrire pour tout usage de sécurité (signatures, empreintes de certificats). Ils ne subsistent que pour des sommes de contrôle non sécuritaires héritées.
Distinction importante
Une fonction de hachage rapide ne convient pas pour hacher des mots de passe : sa rapidité aide l'attaquant. Pour les mots de passe, utiliser une KDF lente/memory-hard (Argon2id, scrypt, PBKDF2).
Points clés à retenir
- Primitives sans clé, mais socle de HMAC, KDF, empreintes et intégrité.
- SHA-2 (Merkle-Damgård, sensible à l'extension de longueur → HMAC) ; SHA-3 (éponge, immunisé) ; BLAKE2/3 (rapides, parallélisables).
- MD5/SHA-1 cassés : à bannir des usages de sécurité.
- Ne jamais hacher un mot de passe avec une fonction rapide → KDF dédiée.
Voir aussi
- Codes d'authentification de message (MAC et HMAC)
- Dérivation de clés (KDF)
- Signatures numériques et fonctions de hachage
| Cryptographie symétrique — Portail | |
|---|---|
| Fondamentaux | Principe · Bloc et flot · Modes opératoires · Padding · IV et nonces |
| Intégrité / auth. | MAC et HMAC · AEAD |
| Gestion des clés | Aléa / CSPRNG · KDF · Échange de clés · Stockage / rotation |
| Algorithmes | AES · ChaCha20/Salsa20 · DES / 3DES · Blowfish et Twofish · RC4 · Camellia, ARIA et SM4 · AES-GCM · ChaCha20-Poly1305 · Hachage |
| Applications | Données au repos · En transit / hybride |
| Sécurité avancée | Attaques · Conformité · Post-quantique |