Fonction de hachage cryptographique
Qu'est-ce qu'une fonction de hachage cryptographique ?
Une fonction de hachage cryptographique est un algorithme, c'est-à-dire une séquence répétable d'actions spécifiques, qui peut être utilisée pour transformer une chaîne de données arbitraires de longueur variable en une chaîne de longueur et de format fixes, appelée hachage.
L'un des exemples les plus simples de fonction de hachage consiste à additionner les chiffres d'un nombre jusqu'à obtenir une sortie à un chiffre. Si l'entrée est 49, par exemple, alors l'addition de 4 et 9 donne 13, dont les chiffres 1 et 3 sont ensuite additionnés à nouveau pour donner le résultat de 4. Quelle que soit la longueur du nombre saisi, le résultat sera toujours un seul. chiffre.
Ce n’est cependant pas un bon algorithme car, pour bien remplir ses fonctions, une fonction de hachage doit posséder plusieurs caractéristiques :
- Il devrait être facile de calculer une sortie pour une entrée donnée, mais presque impossible d'inverser le processus et de calculer l'entrée d'une sortie connue ;
- Déterminisme – l'introduction d'une entrée spécifique dans l'algorithme devrait toujours produire le même résultat ;
- Résistance aux collisions : il est très peu probable que deux entrées différentes produisent le même résultat ;
- Effet d'avalanche : la modification d'un seul bit de données dans l'entrée devrait entraîner une sortie extrêmement différente.
Les fonctions de hachage sont appliquées dans de nombreux cas d'utilisation, par exemple comme sommes de contrôle pour vérifier l'intégrité des fichiers informatiques après leur transmission pendant un stockage prolongé, ou dans des fonctions de randomisation.
Ils constituent également un élément clé dans l’extraction de crypto-monnaies de preuve de travail, telles que Bitcoin (BTC), qui utilise la fonction de hachage SHA-256. Afin d’ajouter un nouveau bloc à la blockchain et de réclamer leur récompense en Bitcoin nouvellement extrait, les mineurs doivent d’abord produire une valeur de hachage inférieure à un certain seuil, appelé cible.
Le fait que les hachages soient pseudo-aléatoires et qu'il soit impossible de prédire le résultat d'une entrée avant de l'exécuter via la fonction de hachage garantit que les mineurs ne peuvent pas imprimer de nouveaux Bitcoins à partir de rien et doivent prouver le travail qu'ils ont effectué.