FuguSeed

FuguSeed makes BIP39 seed words with three dice on paper, and turns them into a SeedQR. Seed words that a program generates depend on the random source of that program. FuguSeed contributes no entropy: the dice give it, and the paper holds the words.

fuguseed-words builds and checks a printed word sheet. On that sheet, one throw of a d8 and two d16 selects one of the 2048 words, with no arithmetic. fuguseed-qr turns the 12 words into a Standard SeedQR, zone by zone, in a terminal, so a person can draw it on paper.

The two programs have two trust levels. fuguseed-words sees no seed word, so it can run on any computer. It builds on the Fugu library. fuguseed-qr sees the words, so it must run on an air-gapped computer only. It is one packed file on core Perl v5.34, with no dependency.

FuguSeed is a companion of FuguPass: it makes the master that FuguPass reads.

Installation

Install Fugu and FuguSeed from CPAN with cpanm:

cpanm --notest Fugu App::FuguSeed

A release also holds the packed fuguseed-qr file, and the signed SHA256 manifest of the release names it. Copy that one file to the air-gapped computer. Compare its digest with the manifest before the first run, as fuguseed-qr(1) states.

Documentation