Aller au contenu
ecdsa.com

Fonction de hachage cryptographique

Une fonction qui associe à une entrée de longueur quelconque un condensat de longueur fixe, de sorte que trouver une préimage, une seconde préimage ou une collision quelconque soit calculatoirement infaisable.
Autres graphieshash functioncryptographic hashhash

Trois propriétés comptent : la résistance à la préimage (à partir d’un condensat, trouver une entrée qui le produit), la résistance à la seconde préimage (à partir d’une entrée, en trouver une autre de même condensat) et la résistance aux collisions (trouver deux entrées quelconques qui entrent en collision). Pour un condensat de n bits, les coûts génériques sont d’environ 2ⁿ, 2ⁿ et 2ⁿᐟ², ce dernier à cause du paradoxe des anniversaires ; c’est pourquoi SHA-256 offre une résistance aux collisions de 128 bits.

Fonctions standard : SHA-2 (de SHA-224 à SHA-512, FIPS 180-4) et SHA-3 avec les fonctions à sortie extensible SHAKE (FIPS 202) sont approuvées ; BLAKE2 (RFC 7693) est largement utilisée hors des contextes NIST ; MD5 et SHA-1 sont cassées pour les collisions et ne doivent pas être utilisées là où un attaquant peut choisir les entrées. Les constructions Merkle–Damgård (MD5, SHA-1, SHA-2) permettent l’extension de longueur ; les éponges (SHA-3) et les constructions HAIFA (BLAKE2), non.

Une fonction de hachage n’est ni un MAC, ni un hachage de mots de passe, ni un chiffrement : utilisez HMAC ou KMAC pour l’intégrité avec clé, Argon2id, scrypt ou PBKDF2 pour les mots de passe, et un AEAD pour la confidentialité. Les ordinateurs quantiques touchent à peine les fonctions de hachage : l’algorithme de Grover apporte au plus une accélération en racine carrée pour les préimages, et le projet de plan de transition du NIST maintient SHA-256 et SHA-3 en service.

Normes et références

Tous les termes