ProtemKey

Making strong secrets · 5 min read

Making a passphrase with real dice

Roll five dice, read them left to right, look up the five-digit number in the EFF large wordlist, and repeat for each word. No computer has to be trusted with the choice.

You can make a strong passphrase with nothing but ordinary six-sided dice and a printed word list. The method, often called “diceware” after Arnold Reinhold’s original 1995 list, is the one EFF describes on its dice page using its own large wordlist. It is slower than a generator, but every step is visible and no software is involved in the choice.

What you need

  • Five six-sided dice, or one die rolled five times.
  • The EFF large wordlist: 7,776 words, each next to a five-digit number made of the digits 1 to 6. This site’s wordlist page has the full list and a lookup box where you type the five digits and see the word.
  • Pencil and paper.

Why five dice

Five dice can land in 6 × 6 × 6 × 6 × 6 = 6^5 = 7,776 ordered ways, exactly the number of words on the list. Each outcome from 11111 to 66666 maps to one word. A fair die contributes log2(6) = 2.585 bits, so five dice give 5 × 2.585 = 12.925 bits, the same as picking one word uniformly from 7,776.

The method, step by step

This follows EFF’s published instructions.

  1. Roll five dice at once. EFF: “Note the faces that come up without looking at the wordlist yet.”
  2. Write the numbers down in order, left to right. Decide your reading order before you roll and stick to it. EFF’s example roll is 4, 3, 4, 6, 3.
  3. Find the five-digit number in the list. For 43463 the list gives panoramic.
  4. Write that word down.
  5. Repeat for each further word. EFF suggests six words in total for most uses.
  6. Keep the words in the order you rolled them. Make up a story or image to help you remember them, but don’t change the words or their order.

With one die, roll it five times per word and write each result in turn; the result is equivalent.

Worked example

Here are six rolls and the words they give in the EFF large list:

Roll Word
4 3 4 6 3 panoramic
1 6 6 5 5 contusion
1 5 6 5 3 clamor
4 6 2 5 2 quilt
6 2 1 6 2 thing
1 4 4 1 1 bunion

Passphrase: panoramic contusion clamor quilt thing bunion.

The count: 30 dice rolls in total, each worth 2.585 bits, so 30 × 2.585 = 77.55 bits. The number of possible results is 6^30, which equals 7,776^6 = 221,073,919,720,733,357,899,776. On average an attacker who knows the list and the method needs about half that, roughly 1.1 × 10^23 guesses. At an assumed 10^11 guesses per second against a fast hash, that averages about 35,000 years.

Note: These rolls are a printed example. Anything published, including the example above and EFF’s, is the first thing a careful attacker would try. Roll your own.

Mistakes that weaken the result

Rerolling words you don’t like. It is tempting to skip a word that seems odd. Every time you discard results based on taste, your words stop being uniformly random, and the 12.925 bits per word becomes an overestimate by an amount nobody can compute. The EFF list was built to remove hard, obscure and offensive words in advance so you don’t need to. If you truly can’t use a word (you can’t spell it, say), set that rule before rolling and apply it mechanically.

Choosing the order afterward. Rearranging six words into a nicer sentence lets you choose among 720 orderings (6 × 5 × 4 × 3 × 2 × 1). An attacker who expects grammatical order can try the likely arrangements first. Keep the rolled order.

Reading dice after looking at the list. If you glance at the list and then decide whether to read the dice left to right or right to left, you are choosing between two words, not rolling one. Fix the reading order before the dice land, as EFF’s “without looking at the wordlist yet” suggests.

Mixing up lists. The EFF large list (five dice), EFF’s two short lists (four dice, 1,296 words each), and Reinhold’s original Diceware list all use different numbering. Look up your rolls in the list you planned to use. A short-list word is worth log2(1,296) = 10.34 bits, not 12.925, so you need more of them: EFF notes that eight short-list words give “about 82 bits.”

Using worn or loaded dice. Ordinary dice are fair enough for this. EFF says of its own dice: “not casino-grade,” but “sufficiently random for these purposes.” Badly damaged or weighted dice are a different matter.

Storing the result carelessly. The paper with your words on it is now the secret. EFF suggests that if you write it down, keep it “in a safe place, not in the same place where the data it protects will be stored.” Once you’ve memorized it, consider destroying working notes you no longer need.

Typing it in

The EFF list’s author made sure that “no word is an exact prefix of any other word,” so the words can be joined without separators and still split only one way. Most people find a space or hyphen easier to read and type. The separator adds no strength either way; see how passphrases work.

Some sites require a capital letter, a digit or a symbol. You can satisfy these with a fixed change, such as capitalizing the first word and adding 1! at the end. A fixed change adds essentially no strength, because an attacker can try the common ones cheaply, but it won’t reduce what the dice gave you either.

Dice or generator?

Both produce the same kind of result: words drawn uniformly from the same 7,776-word list. Dice remove any need to trust software and make the process easy to check. The passphrase generator uses the browser’s cryptographic random number generator with rejection sampling to make the same kind of uniform choice in a fraction of a second; how password generators work explains it. Use whichever you’re more confident in.

For deciding how many words to roll, see how many words a passphrase needs.

Sources

  1. EFF Dice-Generated Passphrases
  2. EFF, Deep Dive: EFF's New Wordlists for Random Passphrases (Joseph Bonneau, 2016)
  3. EFF Large Wordlist (text file)

General explanation, not advice for a particular situation. Updated 2026-10-31.