U BIP39 vzniká z počáteční entropie slovní fráze a teprve z fráze s případnou passphrase binární seed. BIP32 z něj odvozuje hlavní klíč a chain code. Tyto hodnoty a kroky nejsou zaměnitelné; jiné zálohovací formáty mohou postupovat jinak.
BIP39 je určen pro čitelný zápis počítačem vytvořené náhodnosti, nikoli pro věty vymyšlené člověkem. Volba známého citátu či vlastní posloupnosti slov proto není ekvivalentem generování entropie předepsaným postupem. [BIP39 — Mnemonic generation and seed conversion]
Linux getrandom() při výchozím nastavení čeká na inicializaci zdroje. GRND_NONBLOCK může místo čekání vrátit EAGAIN. Implementace musí respektovat stav a vrácenou délku; chyba čtení nesmí být vydávána za úspěšně získaný vstup. [Linux getrandom — Initialization and return values]
Web Crypto getRandomValues() poskytuje kryptograficky bezpečné bajty do celočíselného pole; nad 65536 bajtů vyvolá QuotaExceededError. Splnění tohoto rozhraní samo neověřuje načtený kód, následné zpracování ani ochranu fráze před únikem. [W3C Web Crypto — getRandomValues contract]
BIP39 pro 128 bitů vstupu připojí 4 kontrolní bity a vytvoří 12 slov; pro 256 bitů připojí 8 bitů a vytvoří 24 slov. Tyto kontrolní bity jsou odvozené z SHA256, nikoli další nezávislá entropie. [BIP39 — Mnemonic generation and seed conversion]
BIP39 odvozuje 512bitový seed pomocí PBKDF2-HMAC-SHA512 a 2048 iterací. Používá frázi a sůl tvořenou řetězcem mnemonic plus passphrase, obojí v UTF-8 NFKD. Bez passphrase vstupuje prázdný řetězec; délka výstupu není důkazem 512 bitů vstupní entropie. [BIP39 — Mnemonic generation and seed conversion]
BIP32 zpracuje seed přes HMAC-SHA512 s klíčem Bitcoin seed. Výsledek rozdělí na hlavní soukromý klíč a chain code. Nulová hodnota klíče nebo hodnota mimo povolený rozsah je neplatná; celý seed se nepoužívá přímo jako jeden soukromý klíč. [BIP32 — Master key generation]
BIP39 zveřejňuje vektory s entropií, frází a seedem, včetně testovací passphrase TREZOR. Shoda dokládá převod pro daný vstup, nikoli nepředvídatelnost živého generátoru. Veřejný testovací vstup nesmí sloužit jako tajná záloha skutečných prostředků. [BIP39 — Mnemonic generation and seed conversion]
NIST SP 800-90C propojuje zdroje entropie a mechanismy generování. Posouzení peněženky proto musí sledovat také konkrétní verzi, práci s chybami a předání hodnot dalším krokům. Doklad o jedné komponentě sám nepotvrzuje bezpečnost celého procesu ani pozdějšího uložení zálohy. [NIST SP 800-90C — Random bit generator constructions]
Pro nejúplnější obraz čtěte toto heslo společně s Random Number Generator, BIP 39, HD Wallet, Seed Phrase. Opačným směrem na něj odkazují také Random Number Generator, CSPRNG, Deterministic RNG, Entropy Mixing.