Avec BIP39, l’entropie initiale devient une phrase ; la phrase et une passphrase éventuelle produisent ensuite un seed binaire. BIP32 en dérive la clé maîtresse et le chain code. Ces valeurs et étapes ne sont pas interchangeables ; d’autres formats de sauvegarde peuvent procéder autrement.
BIP39 fournit une transcription lisible de l’aléa généré par ordinateur, pas de phrases inventées par des personnes. Choisir une citation connue ou une suite personnelle de mots n’équivaut donc pas à générer l’entropie selon le procédé spécifié. [BIP39 — Mnemonic generation and seed conversion]
Linux getrandom() attend par défaut l’initialisation de la source. GRND_NONBLOCK peut renvoyer EAGAIN au lieu d’attendre. L’implémentation doit respecter l’état et la longueur renvoyée ; un échec de lecture ne doit pas passer pour une entrée correctement obtenue. [Linux getrandom — Initialization and return values]
Web Crypto getRandomValues() fournit des octets cryptographiquement sûrs à un tableau d’entiers ; au-delà de 65536 octets, il lève QuotaExceededError. Respecter cette interface ne vérifie pas à lui seul le code chargé, les traitements suivants ou la protection de la phrase contre les fuites. [W3C Web Crypto — getRandomValues contract]
BIP39 ajoute 4 bits de contrôle à 128 bits d’entrée pour former 12 mots ; à 256 bits, il ajoute 8 bits pour former 24 mots. Ces bits viennent de SHA256 et ne constituent pas une entropie indépendante supplémentaire. [BIP39 — Mnemonic generation and seed conversion]
BIP39 dérive un seed de 512 bits avec PBKDF2-HMAC-SHA512 et 2048 itérations. Il utilise la phrase et un sel formé du texte littéral mnemonic suivi de la passphrase, tous deux en UTF-8 NFKD. Sans passphrase, celle-ci est vide ; la longueur ne prouve pas 512 bits d’entropie initiale. [BIP39 — Mnemonic generation and seed conversion]
BIP32 traite le seed avec HMAC-SHA512 et la clé Bitcoin seed, puis sépare le résultat en clé privée maîtresse et chain code. Une valeur nulle ou hors de l’intervalle permis est invalide ; le seed entier ne sert pas directement de clé privée unique. [BIP32 — Master key generation]
BIP39 publie des vecteurs avec entropie, phrase et seed, dont la passphrase de test TREZOR. La concordance valide la conversion de cette entrée, pas l’imprévisibilité du générateur réel. Une entrée de test publique ne doit pas servir de sauvegarde secrète pour de vrais fonds. [BIP39 — Mnemonic generation and seed conversion]
NIST SP 800-90C relie sources d’entropie et mécanismes de génération. L’évaluation d’un portefeuille doit donc aussi suivre la version concrète, les erreurs et le transfert des valeurs aux étapes suivantes. La preuve concernant une composante ne garantit ni le processus complet ni la conservation ultérieure de la sauvegarde. [NIST SP 800-90C — Random bit generator constructions]
Pour une vision complète, lisez aussi Random Number Generator, BIP 39, HD Wallet, Seed Phrase. Cette entrée est également citée par Random Number Generator, CSPRNG, Deterministic RNG, Entropy Mixing.