Que sont les hachis?
Les hachages sont des formules mathématiques qui prennent une chaîne de données de longueur variable, généralement sous forme de texte, et la convertissent en valeurs numériques plus courtes et de longueur fixe. Les hachages sont fréquemment utilisés dans les bases de données informatiques afin de rendre les recherches plus rapides et plus efficaces. Ils sont également utilisés dans le cryptage pour garantir que les mots de passe ne sont pas compromis et pour authentifier les signatures numériques, entre autres utilisations. Les hachages portent également le nom de fonctions de hachage et peuvent également être considérés comme des algorithmes.
Les hachages jouent un rôle important dans la facilitation des recherches dans les bases de données. Dans une base de données composée de noms, par exemple, si un utilisateur recherche «John Doe», l'ordinateur doit faire correspondre tous les caractères de la recherche avec ceux de chaque entrée de base de données. Chaque caractère du nom aurait 26 possibilités différentes - les lettres de l'alphabet anglais -, tandis que la longueur variable des entrées ralentirait également la recherche.
En revanche, l’application d’une fonction de hachage faciliterait beaucoup la vie de l’ordinateur. Transformer chaque chaîne de texte en une série de nombres simplifierait la recherche, car l'ordinateur n'aurait que dix possibilités pour vérifier chaque caractère: les chiffres «0» à «9». La longueur fixe de la série de nombres aide également l'ordinateur à faire son travail. travail plus efficacement.
Dans une base de données avec une fonction de hachage appliquée, toutes les entrées ont un numéro unique correspondant. Cela s'appelle une clé de hachage. Dans ce cas, lorsque vous effectuez une recherche, l’ordinateur applique d’abord la fonction de hachage à l’entrée que vous avez écrite, telle que «John Doe». Il en résulte une valeur numérique, par exemple «456789.» L’ordinateur peut alors rapidement associez ce résultat à la clé de hachage correspondant à la saisie correcte.
Les hachages fonctionnent également comme des signatures numériques. Par exemple, un expéditeur, Robert, souhaite envoyer un document à quelqu'un et Mary, la destinataire, veut s'assurer que le document n'a pas été falsifié pendant son acheminement. L'expéditeur, Robert, n'a qu'à exécuter le document à l'aide d'une fonction de hachage, ce qui donne une valeur numérique. Robert chiffre ensuite la clé de hachage et envoie le document avec la clé chiffrée.
Marie reçoit les deux éléments et déchiffre la clé de hachage. Elle peut maintenant voir la valeur numérique résultant du document avant son envoi. Pour vérifier que le document qu'elle a entre les mains est exactement le même, elle l'exécute via une fonction de hachage sur son ordinateur. Enfin, elle compare les deux clés. S'ils sont identiques, le document n'a pas été modifié jusqu'à son destinataire.
Il existe de nombreuses fonctions de hachage différentes, chacune avec ses propres formules mathématiques. Pour qu'une fonction de hachage fonctionne, elle doit minimiser toute collision, qui se produit lorsque deux entrées de base de données ont la même clé de hachage. Les fonctions de hachage doivent également être à sens unique. Cela signifie que vous pouvez produire une clé à partir d'une entrée de base de données ou d'un document, mais pas l'inverse. En d'autres termes, vous ne pouvez pas «désosser» le document d'origine à partir de sa clé de hachage.