Live data from Hacker News

How Shamir's Secret Sharing Works

ente.com

51–60 of 88 posts

Re: How Shamir's Secret Sharing Works

#51
post #32

Instead of going from two lines to curves, parabolas etc, couldn't you also add another dimension instead?

Yes?

If I use 3 shares and require all three to recover, then I think I could let the 3 points define a plane. Then the plane would intersect the axis at a unique point.

If I want 4 or more shares, I can make them by just generating more points on that same plane. Then I think any three of those should recover the secret. So it seems like that would all work about the same as with the polynomials? Then I can go to still more dimensions when I want to require more shares to reveal the secret.

Re: How Shamir's Secret Sharing Works

#52

Here is Ente's implementation: ( https://2of3.ente.com/ )

This is my favorite one yet, very user friendly. I only wish it was a bit more configurable. Ideally I'd be able to set up something like:

  3 of 4: A B C D
  - OR -
    2 of 3: E F G
    - AND -
    1 of 1: H
Or any similar combination. Maybe also with a way to name the cards so it's clear exactly what's needed when restoring.

Though there's something to be said for the simplicity of the current design.

Re: How Shamir's Secret Sharing Works

#53
post #19

Bruce Schneier described this in his seminal book Applied Cryptography, and HashiCorp Vault used to have an implementation in Go. On the practical side, I always wondered how large - in bits - the shares should be. One answer I got on a news group was "1 bit more than the actual key length". Nowadays, I wonder how the quantum computing threat would inform 1) share size choice and 2) pro/con Secret Sharing in general.…

Shamir's is based on the fundamental theorem of algebra — you need n+1 points to uniquely define a degree n polynomial. So you achieve an n of k setup by building a degree n-1 polynomial p(x) and taking k random points from that polynomial. The i-th share is just (xi, yi), so the number of bits is defined by the field you're building the polynomial on. Because the field has to be wide enough to store the whole secret and you have to store two values (x, y), share sizes are at least two times the size of the secret. (You'll want some sort of integrity check to make sure your share isn't corrupted, though)

As I understand it, quantum computing changes nothing here — if you're missing even one point, that last point could change the secret to anything at all, with no way to disambiguate.

Re: How Shamir's Secret Sharing Works

#54

SSS works pretty well. IIRC somebody in bitcoin community started using this for storing private keys using 3/5 schema. they basically divide the secret keys into 5 parts out of which you only need 3 to recover original private key. IDK if there are any hardware wallets that actually support it yet though.

Trezor supports it.

Re: How Shamir's Secret Sharing Works

#55
My master thesis was about an application of SSS to mesh networks: even if one of the node of the mesh was captured by an attacker and the secret retrieved from the node, it was impossible to crack the whole encryption.

Re: How Shamir's Secret Sharing Works

#56
I'm curious if there's a way to merge multiple key/value pairs into a single cryptext (without just appending or exploding the size of the result) such that everyone securing their information into this scheme stores a copy of the same encrypted blob, but their key decrypts a different value from the blob.

In this way, people could act as backups for one another with plausible deniability of what's being stored.

Re: How Shamir's Secret Sharing Works

#57
post #32

Instead of going from two lines to curves, parabolas etc, couldn't you also add another dimension instead?

Probably, but the nice thing about polynomials is the secret is the value when x is 0. What is the point on the hyper geometry where I look up the secret?

Re: How Shamir's Secret Sharing Works

#58

Earlier quoted context omitted.

Interesting, in Indonesia Ente means you. Derived from Arabic word Anta. Fascinating how sometimes in different languages one word can have opposite meaning and the other times one word can have similar meaning.

Maybe it's the pronunciation - ente means "mine" and ante means "yours" (in Malayalam) which is what perhaps you may be referring to? (Former South Indian kingdoms and South East Asia have historical cultural ties due to trade and conquest, and thus they share some common words, which I assume is, largely borrowed from Tamil and Malayalam).

Some people use ante to mean yours in the northern region, but it is not common in the southern region.

Re: How Shamir's Secret Sharing Works

#59

My masters thesis was on this! I created an app where you can store your data across all the common data storage providers (dropbox, google drive, onedrive, etc.) and used the secret sharing to aid with the encryption. The benefit was that: - They could no longer read your data - Additional redundancy (as you only need 2 to be available) - Compared to other secure storage apps which rely on a master password, which i…

Where is your thesis available?

Re: How Shamir's Secret Sharing Works

#60
post #52

Here is Ente's implementation: ( https://2of3.ente.com/ )

This is my favorite one yet, very user friendly. I only wish it was a bit more configurable. Ideally I'd be able to set up something like: 3 of 4: A B C D - OR - 2 of 3: E F G - AND - 1 of 1: H Or any similar combination. Maybe also with a way to name the cards so it's clear exactly what's needed when restoring. Though there's something to be said for the simplicity of the current design.

that's just 3 shamir secret sharings.

key is protected by a 3 of 3 keys.

1 protected by 3 of 4 (i.e. SSS the key into a 3 of 4) 1 protected by 2 of 3 (i.e. SSS the key into a 2 of 3) 1 that just is.

so you take your original key and SSS into a 3 of 3.

you take part 1 and SSS into a 3 of 4, and take part 2 and SSS into a 2 of 3.

Post reply on HN