150 / 736DICE

Dice Roll Entropy

Entropie du portefeuille issue de dés physiques

Les dés peuvent fournir de l’aléa pour un nouveau portefeuille. Le nombre de lancers ne suffit pourtant pas : leurs résultats doivent être aléatoires, rester privés et être correctement convertis en données du portefeuille.

Dice Roll Entropy permet d’obtenir une entrée imprévisible pour un nouveau portefeuille en lançant réellement des dés. Un portefeuille est une application ou un appareil permettant de recevoir et d’envoyer des bitcoins. Les clés privées sont des nombres secrets permettant d’autoriser la dépense de bitcoins. Imaginez Anna : plutôt que d’inventer des nombres, elle saisit les résultats dans leur ordre exact dans une procédure hors ligne vérifiée. Ces données servent de base aux clés de ses bitcoin. L’entropie mesure ici l’incertitude d’une personne qui ignore les résultats et tente de les deviner. Les dés n’aident donc que si les lancers sont assez nombreux, indépendants et secrets. Davantage de mots de récupération ou une longue empreinte numérique ne corrigent pas une entrée faible ou publiée. Les calculs suivants expliquent pourquoi ; ils n’invitent pas à créer son propre générateur.

Le bit est une unité d’information. Quand les possibilités ont la même probabilité, chaque bit supplémentaire double les choix entre lesquels un attaquant doit deviner. Ce n’est ni un point de plus sur le dé ni un mot de sauvegarde supplémentaire. Un dé équilibré à six faces a six résultats équiprobables. Deux lancers indépendants donnent 36 paires possibles. En bits, cela s’exprime par log2(6) ≈ 2,585 par lancer. Dans ces conditions idéales, 50 lancers apportent environ 129,25 bits ; 99, 255,91 ; et 100, 258,50. COLDCARD indique 99 lancers pour un objectif pratique de 256 bits, légèrement inférieur à 256 en valeur exacte. Compter les lancers ne vérifie ni le dé ni l’uniformité parfaite de la conversion. [1] [3] [5]

Si une face apparaît plus souvent, l’attaquant peut mieux deviner. Si la face la plus probable a une probabilité de 1/2, un lancer ne fournit que 1 bit de min-entropy. La min-entropy évalue l’imprévisibilité à partir du meilleur choix possible de l’attaquant pour une tentative unique. La formule Hmin=−log2(pmax) utilise cette probabilité maximale, pmax. Additionner les valeurs entre lancers suppose leur indépendance appropriée. Recopier le résultat précédent ne remplace pas un nouveau lancer indépendant. Qui connaît toute la suite n’a plus besoin de la deviner. [4]

Pour un portefeuille créé uniquement à partir de lancers, la suite complète ou le hash obtenu, une empreinte numérique calculée à partir de ces données, peuvent suffire à le recréer. En cas de mélange, les entrées du dispositif sont aussi sensibles. Ne saisissez pas de vrais lancers dans un vérificateur en ligne et ne les photographiez pas. Vérifiez le calcul avec un portefeuille de test séparé, jamais approvisionné ; utilisez de nouvelles entrées privées pour le vrai. Presse-papiers et journaux peuvent conserver les données. Conservez la Seed Phrase, une sauvegarde écrite en mots, en lieu sûr et testez la récupération. Si vous utilisez aussi une passphrase, un secret supplémentaire donnant accès à un autre portefeuille dérivé des mêmes mots, elle sera également nécessaire à la récupération. [1] [2]

Retrouver le résultat d’un exemple public vérifie l’encodage, le hash et la conversion. Cela ne prouve pas que votre dé ou votre dispositif fonctionne correctement. Une courte suite d’apparence satisfaisante ne prouve pas non plus l’imprévisibilité. NIST SP800-90B distingue modèle de source, estimation de min-entropy et contrôles de fonctionnement. Une série de lancers à domicile n’est pas une certification selon cette norme ; inventer des nombres ou répéter un motif ne remplace pas les lancers physiques. [3] [4]

ASCII définit la représentation des chiffres pour l’ordinateur ; newline désigne un caractère de fin de ligne. L’écriture exacte compte, car la machine traite les caractères fournis et non leur sens humain. D’après sa documentation, COLDCARD calcule SHA-256 sur la suite ASCII de chiffres en mode Dice Rolls Only. Le test public 123456 sans newline final donne 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92. Six lancers idéaux aléatoires n'apporteraient qu'environ 15,51 bits ; cette suite publiée n'a rien de secret. Une sortie de 256 bits n'ajoute aucune entropie manquante ; un autre encodage peut changer le résultat. [1] [3]

Dans la formule suivante, d1 et d2 représentent les résultats du premier et du second lancer. mod donne le reste d’une division. Avoir deux antécédents signifie que deux valeurs de départ différentes aboutissent au même résultat, ce qui le rend plus probable. À titre pédagogique, codons deux lancers équilibrés et indépendants par x=6*(d1−1)+(d2−1), soit 0 à 35. x mod32 favorise 0 à 3 car chaque valeur a deux antécédents. Rejection Sampling rejette plutôt 32 à 35 et recommence la paire ; les valeurs acceptées de 0 à 31 donnent cinq bits uniformes. L'exemple explique une erreur de conversion, sans remplacer un générateur de portefeuille vérifié. [3]

La documentation COLDCARD révisée le 1er octobre 2026 distingue Dice Rolls Only sans aléa matériel de la génération standard mélangeant la valeur du dispositif avec des lancers physiques de dés ou de pièces. verify_seed_mix.py vérifie le second mode, rolls.py et rolls12.py le premier. Les lancers seuls ne suffisent pas à contrôler la correspondance si la valeur du dispositif intervient aussi ; choisissez procédure et version du firmware exactes. [1]

BIP39 décrit comment les bits d’entrée deviennent des mots de récupération, puis comment ces mots servent à dériver une seed, les données de départ pour les clés. Un checksum aide à détecter certaines erreurs de copie ; une passphrase est un secret supplémentaire facultatif. Le dernier algorithme nommé ci-dessous calcule la seed à partir des mots et de la passphrase. BIP39 ajoute quatre bits de checksum à 128 bits d'entrée puis répartit les 132 bits en 12 groupes de 11 ; 256 bits et huit bits de contrôle donnent 24 mots. Le checksum est dérivé et n'ajoute pas d'aléa. Ensuite PBKDF2-HMAC-SHA512 produit une seed de 512 bits à partir de la phrase et de la passphrase, sans que la longueur 512 renforce des lancers faibles. Format des mots, entropie d'entrée et seed dérivée sont des couches différentes. [2]

Pour une vision complète, lisez aussi Cryptographic Entropy, Entropy Bit, BIP 39, Seed Phrase, Entropy Mixing, CSPRNG. Cette entrée est également citée par Cryptographic Entropy, COLDCARD RNG Incident (2026).

DOC · 001COLDCARD — Verifying Seed MixingDocumentation DOC · 002BIP 39 — Mnemonic code for generating deterministic keysSpécification DOC · 003RFC 4086 — Randomness Requirements for SecuritySpécification DOC · 004NIST SP 800-90B — Entropy Sources for Random Bit GenerationSpécification DOC · 005Bitcoin Developer Guide — WalletsDocumentation
Révisé le: Sources d’abord · Pas un conseil financier