Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C implemententation of Satoshi Labs Slip-0039 Proposal #1

merged 13 commits into from Jun 28, 2019


Copy link

@howech howech commented Jun 28, 2019


The folks over at Satoshi Labs (SL) have been proposing a Shamir Secret Sharing Scheme to protect the master entropy used to create HD wallets. Here's a link to the proposal Slip-0039

SL has also provided a python reference implementation.

We here at my employer, Unchained Capital, would love it if Slip-0039 was adopted on a larger scale. To that end, we have written a little implementation fo Slip-0039 in C, and we post it here in the hopes that it finds a wider audience.



howech added 13 commits Jun 25, 2019
While it is self consistant, (generate and combine work appropriately together),
it does not recover the exact same secrets that the python implmentation does,
(with data taken from the test vectors.

The code will need some restructuring, and integration with a real random
number generator.
Linked test_generate_combine with a real random number generator.
Added a quick and dirty command line tool.
Copy link

@ChristopherA ChristopherA commented Jun 28, 2019

Thanks! HTC (@Seclabs-htc) has also just released a C version as well at (and forked here in Blockchain Commons). We should compare the versions. In the meantime, I'm merging.

cc: @dsprenkels @andrewkozlik @maaku @wolfmcnally


@ChristopherA ChristopherA merged commit 2b5ed7b into BlockchainCommons:master Jun 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants