| BIP 39 (Deployed) | Seed words: ten word lists, every length. A passphrase is printable ASCII, at most 256 bytes | The official and Japanese vectors; the bip39 crate; cross-check area bip39 against python-mnemonic |
| SLIP-0039 | Shamir shares of secrets of 16 to 32 bytes | All 45 vectors; cross-check area slip39 against python-shamir-mnemonic, word for word |
| BIP 93, codex32 (Draft) | codex32 shares: making, checking, deriving and recovering them, the worksheets, and error correction, which is opt-in and off by default | Every BIP 93 vector, the 55 invalid strings included; the booklet's and the volvelle's tables; cross-check areas codex32 and codex32-correct against python-codex32 |
| The codex32 booklet, SSS32 of 2023-03-07 | Dice for a codex32 secret, six-faced dice only | The booklet's tables; cross-check area codex32 |
| Codex32QR/v1-48, the profile of one SeedSigner fork | codex32 strings as QR codes, 48 characters only; longer profiles are refused. The profile is new and not peer-reviewed. It comes from FractalEncrypt's SeedSigner fork, branch codex/codex32-error-correction (MIT). The full-string QR is the form the codex32 authors' discussion 66, "CodexQR", describes, and that is where the format is being settled; Faraday draws no compact CodexQR until it is. Faraday writes the code in alphanumeric mode, as the profile's pictures are, and reads either mode. It follows the profile for the QR, not that device's workflow | The profile's vectors and its 22 pictures, each read from its pixels and found to be Faraday's code of its string, module for module (6 under the mask the profile's encoder chose); cross-check areas codex32 for the strings and seedqr for the code and the picture, against Project Nayuki's qrcodegen |
| Coldcard's Seed XOR document | Seed XOR, 2 to 4 parts | Coldcard's two examples and two made here; cross-check area xor against python-mnemonic |
| BIP 85 (Deployed) | Child keys from a seed: applications 2', 32', 39', 128169', 707764' and 707785' | BIP 85 vectors; cross-check area bip85 against BIP 85's reference implementation |
| The dice procedures of Coldcard, SeedSigner, Keystone and BitBox | Keys from dice: 99 rolls for 256 bits, as those tools accept | Transcripts from those tools; cross-check area entropy, the three procedures written from the quoted sources |
| Convention: coins and hex, most significant bit first | Keys from coin flips and from hexadecimal | Cross-check area entropy, a reference written from the repository's description of the procedure |
| No standard: playing cards, camera noise, and the mix of sources | Keys from cards (SHA-256 of one-byte draw indices) and from camera frames (SHA-256 of the frames' digests), and the mix of sources (SHA-256 over their commitments). All hash-based; the risk is low | Cross-check area entropy, a reference written from the repository's description of each, never from Faraday's code |
| No standard: the session's own randomness | A person's own randomness mixed into the system's, never in place of it | Cross-check area own-randomness, the construction written out over hashlib |
| No standard: the desktop dice roller | Dice rolled on screen, labelled "simulated dice", on the desktop app only | Cross-check area roller, both rollers against the values the codex32 specification states |
| SeedSigner's SeedQR | SeedQR and CompactSeedQR, English | SeedSigner's nine test codes; cross-check area seedqr, the specification written out over python-mnemonic and the codes module for module against Project Nayuki's qrcodegen |
| LND's aezeed, over AEZ v5 | Reading an LND seed, for its node key | AEZ reference vectors; LND's cipher seed and node id; cross-check area lightning for the outer layer (checksum, version). AEZ itself has no second implementation |
| KeePass's KDBX 4 | Exporting passwords: write only, ChaCha20 and Argon2id | Cross-check area kdbx: every file read back by pykeepass |
| The EFF word lists | Diceware passphrases | The lists' digests |