shamir
farmfa
shamir | farmfa | |
---|---|---|
2 | 1 | |
35 | 21 | |
- | - | |
5.5 | 0.0 | |
9 months ago | over 1 year ago | |
Go | Go | |
Creative Commons Zero v1.0 Universal | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shamir
-
Shamir Secret Sharing
Built a CLI¹ a couple of years back that uses HashiCorp Vault's implementation of the Shamir Secret Sharing algorithm and exposes its functionality to the command-line in a UNIX-y way.
¹ https://github.com/incipher/shamir
-
How to Share a Secret [pdf]
https://github.com/incipher/shamir
Here's a CLI, written in Go, that uses HashiCorp Vault's implementation of the Shamir Secret Sharing algorithm and exposes its functionality to the command-line in an easy-to-use manner.
I personally use it to divide my password manager's master password into shares that are given to family members and close friends in order for them to collectively reconstruct my master password and obtain access to my password vault in case I pass away.
Disclaimer: I'm the author.
farmfa
-
How to Share a Secret [pdf]
I've been working on something similar to what you described[^1], using Shamir secret sharing to split the TOTP secret. Once enough key holders get together, a server generates some TOTP tokens, but only for a limited period of time.
I wanted to use it in an enterprise environment to limit the access to AWS root users in a break-glass scenario. Now I no longer have such need and haven't developed it further, but the core features are there. As usual though with this kind of tools, any security problem becomes a key management problem and it'd need a bit more work to use it in the real world.
[^1]: https://github.com/borgoat/farmfa
What are some alternatives?
secretshare-py - A simple pure python library implementing Adi Shamir's "How to share a secret" algorithm.
sss_py - Basic Shamir's Secret Sharing
wasm-multi-party-ecdsa - Full WASM Secure Threshold Signature ECDSA Library
otp - One time password for Go.
iamlive-lambda-extension - Lambda Extension for iamlive
banana_split - Shamir's Secret Sharing for people with friends
go-shamir - A small CLI tool for Shamir's Secret Sharing written in Go, using Vault's Shamir implementation
slips - SatoshiLabs Improvement Proposals
ThresholdJS - An implementation of Shamir's Secret Sharing algorithm for Bitcoin private keys (256-bit integers)