Hachage (hashing) : définition, fonctionnement, risque de collision...
Le hachage, ou hashing en anglais, est une fonction utilisée dans le monde de l'informatique et des cryptomonnaies. Il consiste, par un algorithme, à convertir une chaîne de caractères en une valeur inférieure.
Le hash est un fichier permettant de vérifier la taille et l'entièreté d'un fichier informatique. Il est souvent utilisé lors d'un transfert de fichier à distance, afin de vérifier si celui-ci a été transféré dans son intégralité et s'il n'y a pas eu d'erreur de copie.
Comment fonctionne le hashing ?
Différents algorithmes existent pour obtenir l'empreinte numérique (le hashing) d'un fichier. Parmi les plus utilisés, il y a Secure Hash Algorithm 1 (SHA1) et Message-Digest algorithm 5 (MD5). Ce sont des fonctions mathématiques : il faut insérer le "message" (un fichier ou une chaîne de caractères) en entrée pour obtenir le hash en sortie. Pour un algorithme donné, si un même fichier donne toujours le même hash, il n'est en revanche pas possible d'obtenir le fichier de départ en utilisant le hash obtenu. C'est la raison pour laquelle on parle de fonction à sens unique.
Risque de collision
Avec le hashing, il existe un risque de collision, à savoir que pour deux messages différents, l'algorithme donne le même hash en sortie. A noter qu'avec les mécanismes utilisés aujourd'hui, ce risque est très limité, mais il peut toujours exister en théorie.