Fonctions de hachage et primitives associées

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

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

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