dmshaw / paperkey

Print an OpenPGP key on paper for archive and recovery
GNU General Public License v2.0
194 stars 12 forks source link

Request: BIP39-style mnemonic output type #2

Open shawnz opened 3 years ago

shawnz commented 3 years ago

Hi there, thank you for the very useful tool.

I think it would be helpful if paperkey additionally supported a BIP39-style output format where the data would be encoded as words from a word list rather than hex characters. This might make transcription of the data easier.

jonathancross commented 3 years ago

Note: BIP39 is for a 256bit seed (or smaller), so 4096bit RSA keys would need a LOT of words.

ECC or EdDSA keys would work great though. If a larger wordlist (like that of the EFF Diceware project) were used (12.9 bits per word), we would get a slightly shorter mnemonic than that one in BIP39.

dmshaw commented 3 years ago

Yes, that was my concern about using a wordlist here: hex can be more difficult to type in, but at least fits on a reasonable number of sheets of paper :)

Note that you can always use a wordlist, even with the current version of paperkey, by using "--output-type raw". This is intended for piping to a program to handle different representations of data (QR code, wordlists, etc).

jonathancross commented 3 years ago

Yes, ~ 320 words might be a bit much. But it would still be a great option to have for the Elliptic Curve keys. A backup which relies on 2 different pieces of software is less reliable, and given that Paperkey is apparently pre-installed in TailsOS, it would be ideal if it just worked out of the box.

A few nice features for BIP39 which might help here as well:

Note: Using a mnemonic means we don't need to trust our printer, evil USB cables, etc.