Clés publiques et privées dans les wallets crypto : comment ça fonctionne ?

Cet article est disponible dans les langues suivantes :

Author logo
Patrick Dike-Ndulue
•
Post image

Les clés publiques et privées sont indispensables pour Bitcoin et les autres cryptomonnaies. Elles permettent d’envoyer et de recevoir des cryptos dans votre wallet, sans avoir besoin d’un tiers centralisé pour valider vos transactions. Ces clés font partie du cadre de la cryptographie à clé publique (PKC) et sont des éléments essentiels pour garantir la sécurité de vos actifs numériques. Mais que sont-elles 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, la PKC servait à chiffrer et déchiffrer des messages dans l’informatique traditionnelle. Aujourd’hui, cette technologie est utilisée par les cryptomonnaies pour sécuriser les transactions.

PKC one-way trapdoor function.png
Principe de la cryptographie à clé publique

La PKC repose sur des « fonctions à sens unique » (trapdoor functions) : ce sont des fonctions mathématiques faciles à résoudre dans un sens, mais pratiquement impossibles à inverser. Théoriquement, il serait possible de les casser, mais cela demanderait un superordinateur quantique et des milliers d’années de calcul.

Qu’est-ce qu’une clé publique ?

Une clé publique est un code cryptographique qui permet de recevoir des cryptomonnaies sur votre compte. N’importe qui peut envoyer des fonds à cette clé publique, mais seule la clé privée permet de « déverrouiller » ces fonds et de prouver que vous en êtes bien le propriétaire.

what is public key.png
Qu’est-ce qu’une clé publique ?

La clé publique qui sert à recevoir des fonds est généralement appelée adresse : il s’agit d’une version raccourcie de votre clé publique. Par exemple, voici la toute première adresse Bitcoin : 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa.

Vous pouvez partager librement votre clé publique sans risque. Il n’est pas rare de voir des pages de dons pour des créateurs de contenu ou des associations, affichant la clé publique de leur adresse crypto. N’importe qui peut envoyer des fonds, mais seule la clé privée permet d’accéder aux cryptos reçues.

Qu’est-ce qu’une clé privée ?

what is private key.png
Qu’est-ce qu’une clé privée ?

Une clé privée est un code cryptographique qui permet de prouver la propriété et de dépenser les fonds associés à votre adresse publique. Cette clé privée peut prendre plusieurs formes :

  • Un code binaire de 256 caractères.
     
  • Hexadecimal code of 64 digits.
     
  • A QR code.
     
  • Mnemonic seed phrase.

In whatever form it takes, the private key is an astronomically large number — and for good reason. You can use a private key to generate a public key. However, doing the opposite is nearly impossible due to the one-way "trapdoor" function. A private key can also be linked to unlimited public keys.

Attention ! 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 wallet, un générateur de nombres aléatoires véritable (TRNG) intégré à un élément sécurisé génère votre clé privée. Il s’agit d’une longue suite de caractères alphanumériques.

La clé privée vous est propre et vous permet de retirer, transférer ou effectuer toute opération depuis votre wallet. 

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 wallets crypto ?

Une clé privée génère des clés publiques via la cryptographie asymétrique, en utilisant notamment des algorithmes mathématiques comme Rivest-Shamir-Adleman (RSA), l’elliptic curve cryptography (ECC) ou le Digital Signature Algorithm (DSA). 

Here's a simplified explanation of how this process works with elliptic curve cryptography, commonly used in many modern blockchains like Bitcoin.

  1. Choosing an elliptic curve 
    The first step involves selecting a specific elliptic curve, a mathematical construct with defined properties. In Bitcoin, the widely used curve is called secp256k1.
     
  2. Deriving a unique point 
    The private key is a random number often represented as a large integer. This number is used to derive a unique point on the chosen elliptic curve through a process known as point multiplication.
     
  3. Generating the public key
    This unique point derived from the private key is the corresponding public key, represented by two coordinates (x, y) on the curve. However, only the x-coordinate is typically used, resulting in a compressed public key.
     
  4. Compressing the unique point (Optional)
    For efficiency, the full public key can be compressed into a shorter form, which still allows for crypto operations.
     
  5. SHA-256 and RIPEMD-160 hashing
    In Bitcoin, the compressed public key is hashed twice using the SHA-256 and RIPEMD-160 cryptographic hash functions. This process creates a shorter, fixed-size representation known as the Public Key Hash (PKH), used in Bitcoin addresses.
     
  6. Checksum Addition (Optional)
    Some blockchain systems add a checksum to the PKH to enhance error detection. This is not always the case in all cryptocurrencies.
     
  7. Base58 Encoding
    Finally, the PKH (with or without the checksum) is encoded in a format like Base58, eliminating ambiguous characters and making the public address more human-readable.

The resulting address, derived from the public key, is what you see and use when sending or receiving cryptocurrencies. 

While it's computationally infeasible to derive the private key from the public key, the reverse process (creating a public key from a private key) is relatively transparent because of the mathematical properties of elliptic curves, allowing users to prove wallet ownership without revealing their private key.

Private keys vs. public keys.png
 

Chiffrement asymétrique

Les deux clés fonctionnent ensemble pour chiffrer et déchiffrer des messages. Lorsque vous chiffrez un message avec la clé publique d’une personne, seul le détenteur de la clé privée correspondante pourra le déchiffrer. Ainsi, seuls les destinataires prévus peuvent lire les messages. Le chiffrement asymétrique permet également de garantir l’identité de l’expéditeur.


Par exemple, si vous souhaitez envoyer un message secret à votre ami Patrick, vous allez d’abord chiffrer le message avec la clé publique de Patrick, puis le signer avec votre clé privée. Patrick devra le déchiffrer avec sa clé privée.

Comment fonctionnent les transactions crypto avec les clés privées et publiques

Prenons l’exemple où vous souhaitez envoyer des bitcoins à Patrick. Vous avez besoin de l’adresse publique de Patrick, qui est une version abrégée de sa clé publique. Vous signez ensuite la transaction avec votre clé privée afin de garantir qu’elle n’a pas été modifiée. La transaction est alors chiffrée et transmise pour être vérifiée par les nœuds du réseau Bitcoin.

Le wallet de Patrick utilisera alors sa clé privée pour déchiffrer le message de transaction et recevoir les bitcoins envoyés. Il doit impérativement garder sa clé privée confidentielle, car toute personne y ayant accès pourrait aussi accéder à ses fonds.


N’oubliez pas : une transaction authentique et minée est irréversible. Vérifiez toujours que vous envoyez vos fonds à la bonne adresse publique et 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 wallet crypto, soit sous forme de logiciel (wallet mobile ou desktop, dit « hot wallet »), soit sur un appareil matériel dédié (« hardware wallet » ou « cold wallet »).

Si vous stockez vos cryptos sur une plateforme comme Binance ou Coinbase, c’est la plateforme qui devient dépositaire de vos clés privées. Avec un wallet custodial, vous confiez la garde de vos clés privées à un tiers, comme vous confieriez votre argent au coffre d’une banque. 

Avec un wallet non-custodial, vous gardez le contrôle de vos clés privées. Heureusement, les wallets non-custodial sont conçus pour que vous n’ayez presque jamais à manipuler directement vos clés privées. 

Les wallets stockent et signent automatiquement les transactions avec vos clés. En sauvegarde, vous pouvez conserver vos clés privées sous forme de phrase de récupération ou sur plusieurs appareils matériels pour garantir la redondance.

Comment les clés publiques et privées contrôlent vos cryptos

Comprendre l’interaction entre clé publique et clé privée est essentiel pour saisir le fonctionnement des transactions crypto. Posséder des cryptomonnaies signifie en réalité détenir une clé privée qui prouve que vous en êtes le propriétaire.

Votre approche et votre tolérance au risque peuvent influencer le choix entre « garder vos propres clés » ou faire confiance à un dépositaire.

Si vous souhaitez garder le contrôle total de vos clés privées, privilégiez un hardware wallet moderne comme le Tangem Wallet. Ce wallet gère vos clés privées de façon sécurisée, sans jamais les exposer. 

Si vous optez pour une solution custodial (plateforme d’échange), choisissez une entreprise reconnue, qui met la sécurité et la conformité au cœur de ses priorités.

Conclusion

Pensez à la clé publique comme à votre adresse e-mail, et à la clé privée comme à votre mot de passe. Tout le monde peut vous écrire, mais vous seul pouvez lire vos messages grâce à votre mot de passe. Les clés privées, comme les mots de passe, doivent rester confidentielles, tandis que les clés publiques peuvent être partagées.

Author logo
Auteur Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Examiné par Rukkayah Jigam

Writer & editor covering digital assets and product updates.