C'est la propriété qui permet de vérifier qu'une données n'a pas été modifiée par une entité tierce (accidentellement ou intentionnellement).
Une fonction de hachage est typiquement utilisée pour vérifier l'intégrité de données.
Une fonction de hashage associe à une chaîne binaire (de longueur variable) une chaîne de longueur fixe [Menezes et al.]
Une fonction de hashage cryptographique a les propriétés suivantes :
Étant donné m, il est facile de calculer h(m)
Étant donné h, il est difficile de calculer m tel que h(m)=h
Étant donné m, il est difficile de trouver un autre message, m', tel que h(m)=h(m').
La figure ci-contre illustre comment utiliser une fonction de hashage pour vérifier l'intégrité d'un document numérique.
Initialement le code de hashage du document numérique est calculé et stocké dans un endroit sûre. Ultérieurement ce code est recalculé et comparé à celui qui a été stocké.
Si les deux valeurs sont égales alors le document n'a pas été modifié. Sinon, le document a subit une modification.
Il existe plusieurs fonctions de hashages ; En voici quelques unes :
MD2 (Message Digest 2) : Opère sur des bloques de 16 octets, manipule des mots de 8 bits Output 128 bits.
MD4 (Message Digest 4) : Manipule des mots de 32 bits, plus performant sur des processeurs 32 bits.
MD5 (Message Digest 5) : Une passe de plus / MD4, plus sûre
SHA-1 (Secure Hash Algorithm) : Proposé par le NIST Input message 264 octets (au max), output 160 bits.