Une fonction de hachage cryptographique est une primitive cryptographique qui transforme un message de taille arbitraire en un message de taille fixe, appelé un condensat. Les fonctions de hachage cryptographiques sont employées pour l'authentification, les signatures numériques et les codes d'authentification de messages.
Pour être utilisable en cryptographie, une fonction de hachage doit disposer de ces qualités :
- rapide à calculer (parce qu'elles sont fréquemment sollicitées)
- non réversible (chaque condensat peut provenir d'un très grand nombre de messages, et seule la force brute peut générer un message qui conduit à un condensat donné)
- résistant à la falsification (la moindre modification du message aboutit à un condensat différent)
- résistant aux collisions (il devrait être impossible de trouver deux messages différents qui produisent le même condensat)
Les fonctions de hachage cryptographiques comme MD5 et SHA-1 sont considérées cassées car des attaques permettant de réduire significativement leur résistance aux collisions ont été trouvées.
Pour approfondir
- Fonction de hachage cryptographique sur Wikipédia