Qu'est-ce qu'une clé publique en crypto ? Explication des clés et des signatures

BTC
ETH
signature numériqueadresse de portefeuillecryptographieauto-conservationclé privéeclé publiquesecp256k1
il y a 1 heureSource: crypto.news
Qu'est-ce qu'une clé publique en crypto ? Explication des clés et des signatures

Une clé publique est la contrepartie cryptographique d'une clé privée. Ensemble, elles vous permettent de prouver la propriété de cryptomonnaies sans révéler le secret qui les contrôle.

Résumé

  • Une clé publique est un grand nombre dérivé mathématiquement d'une clé privée à l'aide de la multiplication sur courbe elliptique, une fonction à sens unique qui est rapide à calculer dans un sens mais pratiquement impossible à inverser.
  • Bitcoin et Ethereum utilisent tous deux la courbe elliptique secp256k1, qui produit des clés privées de 256 bits et des clés publiques non compressées de 512 bits (ou des clés publiques compressées de 257 bits).
  • Une adresse de portefeuille n'est pas la même chose qu'une clé publique ; l'adresse est une version plus courte et hachée de la clé publique, conçue pour être plus facile à partager et plus résistante à certaines attaques théoriques.
  • La clé privée signe les transactions, la clé publique vérifie ces signatures, et l'adresse reçoit les fonds. Perdre la clé privée signifie une perte d'accès permanente ; partager la clé publique ou l'adresse ne comporte aucun risque pour la sécurité des fonds.
  • La vulnérabilité du firmware Coldcard de juillet 2026, qui a exposé une génération de clés privées faibles affectant 116 millions de dollars en bitcoin, souligne pourquoi une génération et un stockage appropriés des clés restent les aspects les plus critiques de l'auto-conservation.

La cryptographie à clé publique est le fondement de chaque transaction de cryptomonnaie, mais la plupart des utilisateurs n'interagissent jamais directement avec leur clé publique. Ils voient des adresses de portefeuille, scannent des codes QR et confirment des transferts sans comprendre la couche mathématique qui rend possible la propriété sans confiance.

Cette couche est importante car la comprendre change votre façon de penser la sécurité. Une clé publique n'est pas un mot de passe. Ce n'est pas un secret. C'est un nombre que vous pouvez partager avec n'importe qui, et à partir duquel personne ne peut dériver la clé privée qui contrôle vos fonds. Cette asymétrie, facile à parcourir dans un sens mais impossible à inverser, est ce qui permet à des étrangers sur Internet de s'envoyer de l'argent sans faire confiance à une banque, à un gouvernement ou les uns aux autres.

Comment fonctionnent les paires de clés

Chaque portefeuille de cryptomonnaie est construit sur une paire de clés : une clé privée et une clé publique. La clé privée est un nombre généré aléatoirement, généralement de 256 bits, ce qui signifie qu'elle est l'une des environ 10 à la puissance 77 valeurs possibles. Pour contexte, le nombre estimé d'atomes dans l'univers observable est d'environ 10 à la puissance 80. L'espace de clés est suffisamment grand pour que deviner une clé privée spécifique par force brute ne soit pas une préoccupation pratique avec la technologie actuelle ou prévisible.

La clé publique est dérivée de la clé privée par multiplication sur courbe elliptique. Bitcoin et Ethereum utilisent tous deux une courbe spécifique appelée secp256k1. La clé privée est multipliée par un point fixe sur cette courbe appelé point générateur, et le résultat est un autre point sur la courbe. Ce résultat est la clé publique.

La propriété critique est que cette multiplication est une fonction à sens unique. Étant donné une clé privée, calculer la clé publique prend une fraction de seconde. Étant donné uniquement la clé publique, calculer la clé privée nécessite de résoudre le problème du logarithme discret sur courbe elliptique, qui n'a pas de solution efficace connue. Cette asymétrie est toute la base de la sécurité des cryptomonnaies.

Clé publique versus adresse de portefeuille

Une idée fausse courante est qu'une adresse de portefeuille et une clé publique sont la même chose. Elles ne le sont pas. L'adresse est dérivée de la clé publique par une ou plusieurs séries de hachage, un processus qui raccourcit la sortie et ajoute une couche de sécurité supplémentaire.

Dans Bitcoin, le processus fonctionne comme suit. La clé publique non compressée de 512 bits (ou la clé publique compressée de 257 bits) est passée par SHA-256, puis par RIPEMD-160, produisant un hachage de 160 bits. Un octet de version est ajouté au début, une somme de contrôle est ajoutée à la fin, et le résultat est encodé au format Base58Check. La sortie finale est l'adresse Bitcoin familière commençant par 1, 3 ou bc1.

Dans Ethereum, le processus est plus simple. La clé publique de 512 bits est passée par Keccak-256 (une variante de SHA-3), et les 20 derniers octets (160 bits) du hachage deviennent l'adresse. Un préfixe "0x" et une somme de contrôle EIP-55 optionnelle sont ajoutés pour produire l'adresse Ethereum familière.

La raison de hacher la clé publique en une adresse est en partie pratique (les chaînes plus courtes sont plus faciles à partager) et en partie défensive. Si les ordinateurs quantiques devenaient capables de briser la cryptographie à courbe elliptique, ils auraient besoin de la clé publique, et non de l'adresse, pour dériver la clé privée. Les adresses qui n'ont jamais été utilisées pour envoyer une transaction n'ont jamais exposé leur clé publique sur la chaîne, ajoutant une couche théorique de résistance quantique.

Comment les signatures numériques prouvent la propriété

Lorsque vous envoyez de la cryptomonnaie, vous ne déplacez pas des pièces d'un endroit à un autre. Vous créez un message qui dit « J'autorise le transfert de X montant depuis mon adresse vers ce destinataire » et vous signez ce message avec votre clé privée. La signature prouve que la personne qui a créé le message contrôle la clé privée associée à l'adresse d'envoi, sans révéler la clé privée elle-même.

Le processus de vérification utilise la clé publique. Toute personne exécutant un nœud sur le réseau peut prendre le message de transaction, la signature numérique et la clé publique de l'expéditeur, et effectuer une vérification mathématique qui confirme que la signature a été produite par la clé privée correspondante. Si la vérification réussit, la transaction est valide. Si elle échoue, la transaction est rejetée.

C'est pourquoi perdre une clé privée est catastrophique. Pas de clé privée signifie aucune capacité à produire des signatures valides, ce qui signifie aucune capacité à autoriser des transactions depuis cette adresse. Les fonds restent sur la blockchain, visibles par tous, mais définitivement inaccessibles. Il n'y a pas de mécanisme de récupération « mot de passe oublié » car il n'y a pas d'autorité centrale qui détient une sauvegarde.

La chaîne de génération de clés

Dans les portefeuilles modernes, les clés privées individuelles ne sont pas générées indépendamment. Au lieu de cela, une seule graine maîtresse produit toutes les clés du portefeuille via un processus déterministe défini par BIP-32 (portefeuilles déterministes hiérarchiques) et BIP-39 (phrases de récupération mnémoniques).

Le processus commence par l'entropie, une source de hasard. Le logiciel ou le dispositif matériel du portefeuille génère un nombre aléatoire, généralement de 128 ou 256 bits. Cette entropie est encodée sous forme d'une phrase mnémonique de 12 ou 24 mots tirés d'une liste standardisée de 2 048 mots. La phrase mnémonique, combinée à une phrase de passe optionnelle, est passée à travers une fonction de dérivation de clé (PBKDF2) pour produire une graine maîtresse de 512 bits.

À partir de la graine maîtresse, un arbre hiérarchique de paires de clés est dérivé. Chaque branche de l'arbre peut générer des milliards de clés privées uniques et leurs clés publiques et adresses correspondantes. C'est pourquoi une seule phrase de récupération peut restaurer un portefeuille entier avec toutes ses adresses : la graine régénère de manière déterministe chaque paire de clés dans la hiérarchie.

L'implication en matière de sécurité est que la phrase de récupération est la racine de toutes les clés. Quiconque obtient la phrase de récupération peut régénérer chaque clé privée, chaque clé publique et chaque adresse que le portefeuille a utilisée ou utilisera. Protéger la phrase de récupération équivaut à protéger simultanément chaque paire de clés du portefeuille.

Clés publiques compressées versus non compressées

Les premiers logiciels Bitcoin utilisaient des clés publiques non compressées, qui incluent à la fois les coordonnées x et y du point sur la courbe elliptique. Une clé publique non compressée fait 65 octets : un préfixe de 1 octet (0x04) suivi de 32 octets pour la coordonnée x et 32 octets pour la coordonnée y.

Parce que l'équation de la courbe elliptique signifie que pour toute coordonnée x donnée, il n'y a que deux valeurs y possibles (une paire, une impaire), il suffit de stocker uniquement la coordonnée x et un seul bit indiquant si y est pair ou impair. Cela produit une clé publique compressée de 33 octets : un préfixe de 1 octet (0x02 pour y pair, 0x03 pour y impair) suivi de 32 octets pour la coordonnée x.

Les clés compressées économisent de l'espace dans les transactions, ce qui réduit les frais. Depuis 2012, la plupart des logiciels Bitcoin utilisent par défaut des clés publiques compressées. Ethereum utilise des clés publiques non compressées en interne mais supprime l'octet de préfixe dans la dérivation d'adresse, en utilisant uniquement les valeurs x et y de 64 octets.

La distinction est importante pour la compatibilité. Une clé publique compressée et non compressée dérivée de la même clé privée produisent des adresses différentes dans Bitcoin. Importer une clé privée dans un portefeuille qui utilise un format de compression différent de celui du portefeuille d'origine générera une adresse différente, ce qui peut prêter à confusion si des fonds ont été envoyés à l'adresse de l'autre format.

Échecs de sécurité des clés dans le monde réel

La théorie derrière la cryptographie à clé publique est solide, mais les échecs de mise en œuvre ont causé des pertes importantes.

En juillet 2026, des chercheurs ont découvert que le portefeuille matériel Coldcard générait des clés privées faibles depuis cinq ans. Un indicateur de compilation dans le micrologiciel demandait à l'appareil d'ignorer sa puce matérielle dédiée au hasard, ce qui entraînait une entropie prévisible. Un attaquant a rétro-conçu la faille et a commencé à vider les portefeuilles le 30 juillet, retirant environ 116 millions de dollars en bitcoins avant que la vulnérabilité ne soit divulguée publiquement.

La leçon est que la sécurité d'une paire de clés dépend entièrement de la qualité du hasard utilisé pour générer la clé privée. Une clé de 256 bits théoriquement incassable ne vaut rien si le générateur de nombres aléatoires est défectueux, biaisé ou prévisible. C'est pourquoi les portefeuilles matériels réputés utilisent des générateurs de nombres aléatoires matériels dédiés et permettent aux utilisateurs d'ajouter leur propre entropie (comme des lancers de dés) comme protection supplémentaire.

D'autres incidents historiques incluent la vulnérabilité Android SecureRandom de 2013, qui a provoqué la génération de nombres aléatoires en double par plusieurs portefeuilles Bitcoin, permettant aux attaquants de calculer les clés privées à partir des signatures de transaction. Le générateur d'adresses de vanité Profanity a été exploité en septembre 2022 lorsque des chercheurs ont découvert que sa génération de clés utilisait une graine de 32 bits, réduisant l'espace de clés effectif de 2 puissance 256 à 2 puissance 32, soit environ 4 milliards de possibilités qui pouvaient être forcées par force brute en quelques minutes.

Clés publiques et contrats intelligents

Sur les plateformes de contrats intelligents comme Ethereum, la cryptographie à clé publique sert un double objectif. Elle sécurise les comptes détenus en externe (EOA), les portefeuilles utilisateur standard contrôlés par des clés privées, et elle authentifie les messages signés par ces comptes lorsqu'ils interagissent avec des contrats intelligents.

Lorsqu'un utilisateur appelle une fonction sur un contrat intelligent, la transaction inclut la signature numérique produite par la clé privée de l'utilisateur. La machine virtuelle Ethereum vérifie cette signature par rapport à la clé publique de l'expéditeur avant d'exécuter la fonction. C'est ainsi qu'un contrat intelligent sait que la personne qui appelle « transférer 100 USDC à l'adresse X » est réellement le propriétaire des jetons transférés.

Les portefeuilles à contrats intelligents (portefeuilles d'abstraction de compte introduits par ERC-4337) peuvent modifier ce modèle. Au lieu de s'appuyer uniquement sur une seule clé privée, un portefeuille à contrat intelligent peut exiger plusieurs signatures, une authentification biométrique, une récupération sociale ou des limites de dépenses imposées par le code. La clé publique reste une partie du système, mais les règles régissant ce qui constitue une autorisation valide deviennent programmables.

Gestion des clés de garde ou auto-gérée

Sur une plateforme d'échange centralisée, la plateforme détient les clés privées et les utilisateurs accèdent à leurs fonds via une authentification traditionnelle (nom d'utilisateur, mot de passe, codes à deux facteurs). L'utilisateur ne voit jamais de clé publique ou privée. La plateforme signe les transactions au nom de l'utilisateur.

En auto-garde, l'utilisateur détient la clé privée (ou la phrase de récupération qui la génère) et est seul responsable de sa sécurité. La clé publique et l'adresse sont dérivées localement, et aucun tiers n'a accès à la capacité de signature.

Le compromis est clair. Les solutions de garde sont pratiques mais introduisent un risque de contrepartie : si la plateforme est piratée, insolvable ou gèle les retraits, les fonds de l'utilisateur sont en danger. L'auto-garde élimine le risque de contrepartie mais introduit un risque opérationnel : si l'utilisateur perd la phrase de récupération, la stocke mal ou est victime de hameçonnage, les fonds sont perdus définitivement.

Les configurations multisignatures répartissent la différence en distribuant la gestion des clés entre plusieurs parties ou appareils. Une multisignature 2-sur-3 nécessite deux des trois clés privées pour signer une transaction, donc perdre une clé n'entraîne pas de perte permanente et compromettre une clé ne donne pas le contrôle à un attaquant.

Ce que cet article ne couvre pas

Cet article ne couvre pas les schémas cryptographiques post-quantiques tels que les signatures basées sur les réseaux euclidiens, qui sont étudiés comme remplacements de la cryptographie à courbe elliptique dans le cas où des ordinateurs quantiques à grande échelle deviendraient viables. Il ne couvre pas les mathématiques des courbes elliptiques au-delà du niveau conceptuel. Il ne couvre pas les guides de configuration spécifiques aux portefeuilles, car ceux-ci varient selon les produits et changent fréquemment.

Vérifications pratiques pour protéger vos clés

Ne partagez jamais votre clé privée ou votre phrase de récupération. Aucun service légitime, agent de support ou airdrop ne vous les demandera. Toute demande de ces informations d'identification est une arnaque sans exception.

Vérifiez le format de l'adresse avant d'envoyer. Les logiciels malveillants de presse-papiers peuvent remplacer une adresse copiée par l'adresse d'un attaquant. Confirmez toujours visuellement les premiers et derniers caractères d'une adresse après l'avoir collée.

Utilisez des portefeuilles matériels pour les avoirs importants. Les portefeuilles matériels génèrent et stockent les clés privées sur une puce dédiée qui ne les expose jamais à l'appareil connecté à Internet. Recherchez les antécédents du fabricant en matière de génération d'entropie avant d'acheter.

Ajoutez votre propre entropie lorsque c'est possible. Certains portefeuilles matériels permettent aux utilisateurs de compléter le générateur de nombres aléatoires de l'appareil avec des aléas saisis manuellement, comme des lancers de pièces ou de dés. Cela atténue le risque d'un générateur de nombres aléatoires matériel défectueux.

Conservez des sauvegardes de votre phrase de récupération dans plusieurs endroits sécurisés. Une seule copie stockée dans un seul endroit est vulnérable au feu, aux inondations ou au vol. Les sauvegardes de phrase de récupération en métal résistent mieux aux dommages environnementaux que le papier.

Qu'est-ce qu'une clé publique en cryptomonnaie ?

Une clé publique est un grand nombre dérivé d'une clé privée à l'aide de la multiplication sur courbe elliptique. Elle sert d'identité cryptographique qui vérifie les signatures de transaction sans révéler la clé privée. N'importe qui peut voir une clé publique, et la partager ne compromet pas la sécurité des fonds.

Une clé publique est-elle la même chose qu'une adresse de portefeuille ?

Non. Une adresse de portefeuille est dérivée de la clé publique par une ou plusieurs séries de hachage cryptographique. L'adresse est plus courte et plus facile à partager. Dans Bitcoin, la même clé privée peut produire différentes adresses selon que l'on utilise des clés publiques compressées ou non compressées.

Quelqu'un peut-il voler mes cryptomonnaies s'il connaît ma clé publique ?

Non. La clé publique est conçue pour être partagée. Dériver la clé privée à partir de la clé publique nécessite de résoudre le problème du logarithme discret sur courbe elliptique, qui n'a pas de solution efficace connue avec la technologie informatique actuelle.

Que se passe-t-il si je perds ma clé privée ?

Les fonds associés à cette clé deviennent définitivement inaccessibles. Il n'existe aucun mécanisme de récupération car les réseaux de cryptomonnaies n'ont pas d'autorité centrale qui stocke des sauvegardes. C'est pourquoi les sauvegardes de phrase de récupération sont essentielles pour les portefeuilles en auto-conservation.

Quelle est la différence entre une clé publique et une clé privée ?

La clé privée est un nombre secret généré aléatoirement utilisé pour signer les transactions. La clé publique est dérivée de la clé privée et est utilisée pour vérifier les signatures. La clé privée doit rester secrète ; la clé publique peut être partagée librement.

Comment une phrase de récupération est-elle liée aux clés publiques et privées ?

Une phrase de récupération (12 ou 24 mots) encode l'entropie maîtresse à partir de laquelle toutes les clés privées d'un portefeuille sont dérivées de manière déterministe. Chaque clé privée produit une clé publique et une adresse correspondantes. Protéger la phrase de récupération protège chaque paire de clés que le portefeuille générera.

Quelle courbe elliptique Bitcoin et Ethereum utilisent-ils ?

Bitcoin et Ethereum utilisent tous deux la courbe elliptique secp256k1. Elle produit des clés privées de 256 bits et des clés publiques non compressées de 512 bits (ou des clés publiques compressées de 257 bits). Cette courbe a été choisie pour son efficacité et ses propriétés de sécurité bien comprises.

Les ordinateurs quantiques pourraient-ils briser la cryptographie à clé publique ?

Théoriquement, un ordinateur quantique suffisamment puissant exécutant l'algorithme de Shor pourrait dériver une clé privée à partir d'une clé publique. Cependant, un tel ordinateur quantique n'existe pas en 2026. Les adresses qui n'ont jamais été utilisées pour envoyer des transactions n'ont pas exposé leur clé publique sur la chaîne, ce qui ajoute une couche de protection. Des schémas de signature post-quantiques sont étudiés comme remplacements futurs.