Outil gratuit

Phrase seed : générateur et vérification

Une phrase seed BIP-39 compte 12 ou 24 mots tirés d’un dictionnaire de 2048 mots, qui encodent une clé aléatoire et une somme de contrôle. Le dernier mot n’est pas libre : il vérifie tous les précédents, donc une phrase avec une faute de frappe échoue à la vérification.

Générez une nouvelle phrase ou collez la vôtre, nous vérifierons la somme de contrôle.

Important : lisez ceci avant de cliquer Une phrase créée sur une page web ne doit jamais protéger de l’argent réel. Cette page n’envoie rien nulle part, mais à côté tournent des extensions de navigateur, la synchronisation du presse-papiers et des regards indiscrets par-dessus votre épaule. Pour un vrai portefeuille, utilisez un portefeuille matériel ou générez la phrase sur un appareil sans réseau. Ici, c’est pour apprendre, pour les réseaux de test et pour vérifier une phrase déjà existante.

Comment ça marche

1. AléaLe navigateur prélève 128 à 256 bits dans la source système de nombres aléatoires, la même que celle utilisée pour les clés de chiffrement. Un générateur de nombres aléatoires ordinaire ne convient pas ici : il est prévisible.
2. Somme de contrôleOn calcule le SHA-256 de ces bits, puis les premiers bits du résultat sont ajoutés à la fin : un bit pour chaque tranche de 32 bits d’aléa. Pour 12 mots, cela fait 4 bits, pour 24, huit.
3. MotsLa chaîne obtenue est découpée en morceaux de 11 bits. Chaque morceau est un nombre de 0 à 2047, c’est-à-dire le rang d’un mot dans le dictionnaire standard. D’où la taille du dictionnaire, et le fait que le nombre de mots est toujours un multiple de trois.
4. VérificationLe chemin inverse : les mots redeviennent des numéros, les numéros des bits, le SHA-256 est recalculé depuis le début et comparé à la fin. Si ça ne colle pas, il y a une faute de frappe quelque part ou un mot a été déplacé.

Questions fréquentes

guest@404vpn:~$ cat seed-faq.md
[01] $ Pourquoi ne peut-on pas choisir librement le dernier mot ? ▸
> Parce qu’il contient la somme de contrôle. Les mots encodent des bits aléatoires, et l’on ajoute à la fin quelques bits issus du SHA-256 de ce même aléa. Si vous changez un mot, la somme ne colle plus : c’est ainsi que le portefeuille détecte une erreur de saisie.
[02] $ 12 ou 24 mots, y a-t-il une différence ? ▸
> Douze mots, c’est 128 bits d’aléa, vingt-quatre, 256. Aucune des deux ne se casse par force brute : 128 bits sont déjà hors de portée de n’importe quel matériel. On choisit vingt-quatre mots quand il faut une marge pour l’avenir ou que des règlements l’exigent, mais en pratique le danger ne tient pas à la longueur de la phrase, il tient à l’endroit où on l’écrit.
[03] $ La phrase part-elle vers votre serveur ? ▸
> Non. La génération et la vérification se font entièrement dans le navigateur : ni les mots ni les bits aléatoires ne quittent la page. La seule requête qu’elle envoie est un compteur de visites anonyme, le même que sur toutes nos pages : il contient l’adresse de la page et rien d’autre. Coupez Internet, l’outil continuera de fonctionner, et pour un vrai portefeuille c’est exactement ce qu’il faut faire.
[04] $ Qu’est-ce que le 25e mot, ou passphrase ? ▸
> Un mot de passe supplémentaire qui s’ajoute à la phrase et donne un jeu de portefeuilles totalement différent. Il n’est stocké nulle part et ne se récupère pas : en cas d’oubli, vous perdez l’accès, même en connaissant les 24 mots. Nous n’y touchons pas ici, c’est une autre histoire.
[05] $ L’outil affiche-t-il l’adresse du portefeuille ? ▸
> Non, et c’est voulu. Dériver des adresses demande une couche de calcul de plus et donne envie de tester une vraie phrase sur une page web. Ici, il n’y a que la phrase elle-même et sa somme de contrôle.