I've been wanting to use this in combination with Rabin's Information Dispersal algorithm to create an autonomous distributed file storage system. You would have redundancy, but redundancy in a way that you only require k of n "pieces" to recover your original file (or data object). This is pretty cool, because you don't need to have 10 copies of a 1 GB file (10 GB total) spread about the web in order to achieve a hi…
Shamir's Secret Sharing
11–19 of 19 posts
Re: Shamir's Secret Sharing
#12Python - https://github.com/blockstack/secret-sharing
PHP - https://github.com/mathieuk/secretsharer
Node - https://github.com/amper5and/secrets.js
Go - https://github.com/codahale/sss
C - https://github.com/fletcher/c-sss
Ruby - https://github.com/lian/shamir-secret-sharing
Re: Shamir's Secret Sharing
#13Thank you, Shamir!
Re: Shamir's Secret Sharing
#14I've been wanting to use this in combination with Rabin's Information Dispersal algorithm to create an autonomous distributed file storage system. You would have redundancy, but redundancy in a way that you only require k of n "pieces" to recover your original file (or data object). This is pretty cool, because you don't need to have 10 copies of a 1 GB file (10 GB total) spread about the web in order to achieve a hi…
When you encode information with Shamir Secret Sharing, each share is actually bigger than the original secret. The computation requirements also don't scale very well. What you want is called Erasure Coding. ( https://en.wikipedia.org/wiki/Erasure_code )
This is not true according to the Wikipedia article: Shamir's secret sharing is minimal, i.e. the size of each piece does not exceed the size of the original data.
https://en.wikipedia.org/w/index.php?title=Shamir%27s_Secret....
Re: Shamir's Secret Sharing
#15Instead this technique is information theoretically secure so even an adversary with the ability to perform exponentially slow algorithms instantly could not find the secret.
All this in a two page paper that only required high school math!
PS - The "Shamir" who found this technique is the S in RSA
Re: Shamir's Secret Sharing
#16Re: Shamir's Secret Sharing
#17Re: Shamir's Secret Sharing
#18Re: Shamir's Secret Sharing
#19Open source implementations available on GitHub: Python - https://github.com/blockstack/secret-sharing PHP - https://github.com/mathieuk/secretsharer Node - https://github.com/amper5and/secrets.js Go - https://github.com/codahale/sss C - https://github.com/fletcher/c-sss Ruby - https://github.com/lian/shamir-secret-sharing Java - https://github.com/timtiemens/secretshare Rust - https://github.com/sellibitze/secretsha…