Live data from Hacker News

Shamir's Secret Sharing

en.wikipedia.org

21–30 of 48 posts

Re: Shamir's Secret Sharing

#22
post #17

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. It's different in that the data is totally readabl…

Many storage media formats and network protocols use closely related schemes to transparently handle minor defects and disruptions [1].

The more general theoretical category is the erasure code [2].

[1] https://www.cs.cmu.edu/~guyb/realworld/reedsolomon/reed_solo...

[2] https://en.wikipedia.org/wiki/Erasure_code

Re: Shamir's Secret Sharing

#23
post #13

I'm not a mathematician but here is my ELI5 understanding of it based on linked wikipedia article. 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. 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 peo…

Just remember the caveat with the ELI5 explanation is that if I tell you the first two points on a parabola are (0,0) and (1,0) you will figure that the third point is more likely to be around (2,0) than, say, (2,2^30).

I could understand the integer arithmetic example they gave and I think you are pointing out how this is flawed security-wise (its use lies in explaining the method). This flaw is addressed by using finite field arithmetic but I did't understand that part too well.

Re: Shamir's Secret Sharing

#24
post #8

Ever since learning about this I've wanted to use it for something, but I've never had the opportunity.

Consider you want to share the passwords to your bank accounts with your family after you die. You take a list of those passwords, and encrypt it using SSSS with 4 of 7 keys needed to decrypt. You then share these 7 keys with your 7 relatives. After your death, they get together and unlock your passwords.

They can access the bank accounts, but can they legally perform any meaningful transaction with the data/money they access?

For example-- suppose that person dies and these 7 relatives access the account and wire themselves some money. With no other arrangements made, doesn't that constitute bank fraud?

On the flip side-- if the relatives also have to go through the time-consuming processes of meetings with an estate lawyer and bank managers in order to fulfill the wishes of the deceased, what function does the cryptography perform in this case?

Re: Shamir's Secret Sharing

#26
Suppose I asked if there's a practical example of merkle trees in the wild. Someone answers, "of course: git." Then 7 troglodyte friends and I jump on github/gitlab/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!

Now suppose I asked if there's a practical example of SSS in the wild. Someone answers, "of course: ___." 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, ___!

Fill in the blanks.

Re: Shamir's Secret Sharing

#27
post #14
post #12

Shamir’s Secret Sharing is one of my favorite algorithm names. It sounds straight out of a D&D wizard spell list. Especially when you interpret it as ”sharing in secret” instead of ”sharing a secret”.

It helps that Shamir as well as making the name alliterative also sounds like the stage name for some early 20th century magician

I think it's possible that his family name derives from https://en.wikipedia.org/wiki/Solomon%27s_shamir.

Re: Shamir's Secret Sharing

#28

Suppose I asked if there's a practical example of merkle trees in the wild. Someone answers, "of course: git." Then 7 troglodyte friends and I jump on github/gitlab/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 en…

Fill in: DNSSEC.

"Paul Kane -- who lives in the Bradford-on-Avon area -- has been chosen to look after one of seven keys, which will 'restart the world wide web' in the event of a catastrophic event."

https://www.schneier.com/blog/archives/2010/07/dnssec_root_k...

Re: Shamir's Secret Sharing

#29

Suppose I asked if there's a practical example of merkle trees in the wild. Someone answers, "of course: git." Then 7 troglodyte friends and I jump on github/gitlab/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 en…

I won't follow your script, but here's a nodejs implementation of SSS https://github.com/grempe/secrets.js

I've seen SSS used in Ethereum smart-contracts before. Grid+ https://blog.gridplus.io/simple-security-with-shamir-secret-... and Blockstack: https://github.com/blockstack/secret-sharing and uPort: https://github.com/uport-project/sss-wasm come to mind.

Re: Shamir's Secret Sharing

#30

Suppose I asked if there's a practical example of merkle trees in the wild. Someone answers, "of course: git." Then 7 troglodyte friends and I jump on github/gitlab/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 en…

I won't follow your script, but here's a nodejs implementation of SSS https://github.com/grempe/secrets.js I've seen SSS used in Ethereum smart-contracts before. Grid+ https://blog.gridplus.io/simple-security-with-shamir-secret-... and Blockstack: https://github.com/blockstack/secret-sharing and uPort: https://github.com/uport-project/sss-wasm come to mind.

`poly_utils.py` in https://github.com/ethereum/research/tree/master/mimc_stark is a fairly simple one-file general-purpose library for arithmetic over prime fields, including multi-point evaluation and Lagrange interpolation; secret sharing and erasure coding are quite easy to implement with these primitives.
Post reply on HN