150 / 736DICE

Dice Roll Entropy

Entropie pro peněženku z fyzických hodů kostkou

Kostka může dodat náhodnost pro novou peněženku. Rozhodující ale není jen počet hodů: musí být skutečně náhodné, zůstat soukromé a projít správným převodem na data peněženky.

Dice Roll Entropy je způsob, jak získat nepředvídatelný vstup pro novou peněženku skutečným házením kostkou. Peněženka je aplikace nebo zařízení pro přijímání a odesílání bitcoinů. Soukromé klíče jsou tajná čísla, která umožňují schválit utracení bitcoinů. Představte si Annu: místo vymýšlení čísel zadává jednotlivé výsledky v přesném pořadí do ověřeného offline postupu. Z těchto dat vznikne základ pro klíče k jejím bitcoinům. Entropie zde vyjadřuje nejistotu člověka, který výsledky nezná a snaží se je uhodnout. Kostka proto pomůže jen tehdy, když jsou hody dostatečné, nezávislé a soukromé. Více obnovovacích slov ani dlouhý digitální otisk slabý či zveřejněný vstup nezachrání. Následující výpočty vysvětlují proč; nejsou výzvou k vytváření vlastního generátoru.

Bit je jednotka informace. U stejně pravděpodobných možností znamená další bit zdvojnásobení počtu možností, mezi nimiž útočník hádá. Není to další tečka na kostce ani další slovo zálohy. U férové šestistěnné kostky má jeden hod šest stejně pravděpodobných výsledků. Dva nezávislé hody mají 36 možných dvojic. V bitech to vyjadřujeme jako log2(6) ≈ 2,585 na jeden hod. Za těchto ideálních podmínek má 50 hodů asi 129,25 bitu, 99 hodů 255,91 a 100 hodů 258,50. COLDCARD uvádí 99 hodů pro praktický 256bitový cíl; matematicky je to mírně pod 256. Samotné počítání hodů však neověří kostku ani dokonale rovnoměrný výsledek převodu. [1] [3] [5]

Když některá strana padá častěji, útočník má lepší tip. Při pravděpodobnosti nejčastější strany 1/2 dává jeden hod pouze 1 bit min-entropy. Min-entropy hodnotí nepředvídatelnost podle nejlepšího jednotlivého tipu útočníka. Vzorec Hmin=−log2(pmax) používá právě pravděpodobnost nejčastějšího výsledku, označenou pmax. Aby se hodnoty přes hody sčítaly, musí mít odpovídající nezávislost. Opsaný předchozí výsledek nový nezávislý hod nenahradí. A kdo zná celou řadu, nemusí ji vůbec hádat. [4]

Pokud peněženka vzniká jen z hodů, jejich úplná řada nebo výsledný hash, tedy digitální otisk vypočtený z těchto dat, může stačit k jejímu obnovení. Při míchání jsou citlivé i vstupy zařízení. Nezadávejte skutečné hody do online ověřovače a nepořizujte jejich fotografie. Výpočet si vyzkoušejte na oddělené testovací peněžence, kterou nikdy nefinancujete; pro skutečnou použijte nové soukromé vstupní údaje. Schránka a logy mohou údaje uchovat. Výslednou Seed Phrase, tedy zálohu zapsanou slovy, správně uschovejte a ověřte obnovu. Pokud používáte i passphrase, další tajemství pro přístup k jiné peněžence odvozené ze stejných slov, potřebujete pro obnovu také ji. [1] [2]

Když získáte stejný výsledek jako veřejný testovací příklad, ověřili jste kódování, hash a převod. Neprokázali jste tím, že vaše kostka nebo zařízení pracují správně. Ani hezky vypadající krátká řada nedokazuje nepředvídatelnost. NIST SP800-90B rozlišuje popis zdroje, odhad min-entropy a kontroly jeho funkčnosti. Domácí série hodů není certifikací podle tohoto standardu; vymyšlená čísla ani opakovaná šablona fyzické hody nenahradí. [3] [4]

ASCII určuje, jak se číslice zapíší pro počítač; newline znamená znak konce řádku. Přesný zápis je důležitý, protože počítač zpracovává zadané znaky, ne jejich lidský význam. Podle dokumentace COLDCARD se v režimu Dice Rolls Only počítá SHA-256 z ASCII posloupnosti číslic. Veřejný test 123456 bez koncového newline má hash 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92. Šest ideálních náhodných hodů by neslo jen asi 15,51 bitu; tato zveřejněná sekvence není tajná vůbec. Výstup 256 bitů nepřidá chybějící entropii; jiné kódování vstupu může dát jiný výsledek. [1] [3]

V následujícím vzorci označují d1 a d2 výsledky prvního a druhého hodu. Operace mod znamená zbytek po dělení. Dva předobrazy znamenají, že ke stejnému výsledku vedou dvě různé původní hodnoty, a tím mu dávají vyšší šanci. Výukově kódujme dva spravedlivé nezávislé hody jako x=6*(d1−1)+(d2−1), tedy 0 až 35. Převod x mod 32 by zvýhodnil 0 až 3, protože každá z těchto hodnot má dva předobrazy. Rejection Sampling místo toho odmítne 32 až 35 a opakuje dvojici; přijatých 0 až 31 dává pět rovnoměrných bitů. Příklad vysvětluje chybu převodu, není návodem nahrazovat ověřený generátor peněženky. [3]

Dokumentace COLDCARD revidovaná 1. října 2026 odlišuje Dice Rolls Only bez hardwarové náhodnosti a standardní tvorbu, která míchá hodnotu zařízení s fyzickými hody či hody mincí. Nástroj verify_seed_mix.py kontroluje druhý režim, rolls.py a rolls12.py první. Shodu nelze posuzovat z hodů samotných, pokud vstup obsahuje také hodnotu zařízení; zvolte přesný postup a verzi firmwaru. [1]

BIP39 popisuje převod vstupních bitů na obnovovací slova a následné odvození seedu, výchozích dat pro klíče. Checksum je kontrolní údaj pomáhající odhalit některé chyby zápisu; passphrase je případné další tajemství. Název posledního algoritmu níže označuje výpočet, který ze slov a passphrase odvozuje seed. BIP39 přidává ke vstupu 128 bitů čtyři checksum bity a dělí 132 bitů do 12 skupin po 11 bitech; vstup 256 bitů plus osm kontrolních dává 24 slov. Checksum je odvozený, nepřidává náhodnost. Následný PBKDF2-HMAC-SHA512 vytvoří 512bitový seed z fráze a passphrase, ale délka 512 sama neposílí slabé hody. Formát slov, vstupní entropie a odvozený seed jsou různé vrstvy. [2]

Pro nejúplnější obraz čtěte toto heslo společně s Cryptographic Entropy, Entropy Bit, BIP 39, Seed Phrase, Entropy Mixing, CSPRNG. Opačným směrem na něj odkazují také Cryptographic Entropy, COLDCARD RNG Incident (2026).

DOC · 001COLDCARD — Verifying Seed MixingDokumentace DOC · 002BIP 39 — Mnemonic code for generating deterministic keysSpecifikace DOC · 003RFC 4086 — Randomness Requirements for SecuritySpecifikace DOC · 004NIST SP 800-90B — Entropy Sources for Random Bit GenerationSpecifikace DOC · 005Bitcoin Developer Guide — WalletsDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení