Guides ·

Generer un Portefeuille Ethereum Hors Ligne : Guide Complet


Generer un portefeuille Ethereum en etant connecte a Internet est pratique. C'est aussi un risque inutile. Chaque seconde ou votre seed phrase ou cle privee existe sur un appareil en reseau, elle est exposee aux enregistreurs de frappe, malwares de presse-papiers, extensions de navigateur aux permissions excessives et trojans d'acces distant. La solution est simple : generez le portefeuille hors ligne, notez la sauvegarde, et ne mettez en ligne que l'adresse publique.

Ce guide detaille l'ensemble du processus technique --- de la generation d'entropie a une adresse Ethereum utilisable --- et explique pourquoi vos cles generees hors ligne fonctionnent parfaitement sur les reseaux Layer 2 comme Polygon, Arbitrum, Optimism et Base.

Pourquoi Generer Hors Ligne ?

Un portefeuille Ethereum est fondamentalement juste une cle privee. Celui qui detient cette cle controle les fonds. Lorsque vous generez un portefeuille via un service en ligne ou un navigateur connecte, la cle privee traverse des couches de logiciel que vous ne controlez pas entierement : le moteur JavaScript du navigateur, les extensions, la gestion memoire du systeme d'exploitation, et potentiellement une pile reseau qui pourrait fuir des donnees.

La generation hors ligne elimine entierement le vecteur reseau. Si la machine n'a aucune connexion reseau --- WiFi desactive, Ethernet debranchee, Bluetooth eteint --- la cle privee ne peut pas etre exfiltree a distance, quel que soit le logiciel en cours d'execution.

La configuration ideale est :

  1. Une machine propre (OS fraichement installe ou distribution live USB).
  2. Aucune connexion reseau d'aucune sorte.
  3. Un outil qui fonctionne entierement dans le navigateur utilisant la Web Crypto API pour l'aleatoire.
  4. Du papier ou du metal pour enregistrer la seed phrase.

Le Generateur de Seed Phrase Ethereum de SafeSeed est concu exactement pour ce scenario. Il fonctionne entierement cote client --- pas d'appels API, pas de communication serveur, pas d'analytics. Vous pouvez charger la page, vous deconnecter d'Internet et generer votre portefeuille en isolation totale. Pour une vue plus large des pratiques de securite hors ligne, consultez le Guide du Stockage a Froid 2026.

secp256k1 et Keccak-256

Deux primitives cryptographiques definissent le systeme de cles d'Ethereum : la courbe elliptique secp256k1 pour la generation de cles, et Keccak-256 pour la derivation d'adresses.

secp256k1 : La Courbe Elliptique

Ethereum a herite la courbe secp256k1 de Bitcoin. C'est une courbe specifique definie sur un corps premier, choisie pour son efficacite et l'absence de faiblesses connues. L'equation qui definit la courbe est :

y^2 = x^3 + 7 (mod p)

ou p est un nombre premier de 256 bits. La securite du systeme repose sur le probleme du logarithme discret sur courbe elliptique (ECDLP) : etant donne un point public sur la courbe, il est informatiquement infaisable de determiner le scalaire (cle privee) qui l'a produit.

Une cle privee sur Ethereum est un entier de 256 bits --- 32 octets, ou 64 caracteres hexadecimaux. La cle publique est derivee en multipliant le point generateur G de la courbe par le scalaire de la cle privee. Cette multiplication est une operation a sens unique : facile a calculer dans un sens, effectivement impossible a inverser.

La cle publique resultante est un point sur la courbe avec des coordonnees x et y, totalisant 64 octets sous forme non compressee (128 caracteres hex, prefixes par 04). Pour une comparaison de secp256k1 avec la courbe ed25519 utilisee par Solana, consultez secp256k1 vs ed25519.

Keccak-256 : De la Cle Publique a l'Adresse

Ethereum n'utilise pas la cle publique directement comme adresse. A la place, il applique Keccak-256 (une variante de SHA-3) a la cle publique non compressee (sans le prefixe 04), produisant un hash de 32 octets. Les 20 derniers octets de ce hash deviennent l'adresse Ethereum, prefixee par 0x.

Cle Privee (32 octets)
    -> multiplication secp256k1 -> Cle Publique (64 octets)
    -> hash Keccak-256 -> 32 octets
    -> Prendre les 20 derniers octets -> Adresse Ethereum (0x...)

Cette etape de hashage n'est pas qu'une simple reduction de taille. Elle fournit une couche de protection supplementaire : meme si une faille etait decouverte dans secp256k1 permettant une recuperation partielle de la cle publique a partir de l'adresse, le hash Keccak-256 rendrait significativement plus difficile la recuperation de la cle complete. En pratique cependant, une fois que vous effectuez une transaction depuis une adresse, la cle publique complete est revelee on-chain dans la signature de la transaction.

De la Seed Phrase a l'Adresse ETH

La plupart des portefeuilles modernes ne vous demandent pas de gerer des cles privees brutes. A la place, ils utilisent des seed phrases BIP39 et la derivation de portefeuille HD pour produire un arbre de cles a partir d'une seule sauvegarde.

Etape 1 : Generer l'Entropie

Le processus commence avec 128 ou 256 bits d'aleatoire cryptographiquement securise (entropie). Cette entropie est la graine de tout ce qui suit. Sur SafeSeed, cet aleatoire provient du crypto.getRandomValues() du navigateur, qui puise dans le CSPRNG du systeme d'exploitation.

Pour une seed phrase de 12 mots, 128 bits d'entropie sont generes. Pour une phrase de 24 mots, 256 bits. Consultez BIP39 Explique pour l'explication complete de la transformation de l'entropie en mots.

Etape 2 : Entropie vers Mots Mnemoniques

L'entropie est hashee avec SHA-256 pour produire un checksum. Les bits de checksum sont ajoutes a l'entropie, et la chaine de bits combinee est divisee en segments de 11 bits. Chaque segment correspond a l'un des 2 048 mots de la liste BIP39, produisant 12 ou 24 mots.

Etape 3 : Mnemonique vers Graine Maitresse

Les mots du mnemonique (plus une phrase de passe optionnelle) sont passes dans PBKDF2-HMAC-SHA512 avec 2 048 iterations, produisant une graine maitresse de 512 bits. Cette graine maitresse est la racine de l'arbre complet du portefeuille HD.

Etape 4 : Graine Maitresse vers Cle Maitresse

La graine de 512 bits est passee dans HMAC-SHA512 avec la cle "Bitcoin seed" (oui, meme pour Ethereum --- c'est une convention BIP32). La sortie est divisee : les 256 bits de gauche deviennent la cle privee maitresse, et les 256 bits de droite deviennent le chain code maitre.

Etape 5 : Deriver la Cle Ethereum

Ethereum utilise le chemin de derivation m/44'/60'/0'/0/0 tel que defini par BIP44. Chaque niveau du chemin represente une derivation de cle fille :

  • 44' --- Objectif : hierarchie multi-comptes BIP44.
  • 60' --- Type de monnaie : 60 est l'indice SLIP44 pour Ethereum.
  • 0' --- Compte : premier compte.
  • 0 --- Change : chaine externe (adresses de reception).
  • 0 --- Indice d'adresse : premiere adresse.

A chaque niveau, la cle parente et le chain code sont combines via HMAC-SHA512 pour produire la cle fille. Les derivations durcies (indiquees par l'apostrophe) utilisent la cle privee comme entree, fournissant un isolement plus fort entre les branches.

Etape 6 : Cle Privee vers Adresse

La cle privee derivee a m/44'/60'/0'/0/0 est un entier de 256 bits. Elle est multipliee par le point generateur secp256k1 pour produire la cle publique. La cle publique est hashee avec Keccak-256, et les 20 derniers octets deviennent votre adresse Ethereum.

Le Generateur de Cle Privee Ethereum de SafeSeed vous permet de voir chaque etape de cette derivation, de l'entropie brute a l'adresse finale.

Memes Cles sur les Reseaux Layer 2

L'une des proprietes les plus pratiques d'Ethereum est que vos cles fonctionnent de maniere identique sur tous les reseaux compatibles EVM. La meme cle privee qui controle l'adresse 0xABC... sur Ethereum mainnet controle egalement 0xABC... sur Polygon, Arbitrum, Optimism et Base. Aucune generation de cle supplementaire n'est necessaire.

Cela fonctionne parce que toutes les chaines EVM utilisent les memes primitives cryptographiques --- secp256k1 pour la signature et Keccak-256 pour la derivation d'adresse --- et le meme modele de compte. L'adresse est derivee de maniere deterministe a partir de la cle privee, et puisque la derivation est identique, l'adresse est identique.

Ce qui differe entre les chaines est le chain ID --- un identifiant de reseau integre dans les signatures de transactions (EIP-155) pour prevenir les attaques par replay. Lorsque vous signez une transaction pour Polygon (chain ID 137), cette signature est invalide sur Ethereum mainnet (chain ID 1). C'est une protection au niveau de la transaction, pas au niveau de la cle.

Pour votre workflow de generation hors ligne, cela signifie qu'une seule sauvegarde de seed phrase protege les actifs sur toutes les chaines EVM. Generez une fois, sauvegardez une fois et utilisez la meme adresse partout. C'est l'un des arguments les plus forts pour une generation hors ligne soignee : les enjeux sont multiplies sur chaque chaine que vos cles touchent.

Pour en savoir plus sur les implications de securite des adresses partagees entre chaines EVM, consultez Securite des Adresses EVM.

Verifier avec le Validateur d'Adresses

Apres avoir genere votre portefeuille hors ligne, vous devez verifier que l'adresse est correctement formatee avant d'y envoyer des fonds. Utilisez le Validateur d'Adresses Ethereum pour confirmer :

  1. Verification de format : L'adresse commence par 0x et contient exactement 40 caracteres hexadecimaux.
  2. Checksum EIP-55 : L'encodage en casse mixte est correct. Si l'adresse a ete generee correctement, les lettres majuscules et minuscules correspondront au hash Keccak-256 de l'adresse en minuscules.

Vous pouvez executer le validateur sur la meme machine air-gapped. Ouvrez l'outil, deconnectez-vous, collez l'adresse et verifiez. Si le checksum passe, vous pouvez avoir confiance que l'adresse a ete transcrite correctement depuis le support utilise (papier, metal, QR code).

Pour une explication detaillee du fonctionnement de la validation d'adresses sur differentes chaines, consultez Comment Valider une Adresse Crypto.

Exporter vers MetaMask ou d'Autres Portefeuilles

Une fois votre seed phrase generee et sauvegardee en securite, vous devrez eventuellement l'utiliser dans une application de portefeuille. Les choix les plus courants sont MetaMask (extension de navigateur ou mobile), Rabby, Rainbow et les portefeuilles materiels comme Ledger ou Trezor.

Importer dans MetaMask

MetaMask accepte les seed phrases BIP39 directement :

  1. Installez MetaMask sur un profil de navigateur propre.
  2. Selectionnez "Importer un portefeuille existant".
  3. Saisissez vos 12 ou 24 mots.
  4. Definissez un mot de passe local (cela ne chiffre la cle que sur l'appareil ; ce n'est pas partie de la seed).

MetaMask derivera la cle a m/44'/60'/0'/0/0 et affichera l'adresse correspondante. Verifiez qu'elle correspond a l'adresse generee hors ligne. Si elle ne correspond pas, quelque chose s'est mal passe pendant la transcription --- n'envoyez de fonds a aucune des adresses tant que vous n'avez pas resolu l'ecart.

Importer dans un Portefeuille Materiel

Les appareils Ledger et Trezor acceptent les seed phrases BIP39 lors de l'initialisation. Saisissez la phrase directement sur l'ecran du portefeuille materiel --- jamais sur un ordinateur. Le portefeuille materiel derivera la meme cle au meme chemin et produira la meme adresse. C'est le standard de reference pour combiner generation hors ligne et utilisation quotidienne : la seed a ete generee sur une machine air-gapped, et la cle privee n'existe jamais sur un ordinateur en reseau.

Comptes Multiples

Le chemin de derivation m/44'/60'/0'/0/0 produit le premier compte. Incrementer le dernier indice donne des adresses supplementaires : m/44'/60'/0'/0/1, m/44'/60'/0'/0/2, et ainsi de suite. Toutes derivees de la meme seed phrase. La plupart des portefeuilles gerent cela automatiquement quand vous cliquez "Ajouter un Compte".

La generation hors ligne de portefeuille Ethereum n'est pas de la paranoia --- c'est de la securite operationnelle basique. Les quelques minutes necessaires pour se deconnecter, generer et transcrire sont un investissement qui protege chaque ETH, token et NFT que vous stockerez a cette adresse, sur toutes les chaines EVM, aussi longtemps que vous detiendrez les cles. La cryptographie est solide. La seule variable est le soin avec lequel vous la manipulez.