Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
No Result
View All Result
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
No Result
View All Result
Home Cryptomonnaie

Les mathématiques du Bitcoin – SHA256 – La startup

30 mai 2020
in Cryptomonnaie
Reading Time: 18 mins read
Les mathématiques du Bitcoin – SHA256 – La startup

Table des matières

ArticlesA lire

Bitcoin bull market is back – The Startup

Le marché haussier du Bitcoin est de retour – Sajjad Hussain

Crypto City Zeroing d’Akon sur le Sénégal – Akoin and the Aftermath

Crypto City Zeroing d’Akon sur le Sénégal – Akoin and the Aftermath

Merkle Trees: de plus en plus en usage – EricB10

Merkle Trees: de plus en plus en usage – EricB10

Analyse du marché Bitcoin – La startup

Analyse du marché Bitcoin – La startup

Les mathématiques du Bitcoin – SHA256 – La startup

4.3 – Phase de calcul du hachage

Jusqu’à présent, tout le travail faisait partie du phase de prétraitement. A partir de maintenant, nous allons examiner la phase de calcul du hachage. Dans cette phase, nous utiliserons les données de la phase de prétraitement pour calculer 48 mots supplémentaires, totalisant le nombre de mots à 64. Cela nous donne alors 4 blocs au total. Comme calculer 48 mots de plus serait trop long, je vais démontrer le calcul en calculant le 17e mot (𝑊 (16)). Ceci est calculé en utilisant l’équation suivante:

Où pour le 17ème mot (juste la valeur t change pour chaque mot):

On commence par retrouver le mot 15 places en arrière (𝑊 (1)). On fait ensuite deux copies de cela. Premièrement, nous prenons le premier exemplaire et rotation à droite de 7 positions (𝑅𝑂𝑇𝑅⁷ (𝑥)). Cela signifie que chaque chiffre se déplace vers la droite un endroit 7 fois et lorsque les chiffres tombent à la fin, ils sont déplacés vers l’avant:

𝑾 (𝟏) = 01110011011011010110111101110101

Avec le deuxième exemplaire, nous rotation à droite de 18 (𝑅𝑂𝑇𝑅¹⁸ (𝑥)):

Enfin, nous reprenons l’original et le déplacer vers la droite de 3 (𝑆𝐻𝑅³ (𝑥)). Cela signifie que lorsqu’un nombre tombe à la fin, il est remplacé par des zéros au début du mot:

Nous prenons ensuite ces 3 mots et appliquons:

Où:

le opération OU exclusif au niveau du bit (XOR ⨁) prend deux chiffres binaires et renvoie 0 si les deux chiffres sont 0 ou 1 et renvoie 1 sinon. Comme nous avons 3 mots, nous utilisons d’abord l’opération XOR sur 𝑅𝑂𝑇𝑅⁷ (𝑥) et 𝑅𝑂𝑇𝑅¹⁸ (𝑥), puis prenons ce résultat et utilisons l’opération XOR avec 𝑆𝐻𝑅³ (𝑥).

Par conséquent, concluant que:

Conversion de ce résultat en forme hexadécimale on a:

Nous reprenons maintenant le mot 2 places (𝑊 (14)) et faisons 2 copies. Nous prenons ensuite la première copie et tournons à droite de 17 positions (𝑅𝑂𝑇𝑅¹⁷ (𝑥)):

𝑾 (𝟏𝟒) = 00000000000000000000000000000000

Maintenant, nous prenons la 2ème copie et tournons à droite de 19 positions (𝑅𝑂𝑇𝑅¹⁹ (𝑥)):

Enfin, nous prenons le décalage d’origine et à droite de 10 (𝑆𝐻𝑅¹⁰ (𝑥)):

Nous prenons ensuite ces 3 mots et appliquons:

Où:

Par conséquent, concluant que:

Comme le mot entier n’est composé que de zéros, la valeur hexadécimale est 0. Nous nous référons ensuite à notre formule du mot suivant, en trouvant le mot 16 places en arrière (𝑊 (0)) et le mot 7 en arrière (𝑊 (9)).

𝑊 (0) = 01110000011011110111001001110100 0

𝑊 (9) = 00000000000000000000000000000000

Nous pouvons maintenant calculer 𝑊 (16). Pour cela, nous utilisons l’addition binaire (+) qui suit les règles indiquées ci-dessous:

La première colonne est ignorée pour conserver le format 32 bits. Maintenant, nous avons notre 17e mot (𝑊 (16)):

𝑾𝟏𝟔 = 𝟎𝟎𝟏𝟎𝟏𝟏𝟏𝟏𝟏𝟏𝟎𝟎𝟎𝟏𝟎𝟏𝟏𝟎𝟎𝟏𝟏𝟏𝟏𝟎𝟎𝟏𝟎𝟏𝟏𝟏𝟏𝟏

Enfin, nous convertissons cela du binaire en forme hexadécimale:

Ce processus est ensuite répété jusqu’à ce que nous nous retrouvions avec 64 mots. En calculant les mots restants, nous nous retrouvons avec les mots ci-dessous:

Pour calculer le hachage final, nous devons exécuter 64 itérations de l’équation ci-dessous:

En utilisant nos 64 mots (𝑊) du tableau ci-dessus et les valeurs de hachage initiales (𝒂 𝒕𝒐 𝒉), où:

(¬) est le NE PAS opération qui renvoie 0 si le chiffre est 1 et 1 si le chiffre est 0. Nous utilisons également (∧) qui est le ET opération, ce renvoie 1 si les deux chiffres sont 1 et 0 sinon.

Exemple: Calcul 𝑡 (0)

Pour calculer 𝑡 (0), nous devons calculer nos nouvelles valeurs de hachage 𝒂 𝒕𝒐 𝒉. Commençant par une, où:

Découverte 𝑻𝟏:
𝑒 = 510𝑒527 = 01010001000011100101001001111111
𝑓 = 9𝑏05688𝑐 = 10011011000001010110100010001100
𝑔 = 1𝑓83𝑑9𝑎𝑏 = 00011111100000111101100110101011
h = 5𝑏𝑒0𝑐𝑑19 = 01011011111000001100110100011001

En revenant à la formule d’itération finale, nous pouvons maintenant calculer T (1):

Donnant:

𝑻𝟏 = 01100011111001110101111111011100

Découverte 𝑻𝟐:
𝑎 = 6𝑎09𝑒667 = 01101010000010011110011001100111
𝑏 = 𝑏𝑏67𝑎𝑒85 = 10111011011001111010111010000101
𝑐 = 3𝑐6𝑒𝑓372 = 00111100011011101111001101110010

On peut maintenant calculer 𝑇 (2):

Donnant:

𝑻𝟐 = 00001000100100001001101011100101

Maintenant, nous pouvons calculer 𝒂 à partir de 𝑇 (1) et 𝑇 (2):

Donnant:

𝒂 = 01101100011101111111101011000001

En convertissant en hexadécimal, nous avons:

𝑎 = 6c77fac1

En revenant à l’algorithme d’itération, nous pouvons également maintenant calculer 𝑒:

𝑑 = 𝑎54𝑓𝑓53𝑎 = 10100101010011111111010100111010
𝑇 (1) = 01100011111001110101111111011100

Donnant:

𝑒 = 00001001001101110101010100010110

En convertissant en hexadécimal, nous avons:

𝑒 = 09375516

En revenant à l’algorithme d’itération, nous trouvons également:

𝑏 = 𝑎 = 6𝑎09𝑒667
𝑐 = 𝑏 = 𝑏𝑏67𝑎𝑒85
𝑑 = 𝑐 = 3𝑐6𝑒𝑓372
𝑓 = 𝑒 = 510𝑒527𝑓
𝑔 = 𝑓 = 9𝑏05688𝑐
h = 𝑔 = 1𝑓83𝑑9𝑎𝑏

Nous laissant les valeurs finales pour la première itération 𝑡 (0):

Nous effectuons ensuite 63 itérations supplémentaires de l’algorithme, en utilisant nos valeurs 𝒂-𝒉 de l’itération précédente, mise à jour à chaque tour. Cela nous laisse avec la 64e itération 𝑡 (63):

En utilisant ces valeurs, nous calculons la ième valeur de hachage intermédiaire 𝐻 (i) donnée par ce qui suit:

Où a-h sont les valeurs de notre itération finale (𝑡 (63)) et 𝐻 (0) (0) à 𝐻 (7) (0) sont les valeurs de hachage initiales.

Nous donnant:

……

Enfin, nous pouvons convertir les valeurs de hachage intermédiaires sous forme hexadécimale, nous donnant nos parties pour le résumé du message final:

En rassemblant ces valeurs dans la disposition suivante, nous avons maintenant notre résumé de message final (𝑀):

𝑴 = 3ccf243960d58d970b38dfbfa68be5c554c7462c960ab480933eb16b0d789597

Comme indiqué au début du chapitre, nous pouvons voir que, d’après notre message initial «portsmouth», pas de ressemblance au résumé du message. Le long processus de SHA-256 est nécessaire pour conserver la sécurité de Bitcoin, garantissant qu’il n’y a aucun moyen possible d’inverser le processus. Si une méthode de retournement était possible, les attaquants auraient la possibilité de modifier les transactions sur la blockchain à leur choix.

Et cela conclut le processus de hachage. Si vous vous demandez comment j’ai pu obtenir tous ces résultats (je crains de ne pas avoir calculé chaque itération moi-même) ou si vous vouliez l’essayer vous-même, je vous recommande de vérifier ce document google sheets du processus de hachage par David Rabahy.

Si vous avez aimé cette série ou avez des questions brûlantes, n’hésitez pas à déposez un commentaire ci-dessous.

Première et deuxième parties
Partie trois

ShareTweetPin

Related Posts

Bitcoin bull market is back – The Startup
Cryptomonnaie

Le marché haussier du Bitcoin est de retour – Sajjad Hussain

Le marché haussier du Bitcoin est de retour - Sajjad Hussain Après les dizaines de milliers de dollars éphémères début...

Crypto City Zeroing d’Akon sur le Sénégal – Akoin and the Aftermath
Cryptomonnaie

Crypto City Zeroing d’Akon sur le Sénégal – Akoin and the Aftermath

Crypto City Zeroing d'Akon sur le Sénégal - Akoin and the Aftermath

Merkle Trees: de plus en plus en usage – EricB10
Cryptomonnaie

Merkle Trees: de plus en plus en usage – EricB10

Merkle Trees: de plus en plus en usage - EricB10 Ralph C. Merkle ( photo ci-dessus), né en 1952, est...

Analyse du marché Bitcoin – La startup
Cryptomonnaie

Analyse du marché Bitcoin – La startup

Analyse du marché Bitcoin - La startup D'accord, continue. Nous ne parlons pas de ces problèmes de coûts. Comme je...

Next Post
La mode de l’évasion estivale me permet de traverser le verrouillage

La mode de l'évasion estivale me permet de traverser le verrouillage

Business : Comment passer d’un écrivain à un écrivain à succès

Business : Comment passer d'un écrivain à un écrivain à succès

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Accueil
  • Questions & Réponses
  • Science
  • Astuces
  • Business
  • Cryptomonnaie
  • Design
  • Marketing
  • Programmation
  • Politique de confidentialité
  • A propos
  • Contact

© 2018-2020 SupportIVY - Premium Magazine.

No Result
View All Result
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt