Mnemonikey: Human-Readable PGP Key Backups

Mnemonikey is a determinstic backup and PGP keys recovery tool that uses human-readable phrases.

Mnemonikey: Human-Readable PGP Key Backups
  • This is the first ever pre-release of Mnemonikey.
  • "As far as I'm aware, Mnemonikey is the first of its kind, rhyming only with the related but conceptually different passphrase2pgp tool, from which I drew my original inspiration," the developer wrote.
  • Mnemonikey lets you save your PGP identity as a list of English words and use these words to recover lost keys or derive new subkeys.
  • "Mnemonikey deterministically derives a full set of PGP keys based on a secure, randomly generated seed."
  • "That seed (and the key creation timestamp) is then re-exported in the form of an English phrase which you can record on paper to fully back up your PGP key."
  • "The recovery phrase is encoded similarly to how Bitcoin wallets are backed up."
"I'm very happy with how Mnemonikey is currently working, and would like to aim to release v1.0.0 soon. I'm making this release so that interested users can test and play with the tool in its current form," wrote the project's author.
  • DISCLAIMER: "Please do not yet depend on Mnemonikey to generate PGP keys for real-world use. Until v1.0.0, the specification may yet change in ways that will alter the PGP key derivation process, which means you might not be able to recover the same keys with later versions of Mnemonikey."
  • "If you have any feedback, you're welcome to offer it in the discussions board. If you find any vulnerabilities, bugs, typos, or obvious flaws, please open an issue."

Key features

  • Keys are derived using modern secure algorithms (Argon2id and HKDF).
  • Recovery phrases include a version number to guarantee forwards-compatibility and long-term safety of your backup.
  • Phrases are encoded with a custom high-density wordlist with stronger guarantees than BIP39.
  • Phrases include a checksum to confirm you entered the phrase correctly.
  • Supports encrypted phrases. This is a different mechanism from BIP39 - you can change or remove the password at any time.
  • Easily auditable small code footprint: only 3800 lines of source code, plus 13,700 lines of code from dependencies. Less complexity --> less risk.
  • Reproducible builds for security guarantees.
  • Supports subkey cycling.
  • Fancy colored output (Let's be honest, this is the most important feature.

For a detailed specification, see the Mnemonikey README.

GitHub Repo Thread / Archive