Hash

Hash

Un hash est une empreinte numérique d’un input binaire.

La fonction de hachage est un élément fondamental des crypto-monnaies comme le bitcoin. Toutefois, la fonction de hachage existait déjà bien avant l’apparition du bitcoin. Elle est un élément de la cryptographie et sert à indiquer des ensembles de données de n’importe quelle taille dans une longueur fixe.

Qu’est-ce qu’un hachage ?

Un hash est le résultat d’une fonction mathématique de hachage qui transforme une quantité quelconque de données en une longueur fixe de caractères.

Il existe de nombreuses fonctions de hachage différentes, qui ont toutes des propriétés différentes. La fonction de hachage utilisée dans le bitcoin est la SHA-256, SHA signifiant Secure Hash Algorithm. La spécialité de cette fonction est de garantir la sécurité.

Comment fonctionne une fonction de hachage ?

Une fonction de hachage peut être comparée à un thermomix. On y ajoute des ingrédients et on les mixe pour obtenir une soupe. La particularité d’une fonction de hachage : la sortie est toujours de la même taille – 64 caractères ou une assiette de soupe métaphorique. Une autre particularité de la fonction de hachage est que pour chaque entrée, chaque ingrédient, l’output change complètement. Ainsi, la manipulation peut être détectée au premier coup d’œil.

Déterminisme

Une fonction de hachage renvoie toujours des résultats aléatoires. Cependant, elle est déterministe. Cela signifie que le même input (c’est-à-dire ce que nous donnons à la fonction de hachage) fournit le même output. Des inputs différents fournissent des hashs totalement différents. La fonction de hachage est très sensible : si un seul bit de l’input change, l’output complet (c’est-à-dire le hachage résultant) change.

Exemple de hachage :

L’entrée « BTC-ECHO » avec SHA-256 donne la sortie : 4c836b8362d6fb1b56b8ccc7dec360bb45ffb2dad25cf3884b912f1f1baf1483

L’entrée « btc-echo » avec SHA-256 est : 40a00ee50b2b626474f2916f2d154065f5d7baee14d8fcdb3048b25f7a83da61

Au premier coup d’œil, on peut constater que les hachages sont différents. Par conséquent, les inputs sont également différents. Dans notre exemple, seule la casse a changé.

Cependant, la sortie pour BTC-ECHO avec la fonction SHA-256 est toujours 4c836b8362d6fb1b56b8ccc7dec360bb45ffb2dad25cf3884b912f1f1baf1483.Ainsi, le résultat peut être vérifié indépendamment par tous les habitants de la Terre.

Fonctions à sens unique

Les fonctions de hachage sont, au sens figuré, à sens unique. Cela signifie qu’elles ne fonctionnent que dans un sens. Avec une entrée et une fonction de hachage, on peut sans problème aller dans un sens. Toutefois, même si la fonction de hachage utilisée est connue, il n’est pas possible de générer l’input initial à partir d’un hachage. On parle ici également du fait que la fonction de hachage est « non réversible« .

Si tu ne connais qu’un seul hash, tu ne peux pas tirer de conclusions sur l’input qui a été utilisé.

0c80304927453c6ac6f4115b88842df7f468e26aeb63f4d54475133b36a0d928 – quelle est l’entrée ?

Alors que : « BTC-ACADEMY » avec SHA-256 = 0c80304927453c6ac6f4115b88842df7f468e26aeb63f4d54475133b36a0d928 ; cela fonctionne sans problème.

SHA, algorithme de hachage sécurisé

Le sigle SHA a été mentionné et même utilisé à plusieurs reprises. Qu’est-ce qui se cache derrière ce terme ?

On peut se représenter les SHA comme une famille. Une famille d’algorithmes de hachage. L’accent est mis sur la sécurité cryptographique dans les SHA. La différence entre les SHA réside principalement dans la longueur du hachage obtenu (cette longueur est exprimée en bits).

Le plus ancien des SHA est le SHA-1, d’une longueur de 160 bits. Jusqu’à il y a quelques années, SHA-1 était le standard industriel de la sécurité sur Internet. Cependant, il n’est plus considéré comme sûr aujourd’hui, car Google a réussi à produire une collision.

SHA-2 est une amélioration de SHA-1. Il existe différentes longueurs pour les SHA-2. Le SHA-2 le plus connu, qui est également la norme industrielle actuelle pour les certificats SSL des domaines et des sites web, a une longueur de 256 bits. Il a déjà été utilisé plus haut pour le hachage de « BTC-ECHO », « btc-echo » et « BTC-ACADEMY ». Le SHA-256 est également l’algorithme de hachage utilisé pour la preuve de travail Bitcoin.

Pour être complet, il convient également de mentionner les frères et sœurs du SHA-256 : SHA-224, SHA-384 et SHA-512. Le chiffre à la fin indique toujours le nombre de bits de la sortie, le hachage résultant.

Il existe déjà la version suivante du SHA, à savoir le SHA-3. On trouve ici le SHA-3-256. 3 est comme un nom moyen. 256 indique à nouveau la longueur du hachage.

Combien de hachages différents existe-t-il ?

Un bit est un zéro ou un un. C’est la langue dans laquelle les ordinateurs parlent. Un zéro signifie que le courant est coupé, un un signifie que le courant est activé. Il y a donc deux états possibles pour chaque bit. Un hash d’une longueur de 256 bits a donc 2^256 états possibles.

Qu’est-ce qu’une collision dans une fonction de hachage ?

Avec le SHA-256, nous avons donc un nombre incroyable de hashs possibles. Mais si l’on réfléchit un peu plus loin, la question se pose :

Le nombre d’outputs possibles est gigantesque, mais fini. Le nombre d’entrées possibles est infini. Qu’est-ce que cela signifie ?

Lorsque deux inputs différents produisent le même output, on parle de collision.

Qu’est-ce qu’une collision d’une fonction de hachage ?

Une collision d’une fonction de hachage signifie que deux entrées différentes produisent la même sortie.

Toute fonction de hachage peut entrer en collision. La question qui se pose ici est de savoir à quel point il est difficile de créer une collision. Il a déjà été mentionné que Google a réussi à entrer en collision avec le SHA-1. Pour cela, ils ont toutefois dû consacrer beaucoup de ressources. Nous retenons que toute fonction de hachage entre en collision à un moment ou à un autre – la question importante est de savoir à quel point cela est coûteux.

Dès que les collisions d’une fonction de hachage peuvent être prouvées, cette fonction de hachage n’est plus sûre. Elle est alors remplacée par la fonction de hachage suivante, qui n’a pas encore démontré de collisions.

L’établissement d’une fonction de hachage nécessite de nombreux tests. En règle générale, les fonctions ont également besoin d’un certain temps avant d’être « finalisées ». En d’autres termes, il faut du temps pour développer une fonction de hachage.

Où est-elle utilisée ?

Le SHA-256 est utilisé dans le Bitcoin Proof of Work. Ici, on veut créer un hash très particulier, à savoir un hash qui commence par un certain nombre de zéros. Un tel hash ne peut être trouvé que par hasard – il faut le deviner. C’est précisément ce qui se passe dans le minage du bitcoin. Les mineurs devinent très souvent par seconde, ou plutôt, ils hachent le même bloc plus souvent, une seule variable, le nonce, changeant.

La plupart des crypto-monnaies et des chaînes de blocs basées sur la preuve de travail utilisent des fonctions de hachage.

Les certificats SSL pour les sites web sont une autre utilisation des fonctions de hachage. Pour être sûr d’avoir effectivement affaire à un site web, il existe ce que l’on appelle des certificats SSL. Le SHA-256 est également utilisé ici. Il aide l’exploitant à créer une signature numérique avec laquelle il peut prouver son authenticité.

Termes similaires

  • Cryptage
Token Boost

Commencez à trader dès maintenant

Investissez dans les cryptos et trader vos devises numériques sur les différentes plateformes.

Laisser un commentaire

Crypto logo

Token Boost, votre e-magazine français 100% crypto & DeFi.

Contact

54, impasse Toussaint, Lorainville