15 49.0138 8.38624 1 0 4000 1 https://www.frank-gehry.com 300 0
theme-sticky-logo-alt
theme-logo-alt

Tout sur les algorithmes de hachage et leur fonctionnement

Aujourd’hui, nous expliquerons comment fonctionnent les algorithmes de hachage et quelle est leur fonction dans une crypto-monnaie.

Qu’est-ce que le hachage?

Un algorithme de hachage compresse les données à une taille spécifique. Les hachages permettent aux ordinateurs de comparer ou d’identifier facilement des fichiers ou des bases de données. Au lieu de parcourir les données entières dans leur forme d’origine, ils comparent simplement les valeurs de hachage. Le hachage peut être appliqué au stockage des mots de passe, des graphiques informatiques, des certificats SSL et de nombreuses autres fonctions.

Les caractéristiques déterminantes du hachage sont l’irréversibilité et l’unicité. Une fois qu’un prix de données a été haché, vous ne pouvez pas annuler le projet. De plus, vous n’obtiendrez jamais les mêmes valeurs de hachage lors du hachage de deux éléments de données différents. Si deux hachages exacts sont trouvés pour deux éléments de données distincts, cette occurrence est appelée «collision de hachage», et un tel algorithme est inutile.

Résultat de l'image pour la valeur de hachage BitcoinSource: manning

Fonction de hachage

La fonction mathématique qui convertit les données d’entrée, qui sont de longueur arbitraire, en une valeur numérique compressée, c’est-à-dire la sortie d’une longueur fixe, est appelée une fonction de hachage. La sortie numérique est nommée valeur de hachage ou hachage.

Résultat de l'image pour la valeur de hachage cryptoSource: ResearchGate

La longueur de la sortie ou du hachage est dictée par l’algorithme de hachage utilisé. La plage de longueur commune pour les algorithmes ou fonctions de hachage est comprise entre 160 et 512 bits.

Valeur de hachage

Comme nous l’avons mentionné ci-dessus, la valeur de hachage est générée à partir d’un numéro d’entrée de base qui a été converti à l’aide de l’algorithme de hachage.

Fichier: Table de hachage 4 1 1 0 0 1 0 LL.svgSource: Wikipédia

En crypto, la clé publique est chiffrée à l’aide de la valeur de hachage. Il est presque impossible de déterminer les numéros d’entrée d’origine sans avoir les données utilisées par la valeur de hachage.

Quels sont les algorithmes de hachage? Comment fonctionnent les algorithmes de hachage?

Une fonction de hachage est au cœur de l’algorithme de hachage. Afin de générer la valeur de hachage d’une longueur prédéfinie, les données d’entrée doivent d’abord être divisées en blocs de taille fixe, car la fonction de hachage prend des données à une taille fixe. Celles-ci sont appelées «blocs de données».

Les blocs de données auront des tailles différentes en fonction de l’algorithme appliqué. Dans la plupart des cas, le message ne sera pas dans les multiples de la limite de taille de bloc. Généralement, la technique de remplissage est utilisée lorsque le message entier est séparé en blocs de données de taille fixe. La fonction de hachage est appliquée pour autant de blocs de données possibles qui ont été résultés.

Les blocs sont traités un à la fois, la sortie du premier bloc de données étant donnée en entrée avec le second bloc de données. Ensuite, la sortie du second est donnée comme entrée avec le troisième bloc, et cela se poursuit jusqu’à ce que le dernier bloc soit traité. Ainsi, le résultat final est une combinaison de tous les blocs. Si un bit est modifié dans le message, cela change complètement la valeur de hachage. C’est ce qu’on appelle un «effet d’avalanche».

Fichier: Cryptographic Hash Function.svgSource: wikipedia

Même si les algorithmes de hachage ont été créés pour servir de fonction unidirectionnelle qui ne peut pas être inversée, de nombreux cas de hachages ont été compromis.

Les hachages cryptographiques sont utilisés pour créer des signatures numériques, utilisées dans le stockage des mots de passe, les systèmes de vérification de fichiers, l’authentification des messages et diverses autres formes d’authentification.

Un problème que nous aborderons dans notre guide de fonctionnement des algorithmes de hachage sont les collisions. Comme les hachages caractérisent une chaîne de longueur fixe, cela signifie que pour chaque entrée possible, il existe d’autres entrées qui pourraient conduire à la génération du même hachage.

Si quelqu’un parvient à créer des collisions à la demande, il peut utiliser les faux fichiers ou données comme preuve qu’il a le hachage correct. Le hachage informatique ne doit pas être trop efficace, car il facilite le calcul artificiel des collisions.

Une bonne fonction de hachage devrait être capable de:

  • Calculez rapidement la valeur de hachage de tout type de données;
  • Être impossible de retracer ou de calculer un message à partir de celui-ci (l’attaque par force brute étant la seule option);
  • Soyez résilient contre les «attaques pré-image» (dans lesquelles les pirates tentent de reproduire la valeur qui a généré le hachage);
  • Évitez les collisions de hachage; chaque message doit avoir son propre hachage unique;
  • Entraîne un effet d’avalanche lorsqu’une modification est apportée n’importe où dans le message.

Algorithmes de hachage courants

MD5

MD5 a été l’un des premiers algorithmes de hachage à être largement utilisé jusqu’à ce qu’il soit compromis. En raison de ses nombreuses vulnérabilités, MD5 a été jugé impropre à une utilisation ultérieure. Aujourd’hui, il ne sert qu’à vérifier les données contre une corruption accidentelle.

Famille SHA

Développé par la NSA, l’algorithme de hachage sécurisé est une famille de fonctions de hachage cryptographique. Leur premier algorithme, SHA-0 (lancé en 1993), est obsolète depuis des décennies.

SHA-1 (1995) a généré une valeur de hachage de 160 bits (20 octets) et n’a apporté qu’une amélioration mineure à MD5, qui a fait de la sortie un nombre hexadécimal de 40 chiffres. De plus, en raison de collisions théoriques, l’algorithme a été compromis en 2005, mais son remplacement en masse s’est produit en 2010.

SHA-2 est la version d’algorithme qui est toujours utilisée et considérée comme sûre. La famille SHA-2 comprend six fonctions de hachage: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.

En 2006, concours organisé par le Institut national des normes et de la technologie (NIST), SHA-3, a été développé. SHA-3 est devenu un standard en 2015, et même s’il est nommé comme le reste des algorithmes de la NSA, il appartient en fait à une famille d’algorithmes de hachage connus sous le nom de KECCAK (prononcé ketch-ak).

La différence est qu’ils ont une construction en éponge, qui utilise des permutations aléatoires pour absorber et produire des données tout en donnant des entrées futures aléatoires qui sont implémentées dans l’algorithme..

Le hachage et son utilisation dans la blockchain

Afin de hacher les données, Bitcoin utilise SHA256, tandis qu’Ethereum utilise actuellement une variante du SHA-3 (KECCAK256). L’algorithme de preuve de travail d’Ethereum, Dagger-Hashimoto, a été calculé comme étant difficile en mémoire pour le calcul matériel.

Le SHA256 de Bitcoin ne peut être calculé qu’à l’aide de circuits intégrés spécifiques à une application (ou ASIC). Bitcoin hache les données avec SHA256 en utilisant deux versions de l’algorithme dans son protocole. En utilisant un double SHA256, Bitcoin peut réduire les dommages d’une éventuelle attaque d’extension de longueur.

Dans ce type d’attaque, le pirate tente de découvrir la longueur d’une entrée de hachage et de l’utiliser pour tromper la fonction de hachage afin d’initier une certaine partie de son état interne en attribuant une chaîne secrète à la valeur de hachage.

Conclusion

Nous espérons que vous savez maintenant comment fonctionnent les algorithmes de hachage et comment ce type de cryptage est pertinent pour la crypto et la blockchain.

Image en vedette: Steemit

Previous Post
קזינו קינגביט: בונוס טעינה חודשי של 2BTC + 2BTC!
Next Post
هؤلاء هم أغنى مالكي Bitcoin في 2019-2020