J'écris des contenus pédagogiques sur Bitcoin.
- Premièrement, cela vous permet de mieux comprendre les mécanismes à la base de votre portefeuille Bitcoin ;
- Secondement, cela vous permet de savoir le faire. Je ne dis pas que ça vous sera utile un jour, mais ça peut !
C'est quoi une phrase mnémonique ?
Préparation du matériel nécessaire
- Une feuille de papier ;
- Un stylo ou un crayon, idéalement de couleurs différentes pour faciliter l'organisation ;
- Plusieurs dés, afin de minimiser les risques de biais liés à un dé déséquilibré ;
- La liste des 2048 mots du BIP39 imprimée.
Quelques rappels sur la phrase de récupération
| Phrase (mots) | Entropie (bits) | Checksum (bits) | Entropie + Checksum (bits) |
| 12 | 128 | 4 | 132 |
| 15 | 160 | 5 | 165 |
| 18 | 192 | 6 | 198 |
| 21 | 224 | 7 | 231 |
| 24 | 256 | 8 | 264 |
0 ou 1. Cela représente un nombre composé de 128 chiffres en base 2 (binaire).N premiers bits seront conservés, N dépendant de la longueur de la phrase de récupération voulue (voir le tableau ci-dessus). Ainsi, pour une phrase de 12 mots, ce sont les 4 premiers bits du hachage qui seront retenus.
Ces 4 premiers bits, formant la somme de contrôle, seront alors ajoutés à l'entropie originale. À cette étape, la phrase de récupération est pratiquement constituée, mais elle se présente encore sous une forme binaire. Pour convertir cette suite binaire en mots conformément au standard BIP39, nous allons d'abord diviser la séquence en segments de 11 bits.
Chacun de ces paquets représente un nombre en binaire qui sera ensuite converti en un nombre décimal (base 10). Nous ajouterons 1 sur chaque nombre, car dans l'informatique, on compte à partir de 0, mais la liste BIP39 est numérotée à partir de 1.Étape 1 : Génération de l'entropie
0 et 1 à la suite. Pour ce faire, nous allons utiliser les dés.0 à chaque lancer aboutissant sur un chiffre pair, et 1 pour chaque chiffre impair. En conséquence, nous effectuerons 128 lancers pour constituer notre entropie de 128 bits. Si le dé affiche 2, 4, ou 6, nous inscrirons 0; pour 1, 3, ou 5, ce sera 1. Chaque résultat sera noté de manière séquentielle, de gauche à droite et de haut en bas.Étape 2 : Calcul de la checksum
Start Tails.Applications.Utilities.Terminal.echo, suivie de votre entropie générée à l'étape précédente, en veillant à insérer un espace entre echo et votre séquence de chiffres binaires.|) :| shasum -a 256 -0
echo 11010111000110111011000011000010011000100111000001000000001001011011001010111111001010011111110001010100000101110010010011011010 | shasum -a 256 -0
echopermet d'envoyer la séquence de bits ;|, le pipe, sert à diriger la sortie de la commandeechovers l'entrée de la commande suivante ;shasumlance une fonction de hachage appartenant à la famille SHA (Secure Hash Algorithm) ;-aspécifie le choix d'un algorithme de hachage spécifique ;256indique que l'algorithme SHA256 est utilisé ;-0permet d'interpréter l'input comme un nombre binaire.
Enter pour exécuter la commande. Le terminal affichera alors le hash SHA256 de votre entropie.a27abf1aff70311917a59a43ce86fa45a62723a00dd2f9d3d059aeac9b4b13d8
a. Notez soigneusement ce caractère quelque part sur votre feuille, puis éteignez votre ordinateur.| Décimal (base 10) | Hexadécimal (base 16) | Binaire (base 2) |
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| 10 | a | 1010 |
| 11 | b | 1011 |
| 12 | c | 1100 |
| 13 | d | 1101 |
| 14 | e | 1110 |
| 15 | f | 1111 |
a correspond au nombre binaire 1010. Ces 4 bits forment la somme de contrôle de notre phrase de récupération. Vous pouvez désormais les ajouter à l'entropie déjà notée sur votre feuille de papier, en les plaçant à la fin du dernier mot.Étape 3 : Conversion des mots en décimal
0 ou 1. Pour procéder à une conversion en décimal, attribuez à chaque premier chiffre la valeur 1024 s'il est 1, sinon 0. Pour le second chiffre, la valeur 512 sera attribuée s'il est 1, sinon 0, et ainsi de suite jusqu'au onzième chiffre. Les correspondances sont les suivantes :- 1er bit :
1024; - 2e bit :
512; - 3e bit :
256; - 4e bit :
128; - 5e bit :
64; - 6e bit :
32; - 7e bit :
16; - 8e bit :
8; - 9e bit :
4; - 10e bit :
2; - 11e bit :
1.
1 pour obtenir le nombre décimal équivalent du nombre binaire. Prenons l'exemple d'une ligne en binaire égale à :1010 1101 101
1389
1, reportez en dessous le nombre associé. Pour chaque bit égal à 0, ne reportez rien.1 pour obtenir le nombre décimal représentant chaque ligne binaire. Par exemple, voici ce que ça donne pour ma feuille :Étape 4 : Recherche des mots de la phrase mnémonique
1 à 2048. Or, nos résultats calculés en binaire s'échelonnent de 0 à 2047. Il y a donc un décalage d'une unité à rectifier. Pour corriger ce décalage, il suffit d'ajouter 1 aux douze nombres décimaux précédemment calculés.1721. strike
Étape 5 : Création du portefeuille Bitcoin
Invalid Checksum, cela signifie qu'une erreur s'est glissée dans votre processus de création. Généralement, cette erreur découle soit d'un calcul erroné durant les conversions et additions à la main, soit d'une faute de frappe lors de la saisie de votre entropie dans le terminal sur Tails. Il sera nécessaire de reprendre le processus depuis le début pour corriger ces erreurs.Cas spécifique de l'option de lancers de dés sur les Coldcard
0) ou impair (1). L'entropie générée par chaque lancer équivaut donc à log2(2). Dans le cas de Coldcard, qui prend en compte les six faces possibles des dés (de 1 à 6), l'entropie par lancer est égale à log2(6). C'est pour cette raison que dans notre tutoriel, nous devons effectuer plus de lancers pour obtenir le même niveau d'entropie.Entropie = nombre de lancers * log2(nombre de résultats possibles sur le dé) Coldcard : Entropie = 99 * log2(6) Entropie = 255,91 Notre tutoriel : Entropie = 128 * log2(2) Entropie = 128
Auteur
Ce tutoriel a été écrit par Loïc Morel
Vous pouvez dire merci en donnant un pourboire au professeur.
Crédits
Ce tutoriel a été relu par Asi0Flammeus & nrak10
Même si cette page est dans sa langue d'origine, une relecture humaine est toujours nécessaire pour garantir son exactitude.
Asi0Flammeusnrak100 satsChaque élément de contenu sur la plateforme est le produit d'un effort collaboratif : chaque leçon, traduction et révision est rendue possible grâce au travail des contributeurs. C'est pour cette raison que nous sommes toujours à la recherche de correcteurs qui peuvent examiner notre contenu dans un grand nombre de langues. Si vous souhaitez participer au processus de relecture, veuillez nous rejoindre dans notre groupe Telegram et consulter notre tutoriel. Nous vous rappelons que ce contenu est open-source - sous licence CC BY-SA - et peut donc être partagé et utilisé librement, à condition que la source originale soit reconnue.
