Andreas Antonopoulos : la cryptographie
Dans cette vidéo Q&A Andreas Antonopoulos nous explique comment fonctionne la cryptographie sur laquelle se base Bitcoin.
La cryptographie principalement employée dans Bitcoin, et dans la plupart des autres cryptomonnaies, est basée sur un champ des mathématiques appelé les courbes elliptiques.
La cryptographie sur les courbes elliptiques a été choisie pour remplir cette fonction, car dans le champ des courbes elliptiques, l’arithmétique fonctionne de la même manière que l’arithmétique normale, mais avec une différence notable. Les additions et multiplications fonctionnent exactement de la même manière. Toutefois, les soustractions et les divisions sont impossibles.
Si on multiplie des nombres, alors on obtiendra facilement leurs produits. Mais pour les diviser il faut essayer tous les facteurs possibles, c’est-à-dire une recherche par force brute. Vous avez ici la base sur laquelle fonctionne la cryptographie.
Selon Andreas Antonopoulos, l’une des meilleures façons d’illustrer ce concept est de le comparer à mélanger des peintures. Prenons une peinture bleue et une peinture jaune. Mélanger ces couleurs serait simple et produirait une teinte de vert.
Si vous montrez cette teinte de vert à quelqu’un, il sera incapable de dire exactement quelles teintes de bleu et de jaune ont été utilisées pour produire cette couleur verte. Pour connaître exactement les tentes de peinture utilisées, vous devriez reproduire ce mélange avec toutes les teintes à votre disposition jusqu’à produire la même teinte de vert.
Cela fonctionne exactement de la même manière dans le domaine des courbes elliptiques. Les signatures digitales utilisent des additions et multiplications tout en sachant que la division est impossible, afin de produire une preuve que la personne qui a créé cette signature est en possession de la clé privée. Tout ceci sans révéler la clé privée.
Lorsque vous produisez une signature digitale, vous générez un nombre et ce nombre est le résultat d’une multiplication d’un nombre aléatoire avec votre clé privée. Lorsque l’on compare ce résultat avec la clé publique, on peut prouver qu’il a été produit par la clé privée.
Cette petite astuce représente la manière dont une signature digitale vous permet de prouver que vous connaissez la clé privée. Et quiconque possède la clé publique peut vérifier si la signature produite est liée à la clé privée. Encore une fois, l’essence de ce procédé est de ne pas révéler la clé privée.
En somme, une clé privée est un nombre. Une clé publique est un point sur la courbe elliptique qui est produit en multipliant la clé privée avec un autre point de la courbe. Ce second point est appelé le point de génération. Tant que vous connaissez la clé privée, vous pouvez produire une clé publique. Mais avec une clé publique, vous ne pouvez pas déterminer la clé privée.
Vous pouvez trouver de plus ample informations sur le sujet dans le chapitre 6 de Mastering Bitcoin, dans la section ECDSA maths.
Sources : Youtube || image from Shutterstock.com