logo academy

Clé publique et clé privée : que sont-elles et comment fonctionnent-elles ?

12 janvier, 2023

9 min

Clé publique et clé privée : que sont-elles et comment fonctionnent-elles ?
débutant

T’es-tu déjà demandé pourquoi on les appelle “cryptomonnaies”‘ ? L’origine de ce terme remonte à la cryptographie, une branche des mathématiques utile pour protéger les données en ligne et rendre les réseaux plus sûrs. La cryptographie asymétrique permet d’échanger des cryptos, grâce à une clé publique et une clé privée : découvrons ensemble ce qu’elles sont, quelles sont leurs différences et comment elles sont utilisées pour effectuer des transactions sur blockchain.

Clé publique et privée : cryptographie asymétrique

L’histoire de la cryptographie nous apprend qu’à l’origine, cette science était utilisée pour crypter et décrypter d’importantes informations militaires et gouvernementales.

Les propriétaires de cryptomonnaies, quant à eux, utilisent la cryptographie pour assurer la sécurité de leurs fonds, c’est-à-dire pour prouver leur propriété exclusive. La technologie blockchain utilise la cryptographie asymétrique ou à clé publique : chaque utilisateur du réseau respectif se voit attribuer une clé publique et une clé privée, une paire de codes cryptographiques liés par une logique mathématique. 

Les clés cryptographiques sont associées à un portefeuille de cryptomonnaies : un outil similaire à un ” portefeuille numérique ” qui permet d’administrer, d’envoyer, de recevoir et de stocker ses cryptomonnaies ; c’est dans ces opérations que l’on voit la différence entre clés publiques et privées. 

Ce dernier permet d’utiliser les cryptomonnaies détenues par le portefeuille, en signant les transactions pour qu’elles soient approuvées. La clé privée est un code similaire à un code PIN ou à un mot de passe, que seul le propriétaire du portefeuille doit connaître. 

La clé publique, quant à elle, peut être partagée avec tout le monde, afin que l’authenticité des signatures associées à la transaction puisse être vérifiée. La clé publique peut également être utilisée pour recevoir des cryptomonnaies, comme alternative à l’adresse du portefeuille

La relation entre la clé publique et la clé privée est unidirectionnelle, car un algorithme génère la première à partir de la seconde et l’opération ne peut être inversée. Plaçons ce mécanisme, fondamental pour la sécurité des cryptomonnaies, dans le processus de création d’un portefeuille : reconstituons les étapes depuis le début.

Clé privée : à quoi sert-elle ?

A tout portefeuille, correspond tout d’abord une phrase d’amorçage, également connue sous le nom de phrase de récupération. Il s’agit d’une séquence de 12 ou 24 mots, générée aléatoirement par un algorithme, qui permet à l’utilisateur d’accéder à son portefeuille ou de le récupérer sur un autre appareil. Vous pouvez considérer la phrase de départ comme une sorte de “mot de passe principal”, à partir duquel toutes les clés publiques et privées associées au portefeuille sont dérivées. 

La phrase de départ, par le biais d’une fonction de hachage, est ensuite transformée en une séquence alphanumérique qui correspond à la clé privée du portefeuille.

Cette chaîne de lettres et de chiffres n’a plus aucun sens et il est mathématiquement impossible de l'”inverser” pour remonter à la phrase de départ ; en pratique, la clé privée se présente sous une forme similaire à celle-ci : 

534EL5ntg8oh34o5KE34534jnl3qtWqF45o3O4JK34h4thapfnqc8tgpnap

Considérez la clé privée comme un code PIN personnel, ou votre signature, grâce auquel vous pouvez gérer les fonds que vous détenez. Ce code personnel est nécessaire pour initier des transactions et organiser toute autre opération liée à sa crypto. Habituellement, dans un portefeuille, une clé privée différente est associée à chaque réseau de blockchain, mais elle est dérivée de la même phrase de départ. Par exemple, pour Bitcoin et Ethereum, nous aurons des clés et des adresses distinctes.   

Pour garder soigneusement votre clé privée, vous devez adopter les principes de base de la gestion des mots de passe : toute personne qui la connaît pourrait utiliser vos cryptomonnaies ! Certains portefeuilles dits “non-custodial exigent que l’utilisateur stocke sa propre phrase d’amorçage et donc ses clés privées ; Metamask, le principal portefeuille cryptographique pour Ethereum, en est un exemple. Par ailleurs, si vous souhaitez simplifier la gestion de vos clés, vous pouvez externaliser le stockage des clés à des tiers expérimentés, en utilisant des portefeuilles de dépôt tels que celui intégré dans l’exchange de Young Platform. Dans tous les cas, choisissez la solution de portefeuille qui vous convient le mieux, adaptée à votre expérience et à vos usages.

Nous avons dit que la clé privée est utilisée pour signer les transactions, afin que n’importe qui puisse vérifier que c’est le propriétaire légitime de ces fonds qui a initié la transaction. Toutefois, pour reconnaître l’authenticité des signatures et indiquer le destinataire des cryptomonnaies, d’autres codes cryptographiques sont nécessaires : voyons donc ce que sont une clé publique et une adresse de portefeuille. 

Comment la clé publique est-elle calculée ?

À partir de la clé privée, il est possible de dériver la clé publique associée à la même adresse de portefeuille : elle résultera d’une fonction géométrique particulière, appelée ECC (Elliptic Curve Cryptography). En pratique, la clé publique (P) est liée à la clé privée (k) selon la formule P=k*G, où G est une constante. Sur le plan cartésien, les deux clés sont les coordonnées d’un point sur la courbe ECC. 

En d’autres termes, étant donné la clé privée, il est possible de trouver la clé publique, mais l’inverse est impossible, car cela nécessiterait des calculs trop complexes, même pour les ordinateurs quantiques.

Ainsi, la clé publique est un autre code alphanumérique, similaire à la clé privée, mais qui ne révèle aucune information sur cette dernière. Pour cette raison, le premier peut être partagé sans risque : il permet aux utilisateurs de recevoir des cryptomonnaies et de vérifier l’authenticité des transactions.

En effet, à chaque fois qu’une transaction est effectuée sur la blockchain, le réseau évalue si la clé publique de l’expéditeur est cohérente avec la signature numérique associée à la transaction, selon un mécanisme que nous expliquerons plus loin. De la clé publique découle l’adresse du portefeuille : une chaîne de 42 caractères, indiquée par le destinataire pour recevoir des cryptomonnaies. L’adresse du portefeuille fonctionne comme l’IBAN de notre compte bancaire.

Maintenant que nous savons ce que sont la clé publique et la clé privée, nous pouvons comprendre comment elles sont utilisées en simulant un envoi de cryptomonnaies. 

Signatures numériques : vérification d’une transaction sur la blockchain

Supposons qu’Andrea veuille envoyer 1 BTC à Béatrice :

  1. Andrea, par le biais de son portefeuille, indique à la blockchain qu’il souhaite envoyer 1 BTC à l’adresse de Béatrice, en générant un message contenant les informations nécessaires ; 
  2. Ces indications sont “résumées” par une fonction de hachage dans un code plus compact ;
  3. Andrea crypte le hachage avec sa clé privée, générant ainsi une signature numérique. Ceci approuve la transaction ;
  4. La signature numérique est attachée à l’information source, pas encore traduite en un hash, et ensemble ils sont envoyés au réseau du validateur.

Les nœuds Bitcoin, avant de communiquer les informations aux mineurs, doivent vérifier la validité de la transaction : 

  1. Ils entrent les informations, liées à la transaction, dans la même fonction de hachage utilisée par Andrea, recevant ainsi un hachage en sortie ;
  2. En utilisant la clé publique associée au portefeuille d’Andrea, ils décryptent la signature numérique de la transaction et obtiennent une autre chaîne de hachage en sortie. N’oubliez pas que chaque clé publique peut décrypter sa clé privée respective et vice versa.
  3. Ils vérifient que les deux hashs correspondent : s’ils sont identiques, ce sera une preuve irréfutable que c’est bien Andrea qui a envoyé les cryptomonnaies à Beatrice, c’est-à-dire le propriétaire légitime des fonds. En effet, si les informations n’ont pas changé, la fonction de hachage renverra toujours la même combinaison, donc le hachage à partir duquel la signature numérique a également été créée.

Dans l’exemple que nous venons de donner, le portefeuille n’a besoin que de la signature d’Andrea pour déplacer les fonds ; cependant, il existe des portefeuilles qui nécessitent plusieurs signatures numériques pour approuver une transaction. Ceux-ci sont contrôlés par plusieurs copropriétaires, chacun étant associé à une clé privée : ce sont les portefeuilles multisig

Maintenant que nous avons découvert ce que sont la clé publique et la clé privée, vous pouvez utiliser vos portefeuilles avec plus de conscience et donc de sécurité.

En rapport