En sécurité informatique, la fonction de hachage est très importante pour garantir l'intégrité du transfert et de l'enregistrement des informations qui nécessitent des niveaux de protection élevés.
Les fonctions de hachage sont utilisées dans des actions telles que la validation et l'authentification de l'utilisateur, la signature de documents, ainsi que dans le crypto-monnaies comme méthode pour éviter la falsification des transactions et empêcher les actions malveillantes.
Une fonction de hachage est une procédure cryptographique dans laquelle un algorithme spécifique est utilisé pour transformer certaines informations (par exemple, du texte) en une seule séquence alphanumérique de longueur fixe, appelée hachage.
Comme nous l'avons déjà expliqué en détail qu'est-ce qu'un hash Dans le chapitre précédent, nous n'entrerons pas dans les détails, mais nous soulignerons qu'un hachage ne résulte pas d'un cryptage, mais plutôt qu'il s'agit d'un résumé à sens unique car le processus est irréversible, c'est-à-dire que les informations d'origine ne peuvent pas être décryptées / récupérées à partir de à partir du hachage final s'il n'essaie pas de hacher sans s'arrêter jusqu'à ce que vous trouviez le texte d'origine, car le hachage trouvé correspondra à celui que vous recherchiez et que vous connaissiez déjà.
Au fil des ans, de nombreuses façons (algorithmes) de générer des hachages sont apparues, c'est-à-dire qu'il existe de nombreux types de fonctions de hachage, mais dD'un point de vue technique, tous doivent avoir une série de caractéristiques pour remplir correctement leur mission:
- Unidirectionnalité: Si nous avons un document M, le hachage nous permet d'en faire un hachage récapitulatif appelé h (M), mais à partir de ce hachage il est impossible de connaître le contenu du document original M.
- Compression: Le poids du document M est indifférent puisque le hachage résultant aura toujours la même longueur avec le même nombre de bits.
- Facilité de calcul: Il devrait être facile de calculer h (M) à partir de «M» pour une génération rapide et ne pas perdre de temps, d'énergie et de puissance de calcul.
- Diffusion de bits: Le hachage h (M) doit être une fonction complexe du message original «M». Si M était modifié n'importe où, et même s'il s'agissait d'une modification minime, l'élément h (M) changerait complètement.
- Faible résistance aux collisions: Il sera impossible de calculer que M connu, nous pouvons trouver un autre M 'tel que h (M) = h (M'). Première pré-image.
- Forte résistance aux collisions: Il doit être difficile de trouver une paire (M, M ') telle que h (M) = h (M'). Deuxième pré-image.
Sécurité de hachage
Oui. Vous pouvez trouver le texte original d'un hachage. Mais c'est pratiquement impossible. Seulement par la force brute.
Par exemple, le hachage de 128 bits (une version de base du hachage) a 2 ^ 128 possibilités différentes, et la probabilité de 50% serait la racine carrée de 2 ^ 128 qui se traduit par 2 ^ 64 d'une instance. A partir de là, on obtient qu'au niveau statistique, il est plus facile de rompre la collision que de rompre la résistance de l'image précédente.
Donc c'est vrai, il n'y a pas de fonction de hachage dans le monde qui soit exempte de collisions, mais si elle n'a pas de défaut dans sa conception, la casser est très compliquée et prendrait un temps considérable, parfois des milliards d'années avec une capacité calcul supérieur à celui de la planète Terre entière.
Fonction de hachage dans Bitcoin
L'un des algorithmes de fonction de hachage par excellence est SHA-256, est utilisé dans d'innombrables cas compte tenu de son équilibre entre sécurité et complexité de production (en termes de temps et de dépense énergétique)
L'un des centaines de milliers d'endroits où il est utilisé se trouve sur Bitcoin.
Dans le écosystème Bitcoin La fonction de hachage est très importante tant qu'elle est efficace, et pour que ce soit le cas, le hachage doit être complexe, offrant ainsi un haut degré de sécurité, ce qui implique qu'il faut plus de temps pour le calculer et que le processus est plus inefficace.
La fonction de hachage de Bitcoin est utilisée dans deux domaines.
1. Création de l'adresse
L'une des utilisations les plus courantes de la fonction de hachage est le processus de génération de l'adresse Bitcoin.
La fonction de hachage SHA256 est utilisée jusqu'à 3 fois dans le processus de génération d'adresse.
Grâce à cette fonction, l'adresse est plus courte que la clé publique dont elle provient. De plus, on parvient à ce qu'il soit cohérent dans son ensemble en générant caractères de contrôle (somme de contrôle).
Si vous ne savez toujours pas comment une adresse est générée, vous pouvez aller par le lien suivant.
2. Exploitation minière: preuve de travail
Comme nous l'avons déjà expliqué en détail dans le chapitre sur extraction de bitcoins, est l'action menée par certaines personnes qui décident d'offrir leur puissance de calcul au réseau Bitcoin pour la vérification des différentes transactions.
Les fonctions de hachage sont un processus clé dans création de blocDe plus, il est également utilisé en plusieurs étapes, car le mineur doit associer les transactions au bloc. Pour ce faire, utilisez la fonction de hachage pour créer le Arbre de Merkle.
Avec ce résultat, en plus du hachage résultant du bloc précédent et d'une information qu'il faut inventer (appelée Nonce) devrait donner au hachage résultant un certain modèle. Si vous le faites, vous aurez résolu le problème mathématique, vous aurez miné un bloc et vous gagnerez près de 50.00 € actuellement (juin 2020).
C'est ainsi qu'il est possible de lier pleinement toutes les transactions nouvelles et passées, générant une intégrité et une immuabilité totales
Faire le processus de hachage une fois est extrêmement facile, mais le mineur doit le faire des millions de fois. C'est comme faire un squat, ce qui est facile, mais pas des millions de fois.
Enfin, pour le noeuds vérifier que tout est correct, ils ne recommenceront le processus qu'une seule fois, en appliquant à nouveau la fonction de hachage dans les différentes parties du processus.
Vous savez maintenant ce qu'est une fonction de hachage et quels rôles elle joue dans les crypto-monnaies. Nous vous encourageons à continuer la formation pour devenir un expert des crypto-monnaies et de la technologie blockchain.