KEMBAR78
Secret Sharing: (Or, More Accurately, "Secret Splitting") | PDF | Encryption | Cybercrime
0% found this document useful (0 votes)
142 views36 pages

Secret Sharing: (Or, More Accurately, "Secret Splitting")

This document discusses secret sharing, which is a method to split a secret value among multiple parties. It begins by explaining the goal of secret sharing is to allow the secret to be reconstructed only when some threshold number of parties collaborate, while preventing any subset below the threshold from learning anything about the secret. The document then covers various secret sharing schemes including the basic XOR scheme, Shamir's secret sharing using polynomial interpolation, and the more general (n,t) secret sharing where any t or more of the n shares are needed to reconstruct the secret. It also discusses applications and extensions of secret sharing like proactive secret sharing for periodically updating shares to prevent attacks if some shares are compromised.

Uploaded by

TomBiko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views36 pages

Secret Sharing: (Or, More Accurately, "Secret Splitting")

This document discusses secret sharing, which is a method to split a secret value among multiple parties. It begins by explaining the goal of secret sharing is to allow the secret to be reconstructed only when some threshold number of parties collaborate, while preventing any subset below the threshold from learning anything about the secret. The document then covers various secret sharing schemes including the basic XOR scheme, Shamir's secret sharing using polynomial interpolation, and the more general (n,t) secret sharing where any t or more of the n shares are needed to reconstruct the secret. It also discusses applications and extensions of secret sharing like proactive secret sharing for periodically updating shares to prevent attacks if some shares are compromised.

Uploaded by

TomBiko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

Secret Sharing

(or, more accurately, “Secret Splitting”)

Original slides by Nisarg Raval

Material is adapted from CS513 lecture notes (Cornell)

http://www.cs.cornell.edu/courses/cs513/2000sp/SecretSharing.html
Why split a secret?

http://s3.amazonaws.com/rapgenius/1604757_1306648362304.08res_250_319.jpg
Goal
• Given a secret s first held by a “dealer” and then splits n
shares among n parties called “players”

a. All n players together recover s

b. Less than n players can not recover s


Naive Scheme

S1 = 100 S=10011 S2 = 11

High Order Low Order

• Concatenate shares to reveal secret

• S = (S1)(S2) = (100)(11) = 10011

• What is the problem? - Think of a salary or password

https://c2.staticflickr.com/8/7158/6761951167_54f2d69fb6_z.jpg
No Partial Disclosure
• Given a secret s and n players

a. All n players together recover s

b. Less than n can not recover any information about s


(unconditional security)
Dealer Generates Shares using XOR

S1 = Rand S=10011 S2 = S XOR S1

10100 00111

10011
S = S1 XOR S2

https://c2.staticflickr.com/8/7158/6761951167_54f2d69fb6_z.jpg
General Scheme
• Given a secret s and n players

a. Dealer generates n-1 random strings as first n-1


shares

b. Last share is the bitwise XOR of s with all the other


n-1 shares
General Scheme
• Given a secret s and n players

a. Dealer generates n-1 random strings as first n-1


shares

b. Last share is the bitwise XORing of s with all the


other n-1 shares

• Security Check

a. Can n players generate s?


General Scheme
• Given a secret s and n parties

a. Generate n-1 random strings as first n-1 shares

b. Last share is the bitwise XORing of s with all the other


n-1 shares

• Security Check

a. Can n players generate s?

b. Can any n-1 players generate s?


A More Flexible Scenario
S2 S1

S=10011
S2 S

S3

https://c2.staticflickr.com/8/7158/6761951167_54f2d69fb6_z.jpg
A More Flexible Scenario
S2 S1

S=10011
S2 ?

S3

• S can be constructed by 2 or more generals

• Less than 2 generals can not construct s

https://c2.staticflickr.com/8/7158/6761951167_54f2d69fb6_z.jpg
(n,t) Secret Sharing
• Given a secret s and n players

a. Any t or more players can recover s

b. Less than t players have no information about s


(3,2) secret sharing
S S1
2

S=10011
S2 S

S3
(n,2) Secret Sharing

(0,S)

x
secret S is y intercept
(n,2) Secret Sharing

(xn-1,yn-1) (xn,yn)

(x1,y1)
y (x2,y2)

(0,S)

x
(n,2) Secret Sharing

(xn-1,yn-1) (xn,yn)

(x1,y1)
y (x2,y2)
shares
(0,S)

x
(n,2) Secret Sharing

(xn-1,yn-1)

(x1,y1)
y

(0,S)

x
(n,2) Secret Sharing
one share does not suffice

(x1,y1) for every secret S, there is a line


through x1,y1
y

(0,S)

x
(n,3) Secret Sharing

(xn,yn)

(xn-1,yn-1)

(0,S) (x1,y1)

(x2,y2)

three points determine a quadratic polynomial


Shamir’s Secret Sharing
• It takes t points to define a polynomial of degree t-1

Easy to prove corollary of the Fundamental Theorem of Algebra, which states that a polynomial of
degree n > 0 has exactly n roots (when counted with multiplicity)

Suppose two distinct degree-(t-1) polynomials p1(x) and p2(x) both pass through the same set of t
points. Then p1(x)-p2(x) has t roots, which is absurd.

• Create a degree-(t-1) polynomial with secret as the constant coefficient and the
remaining coefficients chosen at random

• Find n points on the curve (not at x=0) and give one to each of the players.

• At least t points are required to fit the polynomial and hence to recover secret (and
any t points will suffice)

y = at-1 * xt-1 + at-2 * xt-2 + … + a1 * x + a0

Shamir, Adi (1979), "How to share a secret", Communications of the ACM


Use Case

S1

(3,2) S2
Secret Sharing
Scheme

S3
Private Key
Dyadic Security Product
• Pure-software virtual hardware security module (HSM).

• (Other vendors sell HSMs similar to TPMs that can store private keys and perform
TLS operations.)

• Share secret (e.g., private key for TLS) across multiple servers.

• Perform TLS operations using secure multiparty computation so that no server learns
private key.

• Assumes that it is more difficult to break into one server than several.
Unconditional Security
• Each share must be as long as the secret itself, e.g.,
number of possible values of polynomial at each point
where it is evaluated must be the same as number of
possible y-intercepts

• Require random bits of length proportional to the number


of players n as well as length of the secret l

• Can the sizes of the shares be reduced?


“Secret Sharing Made Short”
• Dealer begins by choosing a random symmetric key, e.g., a
256-bit AES key

• Dealer encrypts the secret using the symmetric key

• Symmetric key is split using Shamir’s (n,t) scheme


(n shares, each 256 bits): n*256 bits

• Encrypted secret is encoded using an (n,t) error correcting code

• Suppose encrypted secret length is l bits. Code uses n


“symbols” each l/t bits long: nl/t bits. Any t symbols out of n
suffice to recover the encrypted secret.

• Total bits: n*256 + nl/t (versus nl)


Idea Behind Error Correcting Code
• Use a polynomial as before.

• Break the “message” (e.g., the encrypted secret) into t pieces of length l/t.
Let yi denote the i’th piece.

• Create a polynomial f(x) where f(xi)=yi for some arbitrarily chosen x1, x2,
…, xt, e.g., xi=i.

• Now the goal is to recover not f(0), but f(x1), f(x2), …, f(xt)

• Evaluate the polynomial at n-t other locations xt+1,…,xn, e.g., xi=i.

• The n f(xi) values are the symbols

• Can recover the full polynomial from any t symbols

• Once the polynomial is recovered, find values at x1, …, xt.


Why is this scheme not
unconditionally secure?
It’s possible to learn some of the information about the
encrypted secret from fewer than t shares, e.g., knowing
f(x1) means knowing the first piece of the encrypted secret.
The error correcting code isn’t trying to hide information.
The goal is the opposite: enable the recovery of as much
information as possible from whatever symbols are at hand.

So the security depends on the strength of the encryption


system, e.g., AES, which is NOT unconditionally secure,
since key length (256 bits) may be less than secret length l.
Why isn’t AES Unconditionally Secure?

Suppose message length is l bits, and key length is k bits,


e.g., k=256, where k may be much less than l.

Given a ciphertext encrypted with a k-bit key, adversary can


narrow down plaintext to 2k possibilities out of 2l by
decrypting with all possible k-bit key values.

(Although this approach is not computationally efficient.)


Problem?
S1 compromised

S1

S2

S2 compromised

S3 S1 + S2  Secret
Time
Refresh Shares
Trusted
Third
Party

S’1 S’’1
S1

S’2 S’’2
S2

S’3 S’’3
S3
Time
Refresh Shares
Trusted
Third
Party

S’1 S’’1
S1 S1 compromised

S’2 S’’2
S2 S’2 compromised

S’3 S’’3 can not


S3
construct secret
Time
Proactive Secret Sharing
Server 1 S Server 2

S1 S2

Goal: without changing the secret, periodically update


shares in a way that old shares are invalidated.
Proactive Secret Sharing
Server 1 S Server 2

S1 S2

S11  S12 S21  S22

Goal: without changing the secret, periodically update


shares in a way that old shares are invalidated.
Proactive Secret Sharing
Server 1 S Server 2

S1 S2
Exchange
Partial Shares
S11  S12 S21  S22

S21 S12

Goal: without changing the secret, periodically update


shares in a way that old shares are invalidated.
Proactive Secret Sharing
Server 1 S Server 2

S1 S2
Exchange
Partial Shares
S11  S12 S21  S22

S21 S12
Compute
 New Shares 
S’1 S’2

Goal: without changing the secret, periodically update


shares in a way that old shares are invalidated.
Proactive Secret Sharing
Server 1 S Server 2

S1 S2
Exchange
Partial Shares
S11 S12 S21 S22

S21 S12

S’1 S’2
Recover S

(S11  S21)  (S12  S22)

S
BitCoin Multi-Signature Addresses

• Related to, but different than secret sharing.

• Secret sharing: split a single secret into multiple shares.

• Multi-signature address: requires multiple signatures with


different private keys (secrets) to authorize a transaction.

• Examples: 2 out of 2, 2 out of 3, 3 out of 5.


Opening the Vault

You might also like