Les clés publiques et privées sont essentielles pour le Bitcoin et d'autres crypto-monnaies. Elles vous permettent d'envoyer et de recevoir des crypto-monnaies dans votre portefeuille sans avoir besoin d'un tiers centralisé pour autoriser vos transactions.
Ces clés font partie du cadre de la cryptographie à clé publique (PKC) et sont des composants critiques qui assurent la sécurité de vos actifs numériques. Mais qu'est-ce qu'elles sont exactement, et comment fonctionnent-elles ensemble pour protéger vos fonds.
Qu'est-ce que la cryptographie à clé publique ?
La cryptographie à clé publique (PKC) est une technologie qui utilise le chiffrement asymétrique pour valider l'authenticité des données. À l'origine, le PKC était utilisé dans l'informatique traditionnelle pour chiffrer et déchiffrer des messages. Cette technologie est désormais utilisée par les crypto-monnaies pour chiffrer et déchiffrer les transactions.
Le PKC repose sur des « fonctions à trappe », qui sont des fonctions mathématiques à sens unique, simples à résoudre dans un sens mais presque impossibles à casser dans l'autre sens. Bien que cela soit possible, la rétro-ingénierie de ces fonctions nécessite un super-ordinateur quantique et des milliers d'années.
Qu'est-ce qu'une clé publique ?
Une clé publique est un code cryptographique qui permet aux utilisateurs de recevoir des crypto-monnaies sur leurs comptes. Bien que n'importe qui puisse envoyer des transactions à la clé publique, la clé privée est nécessaire pour « déverrouiller » ces transactions et prouver que vous êtes propriétaire de la crypto-monnaie reçue.
La clé publique capable de recevoir des fonds est généralement connue sous le nom d'adresse – une version raccourcie de votre clé publique. Par exemple, voici la toute première adresse Bitcoin jamais créée : 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa.
Vous pouvez partager librement votre clé publique sans crainte. Vous avez peut-être déjà rencontré des pages de dons pour des créateurs de contenu ou des organismes de bienfaisance qui incluent les clés publiques de leurs adresses crypto. Bien que n'importe qui puisse faire un don, la clé privée est requise pour débloquer et accéder aux fonds donnés.
Qu'est-ce qu'une clé privée ?
Une clé privée est un code cryptographique qui vous permet de prouver votre propriété et de dépenser les fonds associés à votre adresse publique. Cette clé privée peut prendre différentes formes :
- Un code binaire de 256 caractères de long.
- Un code hexadécimal de 64 chiffres.
- Un QR code.
- Une seed phrase mnémonique.
Quelle que soit sa forme, la clé privée est un nombre astronomiquement grand – et pour de bonnes raisons. Vous pouvez utiliser une clé privée pour générer une clé publique.
Cependant, faire l'inverse est presque impossible en raison de la fonction de « trappe » à sens unique. Une clé privée peut également être liée à un nombre illimité de clés publiques.
Avertissement ! Ne partagez jamais votre clé privée avec qui que ce soit, même pas avec vous-même !
Comment fonctionnent les clés privées et publiques ?
Lorsque vous créez un portefeuille, un générateur de nombres vraiment aléatoires (TRNG) sur un élément sécurisé génère votre clé privée. Elle est composée d'une longue chaîne de caractères alphanumériques.
La clé privée vous est unique et vous permet de retirer, transférer ou effectuer toute autre transaction depuis votre portefeuille.
Un algorithme complexe utilise votre clé privée pour générer votre clé publique - une longue chaîne de chiffres compressée et réduite pour former l'adresse publique.
Comment une clé privée génère-t-elle des clés publiques dans les portefeuilles crypto ?
Une clé privée génère des clés publiques grâce à la cryptographie asymétrique, en utilisant spécifiquement des algorithmes mathématiques tels que Rivest-Shamir-Adleman (RSA), la cryptographie sur les courbes elliptiques (ECC) ou l'algorithme de signature numérique (DSA).
Voici une explication simplifiée de la façon dont ce processus fonctionne avec la cryptographie sur les courbes elliptiques, communément utilisée dans de nombreuses blockchains modernes comme Bitcoin.
1. Choix d'une courbe elliptique
La première étape consiste à sélectionner une courbe elliptique spécifique, une construction mathématique avec des propriétés définies. Dans Bitcoin, la courbe largement utilisée est appelée secp256k1.
2. Dérivation d'un point unique
La clé privée est un nombre aléatoire souvent représenté sous la forme d'un grand entier. Ce nombre est utilisé pour dériver un point unique sur la courbe elliptique choisie à travers un processus connu sous le nom de multiplication de points.
3. Génération de la clé publique
Ce point unique dérivé de la clé privée est la clé publique correspondante, représentée par deux coordonnées (x, y) sur la courbe. Cependant, seule la coordonnée x est généralement utilisée, ce qui donne une clé publique compressée.
4. Compression du point unique (Optionnel)
Par souci d'efficacité, la clé publique complète peut être compressée dans une forme plus courte, qui permet toujours les opérations cryptographiques.
5. Hashage SHA-256 et RIPEMD-160
Dans Bitcoin, la clé publique compressée est hachée deux fois à l'aide des fonctions de hachage cryptographiques SHA-256 et RIPEMD-160. Ce processus crée une représentation plus courte de taille fixe connue sous le nom de Public Key Hash (PKH), utilisée dans les adresses Bitcoin.
6. Ajout d'une somme de contrôle (Optionnel)
Certains systèmes de blockchain ajoutent une somme de contrôle au PKH pour améliorer la détection d'erreurs. Ce n'est pas toujours le cas dans toutes les crypto-monnaies.
7. Encodage Base58
Enfin, le PKH (avec ou sans la somme de contrôle) est encodé dans un format comme Base58, éliminant les caractères ambigus et rendant l'adresse publique plus lisible par l'homme.
L'adresse résultante, dérivée de la clé publique, est celle que vous voyez et utilisez pour envoyer ou recevoir des crypto-monnaies.
Bien qu'il soit presque impossible d'un point de vue calculatoire de dériver la clé privée à partir de la clé publique, le processus inverse (créer une clé publique à partir d'une clé privée) est relativement transparent en raison des propriétés mathématiques des courbes elliptiques, permettant aux utilisateurs de prouver la propriété de leur portefeuille sans révéler leur clé privée.
Clés privées vs. clés publiques
Clés privées
Objet : Accéder et sécuriser les actifs cryptographiques. Pour créer des signatures numériques.
Stockage : Disponibles uniquement pour leur propriétaire. Elles doivent rester secrètes et ne jamais être divulguées.
Génération : Générées par un véritable générateur de nombres aléatoires.
Sécurité : Elles ne peuvent pas être dérivées d'une clé publique ou d'une signature numérique.
Clés publiques
Objet : Vérifier la légitimité des transactions. Elles servent aussi d'adresse.
Stockage : Stockées dans le domaine public et peuvent être divulguées à des tiers en tant qu'adresse de portefeuille.
Génération : Générées avec une clé privée.
Sécurité : Elles peuvent être dérivées d'une clé privée ou consultées dans le registre de la blockchain.
Chiffrement asymétrique
Les deux clés fonctionnent ensemble pour chiffrer et déchiffrer les messages. Lorsque vous chiffrez un message avec la clé publique d'une personne, le destinataire ne peut le déchiffrer qu'avec la clé privée correspondante. Par conséquent, les messages chiffrés ne peuvent être lus que par le destinataire prévu. La capacité à garantir l'identité de l'expéditeur est un autre avantage du chiffrement asymétrique.
Par exemple, vous souhaitez envoyer un message secret à votre ami, Patrick. Vous chiffrerez d'abord le message avec la clé publique de Patrick, puis le signerez avec votre clé privée. Patrick devra le déchiffrer avec sa clé privée.
Comment fonctionnent les transactions crypto avec des clés privées et publiques
Prenons un scénario où vous souhaitez envoyer du Bitcoin à Patrick. Tout d'abord, vous avez besoin de l'adresse publique de Patrick, une forme plus courte de sa clé publique. Vous signez ensuite le message avec votre clé privée pour garantir que la transaction n'a pas été modifiée. La transaction est ensuite chiffrée et transmise pour être vérifiée par les nœuds sur le réseau Bitcoin.
Le portefeuille de Patrick utiliserait alors sa clé privée pour déchiffrer le message de la transaction et obtenir le Bitcoin que vous avez envoyé. De plus, Patrick doit garder sa clé privée confidentielle car toute personne ayant accès à celle-ci aura également accès à tous les fonds associés.
Rappelez-vous qu'une transaction authentique et minée est irréversible. Vérifiez donc que vous envoyez des fonds à la bonne adresse publique sur le bon réseau avant de signer la transaction avec votre clé privée.
Où sont stockées les clés privées ?
Les clés privées sont stockées dans un portefeuille de crypto-monnaie, soit un logiciel pour mobile ou ordinateur (hot wallet) soit un appareil matériel spécialisé (cold wallet).
Si vous stockez de la crypto-monnaie sur un échange comme Binance ou Coinbase, l'échange devient le gardien de vos clés privées. Dans les portefeuilles de type custodial, vous confiez le gardien de vos clés privées comme vous confieriez l'argent à la chambre forte d'une banque.
Dans un portefeuille non-custodial, vous avez le contrôle de vos clés privées. Heureusement, les portefeuilles de crypto-monnaie non-custodial sont configurés et fonctionnent de manière à ce que vous n'ayez que rarement à traiter directement avec les clés privées.
Les portefeuilles stockent et signent automatiquement les transactions avec elles. Comme sauvegarde, vous pouvez avoir vos clés privées sous forme de seed phrase ou sur plusieurs appareils matériels pour garantir la redondance.
Comment les clés publiques et privées contrôlent votre crypto-monnaie
Comprendre comment les clés publiques et privées interagissent est essentiel pour comprendre les transactions en crypto-monnaies. Lorsque vous dites que vous possédez de la crypto-monnaie, cela signifie que vous avez une clé privée prouvant que vous en êtes le propriétaire.
Votre philosophie et votre tolérance au risque peuvent influencer la décision entre « détenir vos propres clés » et faire confiance à un gardien.
Si vous voulez un contrôle total sur vos clés privées, envisagez des portefeuilles matériels modernes comme le Portefeuille Tangem. Ce portefeuille fait un excellent travail de gestion et ne révèle jamais vos clés privées.
Lorsque vous choisissez une solution de type custodial, comme un échange, optez pour une entreprise réputée qui donne la priorité à la sécurité et à la régulation.
Conclusion
Pensez à la clé publique comme à votre adresse e-mail et à votre clé privée comme à votre mot de passe. N'importe qui peut vous envoyer un e-mail, mais seul vous pouvez le lire en entrant votre mot de passe. Les clés privées, comme les mots de passe des e-mails, doivent être gardées pour vous, tandis que les clés publiques peuvent être partagées.