secret sharing: 2 out of n and beyondtal/4261/f16/ss_slides_luke.pdft-out-of-n secret sharing syntax...

84
Secret Sharing: 2 out of N and Beyond Luke Kowalczyk September, 13, 2016

Upload: others

Post on 18-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Secret Sharing: 2 out of N and Beyond

Luke Kowalczyk

September, 13, 2016

Page 2: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

ReviewWhat is secret sharing?2 out of 2 secret sharing

2 out of n secret sharing from 2 out of 2 secret sharingProof by reduction (started last class)

Some Number Theory

t out of n secret sharing (Shamir)

Page 3: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 4: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 5: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 6: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:

∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 7: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M,

∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 8: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 9: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Syntax and Correctness

A t-out-of-n secret sharing scheme over message space M is a pairof algorithms (Share, Reconstruct) such that:

I Share is a randomized algorithm that on any input m ∈Moutputs a n-tuple of shares (s1, . . . , sn).

I Reconstruct is a deterministic algorithm that given ant-tuple of shares outputs a message in M

while both satisfy the following correctness requirement:∀m ∈M, ∀S = {i1, . . . , it} ⊆ {1, . . . , n} of size t,

PrShare(m)→(s1,...,sn)

[Reconstruct(si1 , . . . , sit ) = m] = 1

Page 10: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Security

Definition (secret sharing security with adversaries)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:

∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t, ∀A,

PrShare(m)→(s1,...,sn)

[A((si |i ∈ S)) = 1] = PrShare(m′)→(s′

1,...,s′n)

[A((s ′i |i ∈ S)) = 1]

Page 11: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Security

Definition (secret sharing security with adversaries)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:∀m,m′ ∈M,

∀S ⊆ {1, . . . , n} s.t. |S | < t, ∀A,

PrShare(m)→(s1,...,sn)

[A((si |i ∈ S)) = 1] = PrShare(m′)→(s′

1,...,s′n)

[A((s ′i |i ∈ S)) = 1]

Page 12: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Security

Definition (secret sharing security with adversaries)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t,

∀A,

PrShare(m)→(s1,...,sn)

[A((si |i ∈ S)) = 1] = PrShare(m′)→(s′

1,...,s′n)

[A((s ′i |i ∈ S)) = 1]

Page 13: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Security

Definition (secret sharing security with adversaries)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t, ∀A,

PrShare(m)→(s1,...,sn)

[A((si |i ∈ S)) = 1] = PrShare(m′)→(s′

1,...,s′n)

[A((s ′i |i ∈ S)) = 1]

Page 14: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

t-out-of-n Secret Sharing Security

Definition (secret sharing security with adversaries)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t, ∀A,

PrShare(m)→(s1,...,sn)

[A((si |i ∈ S)) = 1] = PrShare(m′)→(s′

1,...,s′n)

[A((s ′i |i ∈ S)) = 1]

Page 15: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-2 Secret Sharing Scheme

Share2−2: On input m ∈ {0, 1}`,I select s0 ∈ {0, 1}` uniformly at random.

I set s1 = s0 ⊕m

I output (s0, s1)

Reconstruct2−2: On input (s0, s1) ∈ {0, 1}` × {0, 1}`,I output s0 ⊕ s1

(proved perfect security using identical distributions securitydefinition)

Page 16: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-2 Secret Sharing Scheme

Share2−2: On input m ∈ {0, 1}`,I select s0 ∈ {0, 1}` uniformly at random.

I set s1 = s0 ⊕m

I output (s0, s1)

Reconstruct2−2: On input (s0, s1) ∈ {0, 1}` × {0, 1}`,I output s0 ⊕ s1

(proved perfect security using identical distributions securitydefinition)

Page 17: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-2 Secret Sharing Scheme

Share2−2: On input m ∈ {0, 1}`,I select s0 ∈ {0, 1}` uniformly at random.

I set s1 = s0 ⊕m

I output (s0, s1)

Reconstruct2−2: On input (s0, s1) ∈ {0, 1}` × {0, 1}`,I output s0 ⊕ s1

(proved perfect security using identical distributions securitydefinition)

Page 18: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-2 Secret Sharing Scheme

Share2−2: On input m ∈ {0, 1}`,I select s0 ∈ {0, 1}` uniformly at random.

I set s1 = s0 ⊕m

I output (s0, s1)

Reconstruct2−2: On input (s0, s1) ∈ {0, 1}` × {0, 1}`,I output s0 ⊕ s1

(proved perfect security using identical distributions securitydefinition)

Page 19: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,

I For k = 1 to log nI Run Share2−2(m)→ (sk0 , s

k1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 20: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 21: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 22: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si ,Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 23: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si ,Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 24: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 25: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 26: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 27: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

A 2-out-of-n Secret Sharing Scheme

Share2−n: On input m ∈ {0, 1}`,I For k = 1 to log n

I Run Share2−2(m)→ (sk0 , sk1 )

I For i = 0 to n − 1, if binary representation of i is i1 . . . ilog n,

set Si = (i , s1i1 , . . . , slog nilog n

)

I Output (S0, . . . ,Sn−1).

Reconstruct2−n: On input (Si , Sj),

I Consider the binary representations of the indicesi = i1 . . . ilog n and j = j1 . . . jlog n.

I Find a bit position k where they differ, namely ik 6= jk (thus,skik = sk0 , s

kjk

= sk1 or vice versa).

I Run Reconstruct2−2(sk0 , sk1 ) and output the same.

Page 28: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Main idea:Assume 2-out-of-n scheme is not perfectly secure. We will showthat this implies that the 2-out-of-2 scheme must not be perfectlysecure.

We know that the 2-out-of-two scheme is perfectly secure (provedlast class). So, this means that our assumption must have beenfalse and it must be the case that the 2-out-of-n scheme isperfectly secure.

Page 29: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Main idea:Assume 2-out-of-n scheme is not perfectly secure. We will showthat this implies that the 2-out-of-2 scheme must not be perfectlysecure.

We know that the 2-out-of-two scheme is perfectly secure (provedlast class). So, this means that our assumption must have beenfalse and it must be the case that the 2-out-of-n scheme isperfectly secure.

Page 30: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure.

Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1}, ∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 31: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:

∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1}, ∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 32: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`,

∃i ∈ {0, . . . , n − 1}, ∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 33: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1},

∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 34: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1}, ∃A,

such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 35: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1}, ∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 36: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assume that the 2-out-of-n scheme above is not secure. Thismeans (by negation of the security definition) that:∃m,m′ ∈ {0, 1}`, ∃i ∈ {0, . . . , n − 1}, ∃A, such that

PrShare2−n(m)→(S1,...,Sn)

[A(Si ) = 1] 6= PrShare2−n(m′)→(S ′1,...,S

′n)

[A(S ′i ) = 1]

Our goal is to use this to construct an adversary B that breaks the2-out-of-2 scheme.

Notice we have two distributions (a subset of the outputs of Sharecalled on m vs m′) such that when A is called on one it outputs 1with a different probability than when it’s called on the other.

Page 37: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

In the lefthandside distribution we have Si = (s1i1 , . . . , slog nilog n

), where

each (sk0 , sk1 ) is the output of Share2−2(m).

Let’s call this distribution H0.

In the righthandside distribution, we have S ′i = (s′1i1, . . . , s

′ log nilog n

),

where each (s′k0 , s

′k1 ) is the output of Share2−2(m′).

Let’s call this distribution H log n

Using this notation, the previous statement that our scheme is notperfectly secure can be written as:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

Page 38: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

In the lefthandside distribution we have Si = (s1i1 , . . . , slog nilog n

), where

each (sk0 , sk1 ) is the output of Share2−2(m).

Let’s call this distribution H0.

In the righthandside distribution, we have S ′i = (s′1i1, . . . , s

′ log nilog n

),

where each (s′k0 , s

′k1 ) is the output of Share2−2(m′).

Let’s call this distribution H log n

Using this notation, the previous statement that our scheme is notperfectly secure can be written as:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

Page 39: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

In the lefthandside distribution we have Si = (s1i1 , . . . , slog nilog n

), where

each (sk0 , sk1 ) is the output of Share2−2(m).

Let’s call this distribution H0.

In the righthandside distribution, we have S ′i = (s′1i1, . . . , s

′ log nilog n

),

where each (s′k0 , s

′k1 ) is the output of Share2−2(m′).

Let’s call this distribution H log n

Using this notation, the previous statement that our scheme is notperfectly secure can be written as:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

Page 40: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

In the lefthandside distribution we have Si = (s1i1 , . . . , slog nilog n

), where

each (sk0 , sk1 ) is the output of Share2−2(m).

Let’s call this distribution H0.

In the righthandside distribution, we have S ′i = (s′1i1, . . . , s

′ log nilog n

),

where each (s′k0 , s

′k1 ) is the output of Share2−2(m′).

Let’s call this distribution H log n

Using this notation, the previous statement that our scheme is notperfectly secure can be written as:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

Page 41: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

In the lefthandside distribution we have Si = (s1i1 , . . . , slog nilog n

), where

each (sk0 , sk1 ) is the output of Share2−2(m).

Let’s call this distribution H0.

In the righthandside distribution, we have S ′i = (s′1i1, . . . , s

′ log nilog n

),

where each (s′k0 , s

′k1 ) is the output of Share2−2(m′).

Let’s call this distribution H log n

Using this notation, the previous statement that our scheme is notperfectly secure can be written as:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

Page 42: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Let’s define some more distributions H j that A could be called on(we call these hybrid distributions).

H j : for each share, the first j components are taken from m′, whilethe rest are taken from m.

That is, for every j ∈ {0, . . . , log n}, we define

H j = {(s ′1i1 , . . . , s′jij, s j+1

ij+1, . . . , s log nilog n

) :(sk0 ,s

k1 )←Share

k2−2(m)

(s′k0 ,s′k1 )←Sharek

2−2(m′)∀k}

Note that our names for H0 and H log n match this definition.

Page 43: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Let’s define some more distributions H j that A could be called on(we call these hybrid distributions).

H j : for each share, the first j components are taken from m′, whilethe rest are taken from m.

That is, for every j ∈ {0, . . . , log n}, we define

H j = {(s ′1i1 , . . . , s′jij, s j+1

ij+1, . . . , s log nilog n

) :(sk0 ,s

k1 )←Share

k2−2(m)

(s′k0 ,s′k1 )←Sharek

2−2(m′)∀k}

Note that our names for H0 and H log n match this definition.

Page 44: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Let’s define some more distributions H j that A could be called on(we call these hybrid distributions).

H j : for each share, the first j components are taken from m′, whilethe rest are taken from m.

That is, for every j ∈ {0, . . . , log n}, we define

H j = {(s ′1i1 , . . . , s′jij, s j+1

ij+1, . . . , s log nilog n

) :(sk0 ,s

k1 )←Share

k2−2(m)

(s′k0 ,s′k1 )←Sharek

2−2(m′)∀k}

Note that our names for H0 and H log n match this definition.

Page 45: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Let’s define some more distributions H j that A could be called on(we call these hybrid distributions).

H j : for each share, the first j components are taken from m′, whilethe rest are taken from m.

That is, for every j ∈ {0, . . . , log n}, we define

H j = {(s ′1i1 , . . . , s′jij, s j+1

ij+1, . . . , s log nilog n

) :(sk0 ,s

k1 )←Share

k2−2(m)

(s′k0 ,s′k1 )←Sharek

2−2(m′)∀k}

Note that our names for H0 and H log n match this definition.

Page 46: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assuming our scheme is not perfectly secure, we know:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

It follows that there must exist a j ∈ {1, . . . , log n} such that

Pr[A(H j−1) = 1] 6= Pr[A(H j) = 1]

(otherwise, if all adjacent hybrids produce equal probabilities, theend hybrids would also have equal probabilities)

Page 47: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

Assuming our scheme is not perfectly secure, we know:Pr[A(H0) = 1] 6= Pr[A(H log n) = 1].

It follows that there must exist a j ∈ {1, . . . , log n} such that

Pr[A(H j−1) = 1] 6= Pr[A(H j) = 1]

(otherwise, if all adjacent hybrids produce equal probabilities, theend hybrids would also have equal probabilities)

Page 48: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So, A outputs 1 with different probabilities when applied to

H j−1 → (s′1i1 , . . . , s

′j−1ij−1

, s jij , sj+1ij+1

, . . . , s log nilog n)

vs. when applied to

H j → (s′1i1 , . . . , s

′j−1ij−1

, s′jij, s j+1

ij+1, . . . , s log nilog n

)

These hybrids are “adjacent” in a sense, differing in only onelocation (j), with A still behaving differently on their distributions.We are now ready to define B, the algorithm that uses A to breakthe 2-out-of-2 scheme by “plugging it in” that location.

Page 49: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So, A outputs 1 with different probabilities when applied to

H j−1 → (s′1i1 , . . . , s

′j−1ij−1

, s jij , sj+1ij+1

, . . . , s log nilog n)

vs. when applied to

H j → (s′1i1 , . . . , s

′j−1ij−1

, s′jij, s j+1

ij+1, . . . , s log nilog n

)

These hybrids are “adjacent” in a sense, differing in only onelocation (j), with A still behaving differently on their distributions.

We are now ready to define B, the algorithm that uses A to breakthe 2-out-of-2 scheme by “plugging it in” that location.

Page 50: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So, A outputs 1 with different probabilities when applied to

H j−1 → (s′1i1 , . . . , s

′j−1ij−1

, s jij , sj+1ij+1

, . . . , s log nilog n)

vs. when applied to

H j → (s′1i1 , . . . , s

′j−1ij−1

, s′jij, s j+1

ij+1, . . . , s log nilog n

)

These hybrids are “adjacent” in a sense, differing in only onelocation (j), with A still behaving differently on their distributions.We are now ready to define B, the algorithm that uses A to breakthe 2-out-of-2 scheme by “plugging it in” that location.

Page 51: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

We define B as follows (where i , j ,m,m′ are all hard-coded into B):

B: chooses to attack messages m,m′ with share ij .On input s = sij ,

I For k = 1, . . . , j − 1, run Share2−2(m′)→ (s′k0 , s

′k1 ).

I For k = j + 1, . . . , log n, run Share2−2(m)→ (sk0 , sk1 )

I Set Si = (s′1i1, . . . , s

′j−1ij−1

, s, s j+1ij+1

, . . . , s log nilog n)

I Run A(Si ) and output the same.

If s came from running Share2−2 on m, then Si is drawn from theH j−1 distribution.

If s came from running Share2−2 on m′, then Si is drawn from theH j distribution.

Page 52: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

We define B as follows (where i , j ,m,m′ are all hard-coded into B):

B: chooses to attack messages m,m′ with share ij .On input s = sij ,

I For k = 1, . . . , j − 1, run Share2−2(m′)→ (s′k0 , s

′k1 ).

I For k = j + 1, . . . , log n, run Share2−2(m)→ (sk0 , sk1 )

I Set Si = (s′1i1, . . . , s

′j−1ij−1

, s, s j+1ij+1

, . . . , s log nilog n)

I Run A(Si ) and output the same.

If s came from running Share2−2 on m, then Si is drawn from theH j−1 distribution.

If s came from running Share2−2 on m′, then Si is drawn from theH j distribution.

Page 53: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

We define B as follows (where i , j ,m,m′ are all hard-coded into B):

B: chooses to attack messages m,m′ with share ij .On input s = sij ,

I For k = 1, . . . , j − 1, run Share2−2(m′)→ (s′k0 , s

′k1 ).

I For k = j + 1, . . . , log n, run Share2−2(m)→ (sk0 , sk1 )

I Set Si = (s′1i1, . . . , s

′j−1ij−1

, s, s j+1ij+1

, . . . , s log nilog n)

I Run A(Si ) and output the same.

If s came from running Share2−2 on m, then Si is drawn from theH j−1 distribution.

If s came from running Share2−2 on m′, then Si is drawn from theH j distribution.

Page 54: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

We define B as follows (where i , j ,m,m′ are all hard-coded into B):

B: chooses to attack messages m,m′ with share ij .On input s = sij ,

I For k = 1, . . . , j − 1, run Share2−2(m′)→ (s′k0 , s

′k1 ).

I For k = j + 1, . . . , log n, run Share2−2(m)→ (sk0 , sk1 )

I Set Si = (s′1i1, . . . , s

′j−1ij−1

, s, s j+1ij+1

, . . . , s log nilog n)

I Run A(Si ) and output the same.

If s came from running Share2−2 on m, then Si is drawn from theH j−1 distribution.

If s came from running Share2−2 on m′, then Si is drawn from theH j distribution.

Page 55: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So,Pr

Share2−2(m)→(s0,s1)[B(sij ) = 1] = Pr[A(H j−1) = 1]

while

PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1] = Pr[A(H j) = 1]

We know that Pr[A(H j−1) = 1] 6= Pr[A(H j) = 1]

, so

PrShare2−2(m)→(s0,s1)

[B(sij ) = 1] 6= PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1]

(so B breaks the perfect security of the 2-out-of-2 scheme – thereexists m,m′, an index ij and an algorithm B such that the aboveprobability holds.)

Page 56: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So,Pr

Share2−2(m)→(s0,s1)[B(sij ) = 1] = Pr[A(H j−1) = 1]

while

PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1] = Pr[A(H j) = 1]

We know that Pr[A(H j−1) = 1] 6= Pr[A(H j) = 1] , so

PrShare2−2(m)→(s0,s1)

[B(sij ) = 1] 6= PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1]

(so B breaks the perfect security of the 2-out-of-2 scheme – thereexists m,m′, an index ij and an algorithm B such that the aboveprobability holds.)

Page 57: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

So,Pr

Share2−2(m)→(s0,s1)[B(sij ) = 1] = Pr[A(H j−1) = 1]

while

PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1] = Pr[A(H j) = 1]

We know that Pr[A(H j−1) = 1] 6= Pr[A(H j) = 1] , so

PrShare2−2(m)→(s0,s1)

[B(sij ) = 1] 6= PrShare2−2(m′)→(s′0,s

′1)

[B(s ′ij ) = 1]

(so B breaks the perfect security of the 2-out-of-2 scheme – thereexists m,m′, an index ij and an algorithm B such that the aboveprobability holds.)

Page 58: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

2-out-of-n Scheme: Hybrid Proof

This is a contradiction. We know from last class that the2-out-of-2 scheme is perfectly secure.

So our original assumption (that there exists an A that breaks theperfect security of the 2-out-of-n scheme) must be false, andtherefore the 2-out-of-n scheme is perfectly secure.

Page 59: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Everybody knows that “two points determine a line” (this is apostulate of Euclidean geometry).

It is also true that 3 points determine a parabola, and so on.

Namely: d + 1 points determine a unique degree-d polynomial, andthis is true even working modulo a prime.

Page 60: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Everybody knows that “two points determine a line” (this is apostulate of Euclidean geometry).

It is also true that 3 points determine a parabola, and so on.

Namely: d + 1 points determine a unique degree-d polynomial, andthis is true even working modulo a prime.

Page 61: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Everybody knows that “two points determine a line” (this is apostulate of Euclidean geometry).

It is also true that 3 points determine a parabola, and so on.

Namely: d + 1 points determine a unique degree-d polynomial, andthis is true even working modulo a prime.

Page 62: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Zp = {0, ..., p − 1}

Combined with modular addition and multiplication, Zp is a fieldwhen p is prime. (every nonzero element has an additive andmultiplicative inverse)

Zp has p elements. A particular x is therefore drawn withprobability 1

p .

A degree-d polynomial f (x) =∑d

i=0 fixi can be evaluated on

inputs in both R and Zp

Page 63: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Zp = {0, ..., p − 1}

Combined with modular addition and multiplication, Zp is a fieldwhen p is prime. (every nonzero element has an additive andmultiplicative inverse)

Zp has p elements. A particular x is therefore drawn withprobability 1

p .

A degree-d polynomial f (x) =∑d

i=0 fixi can be evaluated on

inputs in both R and Zp

Page 64: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Zp = {0, ..., p − 1}

Combined with modular addition and multiplication, Zp is a fieldwhen p is prime. (every nonzero element has an additive andmultiplicative inverse)

Zp has p elements. A particular x is therefore drawn withprobability 1

p .

A degree-d polynomial f (x) =∑d

i=0 fixi can be evaluated on

inputs in both R and Zp

Page 65: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Zp = {0, ..., p − 1}

Combined with modular addition and multiplication, Zp is a fieldwhen p is prime. (every nonzero element has an additive andmultiplicative inverse)

Zp has p elements. A particular x is therefore drawn withprobability 1

p .

A degree-d polynomial f (x) =∑d

i=0 fixi can be evaluated on

inputs in both R and Zp

Page 66: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Some Number Theory

Theorem (Polynomial Uniqueness and Interpolation)

Let p be a prime, and let {(x1, y1), ..., (xd+1, yd+1)} ⊆ Zp × Zp bea set of points whose xi values are all distinct.Then there is a unique degree-d polynomial f with coefficients inZp that satisfies yi = f (xi ) for all i .(This f can be obtained from the d + 1 points via polynomialinterpolation).

Page 67: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

We would like to have a t out of n secret sharing scheme. We justsaw that d + 1 points are enough to uniquely define a degree dpolynomial (the polynomial can be reconstructed via polynomialinterpolation).

A natural approach to build a secret sharing scheme is to let eachuser’s share be a point on a polynomial. This is exactly whatShamir Secret Sharing does.

To share a secret m ∈ Zp with threshold t out of n to reconstruct,we choose a degree t − 1 polynomial that satisfies f (0) = m, withall other coefficients chosen uniformly at random from Zp. Theshare of the ith user is (i , f (i)).

The interpolation theorem says any t shares can uniquelydetermine f , and hence recover the secret f (0) = m.

Page 68: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

We would like to have a t out of n secret sharing scheme. We justsaw that d + 1 points are enough to uniquely define a degree dpolynomial (the polynomial can be reconstructed via polynomialinterpolation).

A natural approach to build a secret sharing scheme is to let eachuser’s share be a point on a polynomial. This is exactly whatShamir Secret Sharing does.

To share a secret m ∈ Zp with threshold t out of n to reconstruct,we choose a degree t − 1 polynomial that satisfies f (0) = m, withall other coefficients chosen uniformly at random from Zp. Theshare of the ith user is (i , f (i)).

The interpolation theorem says any t shares can uniquelydetermine f , and hence recover the secret f (0) = m.

Page 69: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

We would like to have a t out of n secret sharing scheme. We justsaw that d + 1 points are enough to uniquely define a degree dpolynomial (the polynomial can be reconstructed via polynomialinterpolation).

A natural approach to build a secret sharing scheme is to let eachuser’s share be a point on a polynomial. This is exactly whatShamir Secret Sharing does.

To share a secret m ∈ Zp with threshold t out of n to reconstruct,we choose a degree t − 1 polynomial that satisfies f (0) = m, withall other coefficients chosen uniformly at random from Zp. Theshare of the ith user is (i , f (i)).

The interpolation theorem says any t shares can uniquelydetermine f , and hence recover the secret f (0) = m.

Page 70: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

We would like to have a t out of n secret sharing scheme. We justsaw that d + 1 points are enough to uniquely define a degree dpolynomial (the polynomial can be reconstructed via polynomialinterpolation).

A natural approach to build a secret sharing scheme is to let eachuser’s share be a point on a polynomial. This is exactly whatShamir Secret Sharing does.

To share a secret m ∈ Zp with threshold t out of n to reconstruct,we choose a degree t − 1 polynomial that satisfies f (0) = m, withall other coefficients chosen uniformly at random from Zp. Theshare of the ith user is (i , f (i)).

The interpolation theorem says any t shares can uniquelydetermine f , and hence recover the secret f (0) = m.

Page 71: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

Shareshamir : On input m ∈ Zp,

I select f1, ..., ft−1 uniformly at random from Zp.

I define f (x) = m +∑t−1

i=1 fixi

I for i = 1 to n:I create share si = (i , f (i)).

I output: (s1, ..., sn)

Reconstructshamir : On input (si : i ∈ S)

I interpolate t points of si to obtain f , the unique degree t − 1polynomial passing through these points.

I output f (0)

(correctness follows from interpolation theorem)

Page 72: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

Shareshamir : On input m ∈ Zp,

I select f1, ..., ft−1 uniformly at random from Zp.

I define f (x) = m +∑t−1

i=1 fixi

I for i = 1 to n:I create share si = (i , f (i)).

I output: (s1, ..., sn)

Reconstructshamir : On input (si : i ∈ S)

I interpolate t points of si to obtain f , the unique degree t − 1polynomial passing through these points.

I output f (0)

(correctness follows from interpolation theorem)

Page 73: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

Shareshamir : On input m ∈ Zp,

I select f1, ..., ft−1 uniformly at random from Zp.

I define f (x) = m +∑t−1

i=1 fixi

I for i = 1 to n:I create share si = (i , f (i)).

I output: (s1, ..., sn)

Reconstructshamir : On input (si : i ∈ S)

I interpolate t points of si to obtain f , the unique degree t − 1polynomial passing through these points.

I output f (0)

(correctness follows from interpolation theorem)

Page 74: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

Shareshamir : On input m ∈ Zp,

I select f1, ..., ft−1 uniformly at random from Zp.

I define f (x) = m +∑t−1

i=1 fixi

I for i = 1 to n:I create share si = (i , f (i)).

I output: (s1, ..., sn)

Reconstructshamir : On input (si : i ∈ S)

I interpolate t points of si to obtain f , the unique degree t − 1polynomial passing through these points.

I output f (0)

(correctness follows from interpolation theorem)

Page 75: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir’s Secret Sharing Scheme

Shareshamir : On input m ∈ Zp,

I select f1, ..., ft−1 uniformly at random from Zp.

I define f (x) = m +∑t−1

i=1 fixi

I for i = 1 to n:I create share si = (i , f (i)).

I output: (s1, ..., sn)

Reconstructshamir : On input (si : i ∈ S)

I interpolate t points of si to obtain f , the unique degree t − 1polynomial passing through these points.

I output f (0)

(correctness follows from interpolation theorem)

Page 76: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Recall the perfect security definition:

Definition (secret sharing security via identical distributions)

A t-out-of-n secret sharing scheme (Share, Reconstruct) over Mis perfectly secure if:∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t, the followingdistributions are identical:

{(si |i ∈ S) : (s1, . . . , sn)← Share(m)}

{(s ′i |i ∈ S) : (s ′1, . . . , s′n)← Share(m′)}

Page 77: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Equivalently: ∀m,m′ ∈M, ∀S ⊆ {1, . . . , n} s.t. |S | < t, and forany set α = (α1, . . . , α|S|), we have that

PrShare(m)→(s1,...,sn)

[(si |i ∈ S) = α] = PrShare(m′)→(s′1,...,s

′n)

[(s ′i |i ∈ S) = α]

Page 78: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Consider the distribution of Shareshamir (m)→ (s1, . . . , sn). Then,for any α = (α1, . . . , α|S |), consider:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α]

for an unauthorized set S of size t − 1.

(si |i ∈ S) = α happens if and only if the polynomial chosen byShareshamir happens to have f (i) = αi for each i ∈ S andf (0) = m.

By the polynomial interpolation theorem, there is one uniquedegree t − 1 polynomial that satisfies these t constraints. TheShareshamir chooses a degree t − 1 polynomial uniformly from theset of pt−1 polynomials that satisfy f (0) = m (this is done bychoosing fi at random from Zp for i = 1, ..., t − 1). So, thisprobability is 1

pt−1 .

Page 79: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Consider the distribution of Shareshamir (m)→ (s1, . . . , sn). Then,for any α = (α1, . . . , α|S |), consider:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α]

for an unauthorized set S of size t − 1.

(si |i ∈ S) = α happens if and only if the polynomial chosen byShareshamir happens to have f (i) = αi for each i ∈ S andf (0) = m.

By the polynomial interpolation theorem, there is one uniquedegree t − 1 polynomial that satisfies these t constraints. TheShareshamir chooses a degree t − 1 polynomial uniformly from theset of pt−1 polynomials that satisfy f (0) = m (this is done bychoosing fi at random from Zp for i = 1, ..., t − 1). So, thisprobability is 1

pt−1 .

Page 80: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Consider the distribution of Shareshamir (m)→ (s1, . . . , sn). Then,for any α = (α1, . . . , α|S |), consider:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α]

for an unauthorized set S of size t − 1.

(si |i ∈ S) = α happens if and only if the polynomial chosen byShareshamir happens to have f (i) = αi for each i ∈ S andf (0) = m.

By the polynomial interpolation theorem, there is one uniquedegree t − 1 polynomial that satisfies these t constraints. TheShareshamir chooses a degree t − 1 polynomial uniformly from theset of pt−1 polynomials that satisfy f (0) = m (this is done bychoosing fi at random from Zp for i = 1, ..., t − 1). So, thisprobability is 1

pt−1 .

Page 81: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

So we have that:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Notice that we can repeat this argument for the distribution ofShareshamir (m′)→ (s ′1, . . . , s

′n)! (Nothing in the argument

depended on the particular value for m).

So we also have that:

PrShareshamir (m′)→(s′1,...,s

′n)

[(s ′i |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Page 82: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

So we have that:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Notice that we can repeat this argument for the distribution ofShareshamir (m′)→ (s ′1, . . . , s

′n)! (Nothing in the argument

depended on the particular value for m).

So we also have that:

PrShareshamir (m′)→(s′1,...,s

′n)

[(s ′i |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Page 83: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

So we have that:

PrShareshamir (m)→(s1,...,sn)

[(si |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Notice that we can repeat this argument for the distribution ofShareshamir (m′)→ (s ′1, . . . , s

′n)! (Nothing in the argument

depended on the particular value for m).

So we also have that:

PrShareshamir (m′)→(s′1,...,s

′n)

[(s ′i |i ∈ S) = α] =1

pt−1

for an unauthorized set S of size t − 1.

Page 84: Secret Sharing: 2 out of N and Beyondtal/4261/F16/ss_slides_luke.pdft-out-of-n Secret Sharing Syntax and Correctness A t-out-of-n secret sharing scheme over message space Mis a pair

Shamir Security

Therefore, for any m,m′, for any α, and for any unauthorized set Sof size t − 1, we have that:

PrShareshamir (m)

→(s1,...,sn)

[(si |i ∈ S) = α] =1

pt−1= Pr

Shareshamir (m′)

→(s′1,...,s′n)

[(s ′i |i ∈ S) = α]

and therefore Shamir t-out-of-n secret sharing satisfies perfectsecurity.