{"id":26055558,"url":"https://github.com/blockstreamresearch/codex32","last_synced_at":"2025-07-11T22:11:18.055Z","repository":{"id":39613917,"uuid":"244947720","full_name":"BlockstreamResearch/codex32","owner":"BlockstreamResearch","description":"A paper computer for Shamir's Secret Sharing over the Bech32 alphabet.","archived":false,"fork":false,"pushed_at":"2024-06-04T23:14:57.000Z","size":3409,"stargazers_count":82,"open_issues_count":13,"forks_count":23,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-08T10:20:15.961Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlockstreamResearch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-04T16:21:29.000Z","updated_at":"2025-02-23T18:28:17.000Z","dependencies_parsed_at":"2023-11-19T15:32:45.325Z","dependency_job_id":"e9508e9b-2d28-4453-9263-a21fc5b26846","html_url":"https://github.com/BlockstreamResearch/codex32","commit_stats":null,"previous_names":["blockstreamresearch/codex32","roconnor-blockstream/sss32"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BlockstreamResearch/codex32","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockstreamResearch%2Fcodex32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockstreamResearch%2Fcodex32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockstreamResearch%2Fcodex32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockstreamResearch%2Fcodex32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlockstreamResearch","download_url":"https://codeload.github.com/BlockstreamResearch/codex32/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockstreamResearch%2Fcodex32/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264905231,"owners_count":23681366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-08T10:19:46.948Z","updated_at":"2025-07-11T22:11:18.012Z","avatar_url":"https://github.com/BlockstreamResearch.png","language":"TeX","readme":"# codex32\n\n**codex32** is a scheme for checksumming and Shamir Secret Sharing based on paper computers (volvelles).\nIt is currently under construction and far from production-ready, but is usable by motivated experimentors.\nThis scheme is tedious and not for the faint-of-heart, but does not require any mathematical understanding; only perseverance, focus, and an ability to follow precise instructions.\n\nWe welcome feedback from everybody, either through issues on this Github repo or email to `pearlwort@wpsoftware.net`.\n\n![Image of two Volvelles used for secret recovery](./images/volvelles.jpg)\n\n## What is this repo?\n\nAside from documentation, this repository contains a single file, `SSS32.ps`, which contains the entire source code of the project.\nIt is hand-written Postscript, which means that it can be opened by a document viewer but also in a text editor, which will reveal the code used to generate the wheels and worksheets.\n(If you are unable to open the file with a popular document viewer, please let us know!)\n\nTo produce a PDF file, on a Linux machine the most straightforward way is to run the command\n```\nps2pdf -dPDFSETTINGS=/prepress SSS32.ps\n\n```\n\nIf you are a software developer or mathematician who would like to contribute, feel free to open a pull request, join us on IRC (Libera) `#volvelle-wizards`, or contact Pearlwort by email.\n\n## What is this project?\n\nThis project is a scheme to  generate, encode, checksum, split and recover Bitcoin secret keys, using pencil, paper and lookup tables (alternately, volvelles).\nIt works with 128- or 256-bit secrets, encoded in the [bech32](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) alphabet.\n**No wallets currently support such secrets. Do not use this scheme with real money.**\n\nThe project began in early 2020, as an extension of a \"[2018 blog point on computing Bech32 checksums with pen and paper](http://r6.ca/blog/20180106T164028Z.html)\".\nIt uses a stronger error-correcting code than bech32 and introduces volvelles as a faster and less error-prone alternate to lookup tables.\nInitially it was a hobby project by the first author, Leon Olsson Curr, who was later joined by Pearlwort Snead.\nPearlwort is the primary advocate for mainstream usage and any real-life problems or complaints should be directed to him.\n\ncodex32, in addition to generating and verifying checksums, also includes an implementation of Shamir's Secret Sharing Scheme (SSSS).\nThis scheme gives users the ability to split their checksummed secrets into many pieces, such that the original secret can be recovered by threshold-many pieces.\nThe threshold is set by the user and is typically 2 or 3.\n\n## Where are the artistic wheels?\n\nThis repository is actively being developed and does not cointain the latest experimental work. In particular,\n\n* The color illustrations are available in [Pearlwort's \"complete\" branch](https://github.com/apoelstra/SSS32/tree/complete)\n* The mathematical companion can be found in [a separate repo](https://github.com/apoelstra/volvelle-math-companion)\n* The official website is at https://secretcodex32.com\n\n# For Wallet Developers\n\nSee our [Wallet Developer Guide](./docs/wallets.md)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockstreamresearch%2Fcodex32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockstreamresearch%2Fcodex32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockstreamresearch%2Fcodex32/lists"}