Qui dit cryptomonnaie implique que l’on fait appel de la cryptologie. Et de fait, dès son origine, le bitcoin a fait appel à des mécanismes avancés de ce domaine, notamment le couple clé privée-clé publique.
au sommaire
Les techniques de cryptage remontent à la nuit des temps. Déjà au IIIe siècle avant J.-C., Jules César tentait de rendre ses messages indéchiffrables en décalant chacune des lettres de trois positions dans l'alphabet. Une étape majeure a été franchie en 1943 lorsque, sous l'impulsion du mathématicienmathématicien Alan TuringAlan Turing, un ordinateur développé par l’armée américaine a été affecté à cette tâche.
Grâce à leur puissance de calcul, les ordinateurs sont en mesure d'opérer un brouillage d'une complexité inouïe. Le cryptage informatique repose sur l'utilisation d'une « clé » secrète, soit un nombre premier. Cette clé est multipliée aux chiffres du texte que l'on souhaite dissimuler aux intrus. Plus le nombre de bits de la clé de cryptage est élevé et plus le message est difficile à déchiffrer.
Le couple clé privée / clé publique n'est lui-même pas nouveau. Il a notamment été mis en œuvre dans le logiciel de cryptage des communications PGP publié par Phil Zimmerman au début des années 90.
- La clé privée est l'équivalent d'un numéro d'identification totalement unique.
- La clé publique correspond à l'identification d'une transaction donnée, par exemple, le n° d'un chèque que vous signez.
La clé privée vous identifie
Le couple fonctionne ainsi : lorsque vous vous inscrivez sur un exchange tel que Coinbase, Binance ou Uniswap, ou encore lorsque vous créez un portefeuille bitcoinbitcoin sur votre PCPC, une clé privée vous est attribuée.
Cette clé privée est un nombre de 256 bits vouée à demeurer secrète - personne d'autre que vous n'est censé y avoir accès. 256 bits représentent un nombre si énorme qu'il est impossible de se l'imaginer mentalement. Et de fait, l'atout principal de la clé privée est qu'elle est infalsifiable : on estime que, si un ordinateur était en mesure de traiter 1012 clés privées par seconde, il lui faudrait un million de fois l'âge de l'universunivers pour les dénombrer toutes !
La clé publique s'applique à une transaction
L'astuce utilisée dans les cryptomonnaies telles que bitcoin et ethereumethereum est la suivante. Lorsqu'une transaction intervient entre deux individus, par exemple lorsque Bob adresse 1/100e de Bitcoin à Alice :
- une clé publique est calculée à partir de la clé privée de Bob ;
- une clé publique est calculée à partir de la clé privée d'Alice.
Or, l'astuce cryptographique est la suivante : s'il est possible de vérifier que les clés publiques sont correctes, il est impossible depuis une clé publique de remonter jusqu'à la clé privée ! De cette façon, une transaction effectuée dans une cryptomonnaiecryptomonnaie est assortie d'un niveau de sécurité irréprochable.
Certains usagers du réseau appelé les « mineurs » ont pour vocation de vérifier que les deux clés publiques sont correctes mais aussi d'autres facteurs authentifiant cette transaction.
L'algorithme SHA-256
Le calcul permettant de valider une transaction repose sur SHA-256, une fonction qui, à partir d'un nombre donné, renvoie un « hash », soit une séquence de chiffres de 256 bits.
L'algorithme SHA-256 (Secure Hash AlgorithmSecure Hash Algorithm 256) a été développé par l'agence de sécurité américaine NSA et publié en 2001. Si l'on prend un texte ou une suite de chiffres quelconque et qu'on le soumet à SHA-256, il en résulte un certain nombre. Or, il suffit de changer une seule lettre ou un seul chiffre pour obtenir un nombre radicalement différent du précédent. Une fois que la transaction est validée, elle est alors inscrite dans le registre des transactions qu'est la blockchain.
Ainsi donc, le couple clé privée / clé publique est l'élément fondamental des transactions effectuées en cryptomonnaie.