— —
Follow on X
LESSONS

Where randomness comes from: generating keys you can trust

A seed is only as strong as the randomness behind it. Dice, camera entropy, software and hardware generators compared, with the 2026 Coldcard seed bug, Dark Skippy and the Trezor Safe 3 glitch as the case studies.

9 MIN READ
Two panels: entropy you supply yourself versus entropy a device generates.
LEVEL · Intermediate
IN THIS LESSON · 3 OF 13
BY THE END YOU WILL BE ABLE TO ANSWER
  • Why did updating Coldcard firmware not fix the 2026 problem for existing users?
  • Why were users who added 50 or more dice rolls during setup unaffected?
  • What does Dark Skippy need in order to work?
  • Which seed-generation method depends least on trusting someone else's code?
  • How many rolls of a six-sided die give at least 128 bits of entropy? (log2(6) is about 2.585 bits per roll.)

Then prove it: a 4-question quiz · a challenge. The lesson marks itself complete at 100%.

After this lesson you can: generate a seed three different ways, say which parts you trusted to whom, and explain what went wrong at Coldcard in 2026.

The quiet step everything depends on

A 12-word seed encodes 128 bits of randomness; 24 words encode 256. If those bits are truly random, guessing them is hopeless. If something made them predictable, every key below them is predictable too, however good the rest of your setup is. Nothing you do afterwards, no PIN, no steel plate, no multisig, repairs a weak seed.

So the question is: where did the randomness come from, and how do you know?

Four ways to make a seed

Bar chart of effective entropy: 12-word target 128 bits, Coldcard Mk4/Mk5/Q about 72 bits, Mk2/Mk3 about 40 bits, 50 dice rolls about 129 bits.
Bits of randomness behind a seed. Coinkite and Block estimates for the affected Coldcard firmware (2021–2026); 50 fair dice rolls supply log2(6^50) ≈ 129 bits on their own.

  1. Dice. Roll a casino die and write the results down. Fifty rolls give about 128 bits; about ninety-nine give 256. Feed the rolls into a device or into offline software that turns them into words. Slow, boring, and entirely yours. You can check the result against a second tool, as the Wicked Smart Bitcoin video below does.
  2. Camera or sensor entropy. SeedSigner can take a photograph and hash it into a seed. The randomness comes from the physical world through a device you can inspect; the device is stateless and forgets the seed when it powers off.
  3. Software on an offline machine. Sparrow, Bitcoin Core and others can generate a seed using the operating system's random number generator. Fine on a clean, offline computer; risky on an everyday laptop; never on a website.
  4. The device's own generator. Every hardware signer has a hardware random number generator and offers to make a seed for you. Convenient. The catch: you are trusting that the firmware actually used it, correctly, on the day you set up.
How To SAFELY Dice Roll (For Any Device) — Full Seed Phrase From Scratch · BTC SessionsWatch on YouTube ↗
Verifying Dice Roll Seed Generation with the SeedSigner, Coldcard, and Keystone · Wicked Smart BitcoinWatch on YouTube ↗

Case study: the Coldcard seed bug, 2026

Four seed-generation methods compared by who supplies the randomness and how to verify it.
Who makes the randomness, and whether you can check it.

On 30 July 2026 Coinkite, maker of the Coldcard, published a security advisory: a firmware change in March 2021 had routed seed generation away from the hardware random number generator and into a software pseudo-random generator. Seeds that looked like ordinary 12- or 24-word phrases carried far less randomness than their length implied: Coinkite estimated about 72 bits on the Mk4, Mk5 and Q models, and Block's engineers put the older Mk2 and Mk3 at around 40 bits, against the 128 bits a 12-word seed is meant to have. Forty bits is a trillion possibilities, which a computer can search. Attackers did, and swept well over a thousand addresses within days.

Three details matter for you:

  • Updating firmware does not repair an existing seed. Fixed firmware (4.2.0 for Mk2/Mk3, 5.6.0 for Mk4/Mk5, 1.5.0 for Q) only makes new seeds safe. Affected users had to generate a new seed and move their coins.
  • Users who had added their own dice rolls were not affected, because the device hashed their rolls together with its own output. Fifty rolls on their own contribute 128 bits.
  • A BIP 39 passphrase lowered the risk, because the attacker also needed the passphrase.

In August 2026 Coinkite shipped firmware that makes user-supplied entropy mandatory for every new seed. The lesson generalises beyond one vendor: a hardware signer is a computer running software written by people, and software has bugs. Supplying your own randomness is the one defence that does not depend on anyone else getting it right.

Two more things a signer can get wrong

Scene: a malicious signer leaks seed fragments through two signatures that an attacker reads from the public chain.
Dark Skippy: the device chooses the nonces, so a bad device can hide your seed in them.

Dark Skippy (2024). Researchers Lloyd Fournier, Nick Farrow and Robin Linus showed that malicious firmware on any signer could leak your whole seed through the signatures it produces, in as few as two transactions, by choosing weak nonces that encode pieces of the seed. You would never notice. Defences: only install firmware you have verified from the maker; prefer devices with anti-exfiltration signing (where the host wallet contributes to the nonce, so the device cannot pick it alone; Blockstream Jade has shipped this since 2021); and for larger amounts, multisig across devices from different makers, so one bad firmware cannot leak enough.

Trezor Safe 3 voltage glitch (2025). Ledger's security team showed that with physical possession, a desoldered chip and precise power glitches, the Safe 3's microcontroller could be made to give up its contents; the Safe 5 uses a chip resistant to the technique. Lesson: physical security of the device still matters, a long PIN helps, and no device is "unhackable".

What to do

Timeline of the 2026 Coldcard seed-generation incident.
Five years of weak seeds, four days of sweeps, one fix that only applies to new seeds.

  • For any serious amount, add your own entropy: dice into the device if it supports it, or generate on SeedSigner from dice or a photo.
  • Verify firmware before installing (lesson 7 shows how).
  • Never generate a seed on a website or an online computer.
  • If a vendor publishes an advisory about seed generation, treat the seed as compromised and migrate; do not just update.
MINI CHALLENGERoll for it

How many rolls of a six-sided die give at least 128 bits of entropy? (log2(6) is about 2.585 bits per roll.)

rolls
CHECK YOURSELF
1/4 Why did updating Coldcard firmware not fix the 2026 problem for existing users?
2/4 Why were users who added 50 or more dice rolls during setup unaffected?
3/4 What does Dark Skippy need in order to work?
4/4 Which seed-generation method depends least on trusting someone else's code?
pick an answer for each question

SOURCES

  1. Coinkite: COLDCARD Mk3 seed generation warning (security advisory, 30 Jul 2026, updated Aug 2026)
  2. Coinkite: technical backgrounder on the entropy issue
  3. Block engineering: predictable RNG fallback and 32-bit reseed in Coldcard firmware
  4. No BS Bitcoin: Coldcard weak-entropy bug, affected and fixed firmware (Aug 2026)
  5. Cointelegraph: Coldcard strengthens seed generation with firmware update (21 Aug 2026)
  6. Cointelegraph: 'Dark Skippy' method can steal bitcoin hardware wallet keys (Aug 2024)
  7. Bitcoin Optech podcast: faster seed exfiltration attack (13 Aug 2024)
  8. The Block: Trezor discloses Safe 3 vulnerability found by Ledger Donjon (Mar 2025)
  9. BIP 39: Mnemonic code for generating deterministic keys
Progress is saved in this browser only.