TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Shamir's Secret Sharing

177 pointsby fisianalmost 7 years ago

18 comments

markpapadakisalmost 7 years ago
Vault(<a href="https:&#x2F;&#x2F;www.vaultproject.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.vaultproject.io&#x2F;</a>) and Phaistos KMS (<a href="https:&#x2F;&#x2F;github.com&#x2F;phaistos-networks&#x2F;KMS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;phaistos-networks&#x2F;KMS</a>) both use SSD for sealing&#x2F;unsealing, where a master key is created, &#x27;divided&#x27; into multiple keys and a minimum number of such keys are required to unseal the service.
评论 #17794094 未加载
barkingover 6 years ago
I&#x27;m not a mathematician but here is my ELI5 understanding of it based on linked wikipedia article.<p>If you know the coordinates of any 2 points on a line you can recover the equation for that line. The same is true for 3 points on a quadratic curve and 4 points on cubic curve, etc.<p>So if our secret is the number c we can put it in the equation for, say, a quadratic: ax^2 + bx + c = 0 We can then give any number of people the coordinates for different single points on this curve.<p>None of these people know the equation but if any 3 of them share their coordinates they can work out the equation and thus the value of c.
评论 #17793952 未加载
评论 #17794038 未加载
评论 #17845125 未加载
Sharlinover 6 years ago
Shamir’s Secret Sharing is one of my favorite algorithm names. It sounds straight out of a D&amp;D wizard spell list. Especially when you interpret it as ”sharing in secret” instead of ”sharing a secret”.
评论 #17793937 未加载
评论 #17794180 未加载
评论 #17796695 未加载
jronover 6 years ago
Greg Maxwell has suggested that quite a few implementations of SSS are broken: &quot;FWIW, virtually every SSS thing I&#x27;ve seen out there is just wrong in at least some less serious way. In general I&#x27;ve found secret sharing to be part of a pretextual security practice that seldom helps users against realistic threats, and the thoughtlessness of using it is usually reflected in the implementation.&quot; - <a href="https:&#x2F;&#x2F;np.reddit.com&#x2F;r&#x2F;Bitcoin&#x2F;comments&#x2F;72dfy1&#x2F;armory_wallet_fragmented_backups_may_be&#x2F;dnho2w6&#x2F;" rel="nofollow">https:&#x2F;&#x2F;np.reddit.com&#x2F;r&#x2F;Bitcoin&#x2F;comments&#x2F;72dfy1&#x2F;armory_walle...</a><p>Here is one seriously broken implementation he discovered: <a href="https:&#x2F;&#x2F;bitcointalk.org&#x2F;index.php?topic=2199659.0" rel="nofollow">https:&#x2F;&#x2F;bitcointalk.org&#x2F;index.php?topic=2199659.0</a>
jancsikaover 6 years ago
Suppose I asked if there&#x27;s a practical example of merkle trees in the wild. Someone answers, &quot;of course: git.&quot; Then 7 troglodyte friends and I jump on github&#x2F;gitlab&#x2F;whatever (which is super easy because everyone already uses one of these user-friendly services that wrap around git) and immediately see how git helps us develop by leveraging merkle trees. We realize that the merkle trees are leveraged so that we can ensure (most of the time) data integrity in the history of our source code. Thanks, git!<p>Now suppose I asked if there&#x27;s a practical example of SSS in the wild. Someone answers, &quot;of course: ___.&quot; Then 7 troglodyte friends and I jump on ___ (which is super easy because everyone already uses one of these user-friendly services that wrap around ___)and immediately see how ___ helps us develop by leveraging SSS. We realize that SSS is leveraged so that we can ensure ___. Thanks, ___!<p>Fill in the blanks.
评论 #17794737 未加载
评论 #17795089 未加载
评论 #17794659 未加载
评论 #17794861 未加载
评论 #17795356 未加载
评论 #17794909 未加载
nanimoalmost 7 years ago
It&#x27;s amazing how this is a practical piece of math that can be understood with little more than a basic familiarity with polynomials. This is the kind of stuff I&#x27;d loved to have learned in middle school!
评论 #17793504 未加载
Cieplakalmost 7 years ago
One of my favorite Shamir implementations:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;codahale&#x2F;shamir" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;codahale&#x2F;shamir</a>
ballenfover 6 years ago
Reminds me a lot of my usenet newsgroup file sharing days and the PAR parity format. A file is split into say 200 pieces to fit within the limitations of a newsgroup post. Those 200 posts may or may not all make it to your usenet server, but an additional 10-20 parity files are also created such that you need to only find 200 total unique pieces to recreate the data.<p>It&#x27;s different in that the data is totally readable other than the missing pieces (although practically unusable). The thing that blew my mind was just how a single parity file can fill a single gap regardless of where in the sequence of original files.
评论 #17794427 未加载
评论 #17794864 未加载
mirimiralmost 7 years ago
This is one of the most elegant things, ever.
评论 #17792931 未加载
bborudalmost 7 years ago
Ever since learning about this I&#x27;ve wanted to use it for something, but I&#x27;ve never had the opportunity.
评论 #17794213 未加载
streetyover 6 years ago
I came across Shamir&#x27;s Secret Sharing recently when thinking about how a partial password scheme might best be implemented. I even went as far as writing up an implementation of the cryptographic aspects.<p><a href="https:&#x2F;&#x2F;jonathanstreet.com&#x2F;blog&#x2F;partial-passwords&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jonathanstreet.com&#x2F;blog&#x2F;partial-passwords&#x2F;</a>
discobeanover 6 years ago
Somewhat interesting article on secret sharing being used to store Hardware private keys <a href="https:&#x2F;&#x2F;medium.com&#x2F;@markstar&#x2F;backup-your-trezor-ledger-using-shamirs-secret-sharing-972e98101839" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@markstar&#x2F;backup-your-trezor-ledger-using...</a>
textmodealmost 7 years ago
<a href="http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20031002050746&#x2F;http:&#x2F;&#x2F;atrey.karlin.mff.cuni.cz:80&#x2F;~clock&#x2F;twibright&#x2F;schizzors&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20031002050746&#x2F;http:&#x2F;&#x2F;atrey.karli...</a>
tuxxyover 6 years ago
NuCypher uses this on our proxy re-encryption scheme. You don&#x27;t want a re-encryption key to be all together in one place, so we split it up using SSS and distribute the fragments. For cryptography beginners, this scheme is relatively easy to understand, describe, and prove.
jwilkalmost 7 years ago
Popular implementations:<p><a href="http:&#x2F;&#x2F;point-at-infinity.org&#x2F;ssss&#x2F;" rel="nofollow">http:&#x2F;&#x2F;point-at-infinity.org&#x2F;ssss&#x2F;</a><p><a href="https:&#x2F;&#x2F;git.gitano.org.uk&#x2F;libgfshare.git&#x2F;" rel="nofollow">https:&#x2F;&#x2F;git.gitano.org.uk&#x2F;libgfshare.git&#x2F;</a>
darshitppover 6 years ago
In my undergraduate final year project, we used a &quot;variation&quot; of SSS called Thien-Lin Secret Sharing to enable bank locker security! Glad to see SSS being shared here!
brianzelipover 6 years ago
secret sharing for javascript, <a href="https:&#x2F;&#x2F;github.com&#x2F;grempe&#x2F;secrets.js" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;grempe&#x2F;secrets.js</a>
badrabbitover 6 years ago
DNS root server keys?<p>Wonder if this has been used in any commercial transaction escrow systems.