Une fonction hash est principalement une fonction qui transforme une suite de caractères binaires d'une longueur arbitraire dans une suite de caractères binaires d'une longueur fixe (p.ex. 256 bits). Le résultat de la fonction hash représente en fait la version abrégée du document d'entrée.
Les fonctions hash sont utilisées dans le domaine de la signature électronique. Ce n'est pas le document lui-même qui est signé, mais seulement la valeur hash du document. Ceci fait épargner du temps et du volume de stockage.
Une bonne fonction hash doit répondre aux conditions suivantes :
- Elle doit être rapide;
- Il doit être techniquement impossible de trouver deux textes d'entrée à la fonction hash qui génèrent le même résultat. (Car ce n'est pas le document qui est signé, mais seulement sa version abrégée).