Use dice and an easily verified script to generate truly random passphrases

Dice rolls are a good source of truly random values

With the recent issues with Coldcard (from those dubious folk at CoinKite), it is clear everybody would be best served by generating their own passphrases, based on truly random inputs.

This is easily done with dice and a script that converts dice rolls into a passphrase. Here is that script in a form that everyone should be able to verify themselves.

It is available at https://gitlab.com/henry333/bip39_dice/ by clicking on ^Code ^Download source ^zip, or using git clone with:

git clone https://gitlab.com/henry333/bip39_dice/

(Git repo also available via freenet — freenet::2hqJUU1oLuEs/bip39_dice)

Installation

The repo contains the bash script, bip39_dice.sh. It should work on any OS where bash is available.

You will need a copy of the BIP39 dictionary, available at

https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md

Copy it to a file on your computers, say,

$HOME/.words

Create a list of dice rolls — either in a file, say, rolls.txt, or you can supply them literally on the command line.

These need to be totally random — no short measures.

On Maximum Randomness and Trusting Software

To provide protection from hacks like the coldcard one, your passphrase has to have maximum randomness.

Do not trust third parties to provide this.

Do not reduce the randomness yourself by any means, such as choosing words of the passphrase, or excluding dice rolls you do not like. Use real dice and roll them yourself.

That’s it! Easy with just dice and a simple (easily verifiable) script.

You can even use the --debug option to see the workings out, which you can also verify.