Dice Roll Entropy — джерело випадковості для створення гаманця через запис результатів кубика та обробку визначеним алгоритмом. Довжина хешу й кількість слів самі не доводять обсяг непередбачуваної вхідної інформації.
Ідеальний чесний шестигранний кубик дає log2(6) ≈ 2,585 біта на незалежний кидок. П'ятдесят кидків дають приблизно 129,25 біта вхідної ентропії, 99 — 255,91, а 100 — 258,50. COLDCARD вказує 99 кидків для практичної цілі 256 біт; точна сума трохи нижча за 256. Кількість не доводить якість справжнього кубика й не гарантує цілком рівномірного хешу. [COLDCARD — Verifying Seed Mixing] [RFC 4086 — Randomness Requirements for Security]
Для одного кидка консервативною мірою є min-entropy Hmin=−log2(pmax), де pmax — імовірність найчастішої грані. Якщо одна грань має ймовірність 1/2, це лише 1 біт, не 2,585. Додавання між кидками потребує відповідної незалежності; повторення попереднього результату не додає незалежної інформації. Спостерігачеві, що знає всю послідовність, вона не дає таємної випадковості. [NIST SP 800-90B — Entropy Sources for Random Bit Generation]
Навчально кодуймо два чесні незалежні кидки як x=6*(d1−1)+(d2−1), від 0 до 35. x mod32 надає перевагу 0–3, бо кожне має два прообрази. Rejection Sampling натомість відкидає 32–35 і повторює пару; прийняті 0–31 дають п'ять рівномірних бітів. Приклад пояснює помилку перетворення, а не замінює перевірений генератор гаманця. [RFC 4086 — Randomness Requirements for Security]
У режимі Dice Rolls Only документація COLDCARD обчислює SHA-256 від ASCII-послідовності цифр. Публічний тест 123456 без кінцевого newline має хеш 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92. Шість ідеальних випадкових кидків мали б лише близько 15,51 біта; ця опублікована послідовність узагалі не секретна. Вихід 256 біт не додає відсутньої ентропії; інше кодування може змінити результат. [COLDCARD — Verifying Seed Mixing] [RFC 4086 — Randomness Requirements for Security]
Документація COLDCARD від 6 вересня 2026 розрізняє Dice Rolls Only без апаратної випадковості та стандартну генерацію, що змішує значення пристрою з фізичними кидками кубика або монети. verify_seed_mix.py перевіряє другий режим, rolls.py і rolls12.py — перший. Самих кидків недостатньо для звірення, якщо вхід також містить значення пристрою; потрібні точна процедура й версія прошивки. [COLDCARD — Verifying Seed Mixing]
BIP39 додає до 128 вхідних бітів чотири біти checksum і ділить 132 біти на 12 груп по 11; 256 бітів плюс вісім контрольних дають 24 слова. Checksum похідний і не додає випадковості. Далі PBKDF2-HMAC-SHA512 створює 512-бітний seed із фрази та passphrase, але сама довжина 512 не посилює слабких кидків. Формат слів, вхідна ентропія та похідний seed — різні шари. [BIP 39 — Mnemonic code for generating deterministic keys]
Повторення публічного тестового вектора перевіряє кодування, хеш і перетворення, а не чесність кубика чи кожного пристрою. Навіть статистично гарна коротка послідовність не доводить криптографічної непередбачуваності. NIST SP800-90B розрізняє модель джерела, оцінку min-entropy й тести справності; домашній підрахунок кидків не є сертифікацією. Вигадані числа чи повторювані шаблони не замінюють фізичної випадковості. [RFC 4086 — Randomness Requirements for Security] [NIST SP 800-90B — Entropy Sources for Random Bit Generation]
У режимі лише кидків повний запис або фінальний хеш може відновити гаманець; при змішуванні чутливі й входи пристрою. Перевіряйте одноразовий тестовий набір, гаманець якого ніколи не поповнюватимете, а для справжнього використовуйте свіжі приватні входи. Фото, буфер обміну та журнали можуть зберегти секрети. Збережіть Seed Phrase і можливу passphrase за обраним форматом та перевірте відновлення. [COLDCARD — Verifying Seed Mixing] [BIP 39 — Mnemonic code for generating deterministic keys]
Для повної картини прочитайте також Cryptographic Entropy, Entropy Bit, BIP 39, Seed Phrase, Entropy Mixing, CSPRNG. На цю статтю також посилаються Cryptographic Entropy, COLDCARD RNG Incident (2026).