A
A

Bitcoin : A quoi sert SHA-256 ?

sam 17 Juin 2023 ▪ 6 min de lecture ▪ par Nicolas T.
Apprendre Cybersécurité

Tous les bitcoiners ont entendu parler de l’algorithme SHA-256. Mais à quoi sert-il exactement ?

Bitcoin SHA-256

SHA-256 (Secure Hash Algorithm)

SHA-256 est une invention de la National Security Agency (NSA) publiée par le National Institute of Standards and Technology (NIST) en 2001.

En essence, la fonction SHA-256 est un algorithme qui produit des hash de 256 bits. Par exemple :

b4f8dd11c7ad56c6e3ec33464ca087c61fe2d4a52a36b247eb62cf8686193788

Quoique vous donniez en entrée de la fonction (une seule lettre ou bien une bible entière), vous obtiendrez toujours en sortie un hash de 256 bits. Le calcul du hash est fondé sur des principes cryptographiques solides.

Par ailleurs, SHA-256 est une fonction déterministe. C’est-à-dire qu’une même donnée en entrée donnera toujours le même hash en sortie. Mais faites varier une seule virgule (dans l’exemple de la bible) et vous obtiendrez un hash complètement différent.

De nombreuses technologies reposent sur SHA-256. C’est le cas du protocole Bitcoin. Il est par exemple utilisé dans le système de Proof of Work.

Pour « trouver un bloc », les mineurs prennent l’en-tête du bloc en question et le passent à la moulinette de la fonction SHA-256. Leur objectif est de tester frénétiquement différentes entrées en faisant varier un chiffre appelé nonce (« number used once ») jusqu’à trouver un hash valide.

SHA-256 est également utilisé pour produire la racine de l’arbre de Merkle que l’on utilise pour compiler toutes les transactions d’un bloc en un seul hash qui ira dans l’en-tête du bloc.

Qu’est-ce qu’un en-tête de bloc ? Visitez notre article : Bitcoin – Qu’y a-t-il dans un bloc ?

Un autre algorithme moins connu que SHA-256, mais tout aussi important, est ECDSA (Elliptic Curve Digital Signature Algorithm). Il repose sur la courbe elliptique secp256k1. Cette dernière sert à la création des paires de clés privée/publique indispensables au fonctionnement des transactions.

Une clé publique s’obtient en multipliant une clé privée (un nombre de 256 bits choisi au hasard) à l’aide d’une courbe elliptique. [Les adresses bitcoin dérivent des clés publiques. Elles sont des encodages de clés publiques.]

C’est ce que l’on appelle de la cryptographie asymétrique, appelée plus communément cryptographie à clé publique ou encore cryptographie à sens unique.

Ces appellations viennent du fait qu’une clé publique peut être calculée à partir d’une clé privée alors que l’inverse n’est pas possible. La clé privée ne peut pas être calculée à partir de la clé publique.

À moins d’avoir une puissance de calcul immense, probablement atteignable un jour avec les ordinateurs quantiques.

Peut-on venir à bout de 2²⁵⁶ bits?

Casser la cryptographie sur les courbes elliptiques utilisée pour générer les clés publiques requiert une attaque par force brute. Il faut essayer toutes les possibilités.

Chaque bit peut être soit un 1, soit un 0. Il y a donc 2²⁵⁶ possibilités, ce qui nous donne 1,1579 x 10^77 combinaisons potentielles dans le système décimal (0,1,2,3,4,5,6,7,8,9).

C’est impossible. Pour mettre ce chiffre en perspective, il égale le nombre d’atomes dans l’univers. Cependant, certains craignent que les ordinateurs quantiques puissent y parvenir grâce à l’algorithme de Shor.

De tels ordinateurs seraient alors capables de découvrir des seeds (et donc les clés privées qui en dérivent) correspondantes à des clés publiques. Dit autrement, tous les BTC pourraient être volés.

Notre article sur la seed : Quelqu’un peut-il découvrir ma seed ?

Il y a quatre ans, des physiciens de Google affirmaient que leur ordinateur quantique pouvait surpasser les machines classiques. Vérification faite, il ne s’agissait que d’un calcul de niche sans application pratique.

Aujourd’hui, les physiciens d’IBM assurent avoir la preuve que les ordinateurs quantiques surpasseront bientôt les ordinateurs ordinaires dans des tâches utiles telles que le calcul des propriétés des matériaux ou des interactions des particules élémentaires. La démonstration de principe est décrite dans la revue Nature du 14 juin.

Au lieu de manipuler des bits, l’informatique quantique utilise des « bits quantiques », ou qubits, ce qui lui permet de traiter les données de manière beaucoup plus efficace. Les qubits peuvent être zéro, un et une combinaison de zéro et de un.

Qubit
Source : Blog Ledger

Les chercheurs estiment qu’il faudrait au moins un million de qubits pour casser la cryptographie à clé publique RSA qui se base sur la factorisation de grands nombres premiers. Les scientifiques de l’Université du Sussex au Royaume-Uni estiment qu’il faudra 13 millions de qubits pour casser SHA-256.

Or, le plus grand ordinateur quantique disponible aujourd’hui (Osprey), annoncée en novembre par IBM, ne compte que 433 qubits. Nous avons donc le temps de préparer la parade.

La question du risque quantique fut posée à l’occasion de la conférence BitcoinPrague 2023. Il n’y avait pas d’experts sur le sujet, mais certains participants comme le développeur Bitcoin Core Peter Todd se sont montrés peu inquiets.

D’autant plus que des algorithmes cryptographiques post-quantiques sont en cours de développement. Pour le chiffrement général, le NIST a choisi l’algorithme CRYSTALS-Kyber.

Pour les signatures, le NIST a sélectionné trois algorithmes qui pourraient remplacer l’algorithme Schnorr utilisé par le Bitcoin :

-CRYSTALS-Dilithium,
-FALCON,
-SPHINCS+.

La normalisation des algorithmes cryptographiques post-quantiques est en cours et devrait arriver d’ici à deux ans.

De tels algorithmes sont cruciaux puisqu’une multitude de systèmes en dépendent. SHA-256, Schnorr et secp256k1 devront bientôt faire place.

Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.


A
A
Nicolas T. avatar
Nicolas T.

Reporting on Bitcoin, "the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy".

DISCLAIMER

Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.