How Shamir's Secret Sharing Works
98 points by subract 6 hours ago | 9 comments
3eb7988a1663 25 minutes ago
Do the people who hold the root DNS keys do anything like this? Or is that too much complexity when a safe in a secure room works as an effective backup?
reply_jackdk_ 3 hours ago
This is such a cool technique, and you could even teach it in secondary schools as a neat thing computer scientists can do with polynomials.
replyCider9986 4 hours ago
Here is Ente's implementation: (https://2of3.ente.com/)
replyemmelaich 30 minutes ago
There's an implementation packaged up for most Linux distros: http://point-at-infinity.org/ssss
replyteravor 4 hours ago
if the secret is large usually it's encrypted and the payload is distributed along with the shares of the key.
replybut you can also just use Reed-Solomon and split the payload, the difference with Shamir is that you lose information-theoretic security (you lose it the moment you use encryption anyway) and the payload also needs to undergo an all-or-nothing-transform (AONT).
AONT transforms the entire payload into an encrypted blob which also serves as its own key, a withheld piece is a de facto encryption key. this is required because Reed-Solomon can have pathological cases where pieces leak information.
compsciphd 4 hours ago
before I learned of shamir secret sharing, I wondered why one couldn't do the same exact thing with a par2 like system (albiet with smaller pieces than a par2 system would traditionally have). i.e. you have X bits of data, you create Y*X/N sized recovery blocks (where Y > N). You hand each recovery block to individual users. and any N users can get together to recover the key and decrypt the contents.
replycalvinmorrison 2 hours ago
something tangentially i am interested in is computing following the 'two person rule' for things like sudo. Yes I am logged into server X at terinal Y, and so is my co-worker and we both sign off on running command X
reply