Codex32: An Illustrated Secret Sharing Guide

submited by
Style Pass
2023-09-14 18:00:17

Codex32 is an error-correcting code designed to be computable without the use of electronic computers. Users can compute and verify checksums by hand; we have provided lookup tables, volvelles and worksheets to assist with this process.

The codex32 checksum, like all linear codes, is compatible with Shamir's Secret Sharing Scheme, a mechanism to split a secret into many "shares", such that the original secret can be reconstructed from some number of them. In SSSS, users choose a threshold value k, typically 2 or 3; they then generate k-many random shares, and then compute a number of derived shares (up to 31 in total). A random secret can then be computed from any k shares.

The premise behind codex32 is that you will be generating, checksumming and splitting a BIP32 master seed, from which you will derive Bitcoin addresses. Before getting started, make sure you have a Bitcoin wallet which is able to import codex32-encoded seed shares.

As of this writing (September 2022), no such wallets exist. Therefore this project should be considered as a fun experiment, but cannot be used in practice. Very reckless users can consider coercing their SLIP39 or BIP39 seed words into the codex32 encoding, and then converting back before wallet import.

Leave a Comment