Applied Cryptography Lecture 1 Applied Cryptography Lecture 1 Our - - PowerPoint PPT Presentation

applied cryptography
SMART_READER_LITE
LIVE PREVIEW

Applied Cryptography Lecture 1 Applied Cryptography Lecture 1 Our - - PowerPoint PPT Presentation

Applied Cryptography Lecture 1 Applied Cryptography Lecture 1 Our first encounter with secrecy: Secret-Sharing Secrecy Secrecy Cryptography is all about controlling access to information Access to learning and/or influencing


slide-1
SLIDE 1

Applied Cryptography

Lecture 1

slide-2
SLIDE 2

Applied Cryptography

Our first encounter with secrecy: Secret-Sharing Lecture 1

slide-3
SLIDE 3

Secrecy

slide-4
SLIDE 4

Secrecy

Cryptography is all about “controlling access to information” Access to learning and/or influencing information

slide-5
SLIDE 5

Secrecy

Cryptography is all about “controlling access to information” Access to learning and/or influencing information One of the aspects of access control is secrecy

slide-6
SLIDE 6

A Game

slide-7
SLIDE 7

A Game

A “dealer” and two “players” Alice and Bob

slide-8
SLIDE 8

A Game

A “dealer” and two “players” Alice and Bob Dealer has a message, say two bits m1m2

slide-9
SLIDE 9

A Game

A “dealer” and two “players” Alice and Bob Dealer has a message, say two bits m1m2 She wants to “share” it among the two players so that neither player by itself learns anything about the message, but together they can find it

slide-10
SLIDE 10

A Game

A “dealer” and two “players” Alice and Bob Dealer has a message, say two bits m1m2 She wants to “share” it among the two players so that neither player by itself learns anything about the message, but together they can find it Bad idea: Give m1 to Alice and m2 to Bob

slide-11
SLIDE 11

A Game

A “dealer” and two “players” Alice and Bob Dealer has a message, say two bits m1m2 She wants to “share” it among the two players so that neither player by itself learns anything about the message, but together they can find it Bad idea: Give m1 to Alice and m2 to Bob Other ideas?

slide-12
SLIDE 12

Sharing a bit

slide-13
SLIDE 13

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob

slide-14
SLIDE 14

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit)

slide-15
SLIDE 15

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½)

slide-16
SLIDE 16

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½)

m = 0 → (a,b) = (0,0) or (1,1) m = 1 → (a,b) = (1,0) or (0,1)

slide-17
SLIDE 17

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½) Her view is independent of the message

m = 0 → (a,b) = (0,0) or (1,1) m = 1 → (a,b) = (1,0) or (0,1)

slide-18
SLIDE 18

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½) Her view is independent of the message Together they can recover m as a⊕b

m = 0 → (a,b) = (0,0) or (1,1) m = 1 → (a,b) = (1,0) or (0,1)

slide-19
SLIDE 19

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½) Her view is independent of the message Together they can recover m as a⊕b Multiple bits can be shared independently: as, m1m2 = a1a2⊕b1b2

m = 0 → (a,b) = (0,0) or (1,1) m = 1 → (a,b) = (1,0) or (0,1)

slide-20
SLIDE 20

Sharing a bit

To share a bit m, Dealer picks a uniformly random bit b and gives a := m⊕b to Alice and b to Bob Bob learns nothing (b is a random bit) Alice learns nothing either: for each possible value of m (0 or 1), a is a random bit (0 w.p. ½, 1 w.p. ½) Her view is independent of the message Together they can recover m as a⊕b Multiple bits can be shared independently: as, m1m2 = a1a2⊕b1b2 Note: any one share can be chosen before knowing the message [why?]

m = 0 → (a,b) = (0,0) or (1,1) m = 1 → (a,b) = (1,0) or (0,1)

slide-21
SLIDE 21

Secrecy

slide-22
SLIDE 22

Secrecy

Is the message m really secret?

slide-23
SLIDE 23

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing

slide-24
SLIDE 24

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!)

slide-25
SLIDE 25

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!) But this they could have done without obtaining the shares

slide-26
SLIDE 26

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!) But this they could have done without obtaining the shares The shares did not leak any additional information to either party

slide-27
SLIDE 27

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!) But this they could have done without obtaining the shares The shares did not leak any additional information to either party Crypto goal: preserving secrecy

slide-28
SLIDE 28

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!) But this they could have done without obtaining the shares The shares did not leak any additional information to either party Crypto goal: preserving secrecy View is independent of the message

slide-29
SLIDE 29

Secrecy

Is the message m really secret? Alice or Bob can correctly find the bit m with probability ½, by randomly guessing Worse, if they already know something about m, they can do better (Note: we didn’ t say m is random!) But this they could have done without obtaining the shares The shares did not leak any additional information to either party Crypto goal: preserving secrecy View is independent of the message i.e., for all possible values of the message, the view is distributed the same way

slide-30
SLIDE 30

Secret-Sharing

slide-31
SLIDE 31

Secret-Sharing

More general secret-sharing

slide-32
SLIDE 32

Secret-Sharing

More general secret-sharing Allow more than two parties (how?)

slide-33
SLIDE 33

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties)

slide-34
SLIDE 34

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful

slide-35
SLIDE 35

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys)

slide-36
SLIDE 36

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys) Important component in other cryptographic constructions

slide-37
SLIDE 37

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys) Important component in other cryptographic constructions Amplifying secrecy of various primitives

slide-38
SLIDE 38

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys) Important component in other cryptographic constructions Amplifying secrecy of various primitives Secure multi-party computation

slide-39
SLIDE 39

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys) Important component in other cryptographic constructions Amplifying secrecy of various primitives Secure multi-party computation Attribute-Based Encryption

slide-40
SLIDE 40

Secret-Sharing

More general secret-sharing Allow more than two parties (how?) Privileged subsets of parties should be able to reconstruct the secret (not necessarily just the entire set of parties) Very useful Direct applications (distributed storage of data or keys) Important component in other cryptographic constructions Amplifying secrecy of various primitives Secure multi-party computation Attribute-Based Encryption Leakage resilience ...

slide-41
SLIDE 41

Threshold Secret-Sharing

slide-42
SLIDE 42

Threshold Secret-Sharing

(n,t)-secret-sharing

slide-43
SLIDE 43

Threshold Secret-Sharing

(n,t)-secret-sharing Divide a message m into n shares s1,...,sn, such that any t shares are enough to reconstruct the secret

slide-44
SLIDE 44

Threshold Secret-Sharing

(n,t)-secret-sharing Divide a message m into n shares s1,...,sn, such that any t shares are enough to reconstruct the secret Up to t-1 shares should have no information about the secret

slide-45
SLIDE 45

Threshold Secret-Sharing

(n,t)-secret-sharing Divide a message m into n shares s1,...,sn, such that any t shares are enough to reconstruct the secret Up to t-1 shares should have no information about the secret i.e., say, (s1,...,st-1) identically distributed for every m in the message space

slide-46
SLIDE 46

Threshold Secret-Sharing

(n,t)-secret-sharing Divide a message m into n shares s1,...,sn, such that any t shares are enough to reconstruct the secret Up to t-1 shares should have no information about the secret i.e., say, (s1,...,st-1) identically distributed for every m in the message space

  • ur previous example: (2,2) secret-sharing
slide-47
SLIDE 47

Threshold Secret-Sharing

slide-48
SLIDE 48

Threshold Secret-Sharing

Construction: (n,n) secret-sharing

slide-49
SLIDE 49

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group

slide-50
SLIDE 50

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

slide-51
SLIDE 51

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
slide-52
SLIDE 52

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)
slide-53
SLIDE 53

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M):

slide-54
SLIDE 54

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M): Pick s1,...,sn-1 uniformly at random from G

slide-55
SLIDE 55

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M): Pick s1,...,sn-1 uniformly at random from G Let sn = M - (s1 + ... + sn-1)

slide-56
SLIDE 56

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M): Pick s1,...,sn-1 uniformly at random from G Let sn = M - (s1 + ... + sn-1) Reconstruct(s1,...,sn): M = s1 + ... + sn

slide-57
SLIDE 57

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M): Pick s1,...,sn-1 uniformly at random from G Let sn = M - (s1 + ... + sn-1) Reconstruct(s1,...,sn): M = s1 + ... + sn Claim: This is an (n,n) secret-sharing scheme [Why?]

slide-58
SLIDE 58

Threshold Secret-Sharing

Construction: (n,n) secret-sharing Message-space = share-space = G, a group e.g. G = Z2 (group of bits, with xor as the group operation)

  • r, G = Z2 d (group of d-bit strings)
  • r, G = Zp (group of integers mod p)

Share(M): Pick s1,...,sn-1 uniformly at random from G Let sn = M - (s1 + ... + sn-1) Reconstruct(s1,...,sn): M = s1 + ... + sn Claim: This is an (n,n) secret-sharing scheme [Why?]

Additive Secret-Sharing

slide-59
SLIDE 59

Additive Secret-Sharing: Proof

Share(M): Pick s1,...,sn-1 uniformly at random from G Let sn = M - (s1 + ... + sn-1) Reconstruct(s1,...,sn): M = s1 + ... + sn Claim: Upto n-1 shares give no information about M Proof: Let T ⊆ {1,...,n}, |T| = n-1. We shall show that { si }i∈T is distributed the same way (in fact, uniformly) irrespective of what M is. For concreteness consider T = {2,...,n}. Fix any (n-1)-tuple of elements in G, (g1,...,gn-1) ∈ Gn-1. To prove Pr[ (s2,...,sn)=(g1,...,gn-1) ] is independent of M. Fix any M. (s2,...,sn) = (g1,...,gn-1) ⇔ (s2,...,sn-1) = (g1,...,gn-2) and s1 = M-(g1+...+gn-1). So Pr[ (s2,...,sn)=(g1,...,gn-1) ] = Pr[ (s1,...,sn-1)=(M-(g1+...+gn-1), g1,...,gn-2) ] But Pr[(s1,...,sn-1)=(M-(g1+...+gn-1), g1,...,gn-2)] = 1/|G|n-1, since (s1,...,sn-1) are picked uniformly at random Hence Pr[ (s2,...,sn)=(g1,...,gn-1) ] = 1/|G|n-1, irrespective of M.

P R O O F

slide-60
SLIDE 60

Threshold Secret-Sharing

slide-61
SLIDE 61

Threshold Secret-Sharing

Construction: (n,2) secret-sharing

slide-62
SLIDE 62

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP)

slide-63
SLIDE 63

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP)

n distinct, non-0 field elements

slide-64
SLIDE 64

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|)

n distinct, non-0 field elements

slide-65
SLIDE 65

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|)

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-66
SLIDE 66

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-67
SLIDE 67

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?]

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-68
SLIDE 68

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-69
SLIDE 69

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation

1 2 3 4 5 6

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-70
SLIDE 70

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation Sharing picks a random “line” y = f(x), such that f(0)=M. Shares si = f(i).

1 2 3 4 5 6

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-71
SLIDE 71

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation Sharing picks a random “line” y = f(x), such that f(0)=M. Shares si = f(i). si is independent of M: exactly one line passing through (i,si) and (0,M’) for each secret M’

1 2 3 4 5 6

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-72
SLIDE 72

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation Sharing picks a random “line” y = f(x), such that f(0)=M. Shares si = f(i). si is independent of M: exactly one line passing through (i,si) and (0,M’) for each secret M’ But can reconstruct the line from two points!

1 2 3 4 5 6

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-73
SLIDE 73

Threshold Secret-Sharing

Construction: (n,2) secret-sharing Message-space = share-space = F , a field (e.g. integers mod a prime, FP) Share(M): pick random r. Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Each si by itself is uniformly distributed, irrespective of M [Why?] “Geometric” interpretation Sharing picks a random “line” y = f(x), such that f(0)=M. Shares si = f(i). si is independent of M: exactly one line passing through (i,si) and (0,M’) for each secret M’ But can reconstruct the line from two points!

1 2 3 4 5 6

n distinct, non-0 field elements Since i-1 exists, exactly

  • ne solution for r⋅i+M=d,

for every value of d

slide-74
SLIDE 74

(n,2) Secret-Sharing: Proof

Share(M): pick random r ← F . Let si = r⋅i + M (for i=1,...,n < |F|) Reconstruct(si, sj): r = (si-sj)/(i-j); M = si - r i Claim: Any one share gives no information about M Proof: For any i∈{1,..,n} we shall show that si is distributed the same way (in fact, uniformly) irrespective of what M is. Consider any g∈F . We shall show that Pr[ si=g ] is independent of M. Fix any M. For any g ∈ F , si = g ⇔ r⋅i + M = g ⇔ r = (g-M)⋅i-1 (since i≠0) So, Pr[ si=g ] = Pr[ r=(g-M)⋅i-1 ] = 1/|F|, since r is chosen uniformly at random

P R O O F

slide-75
SLIDE 75

Threshold Secret-Sharing

slide-76
SLIDE 76

Threshold Secret-Sharing

(n,t) secret-sharing in a field

slide-77
SLIDE 77

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials

slide-78
SLIDE 78

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials

Shamir Secret-Sharing

slide-79
SLIDE 79

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials Share(m): Pick a random degree t-1 polynomial f(X), such that f(0)=M. Shares are si = f(i).

Shamir Secret-Sharing

slide-80
SLIDE 80

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials Share(m): Pick a random degree t-1 polynomial f(X), such that f(0)=M. Shares are si = f(i). Random polynomial with f(0)=M: c0 + c1X + c2X2 +...+ ct-1Xt-1 by picking c0=M and c1,...,ct-1 at random.

Shamir Secret-Sharing

slide-81
SLIDE 81

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials Share(m): Pick a random degree t-1 polynomial f(X), such that f(0)=M. Shares are si = f(i). Random polynomial with f(0)=M: c0 + c1X + c2X2 +...+ ct-1Xt-1 by picking c0=M and c1,...,ct-1 at random. Reconstruct(s1,...,st): Lagrange interpolation to find M=c0

Shamir Secret-Sharing

slide-82
SLIDE 82

Threshold Secret-Sharing

(n,t) secret-sharing in a field Generalizing the geometric/algebraic view: instead of lines, use polynomials Share(m): Pick a random degree t-1 polynomial f(X), such that f(0)=M. Shares are si = f(i). Random polynomial with f(0)=M: c0 + c1X + c2X2 +...+ ct-1Xt-1 by picking c0=M and c1,...,ct-1 at random. Reconstruct(s1,...,st): Lagrange interpolation to find M=c0 Need t points to reconstruct the polynomial. Given t-1 points, there is exactly one polynomial passing through (0,M’) for each M’

Shamir Secret-Sharing

slide-83
SLIDE 83

Lagrange Interpolation

slide-84
SLIDE 84

Lagrange Interpolation

Given t distinct points on a degree t-1 polynomial (univariate, over some field of more than t elements), reconstruct the entire polynomial (i.e., find all t co-efficients)

slide-85
SLIDE 85

Lagrange Interpolation

Given t distinct points on a degree t-1 polynomial (univariate, over some field of more than t elements), reconstruct the entire polynomial (i.e., find all t co-efficients) t variables: c0,...,ct-1. t equations: 1.c0 + i.c1 + i2.c2 + ... it-1.ct-1 = si

slide-86
SLIDE 86

Lagrange Interpolation

Given t distinct points on a degree t-1 polynomial (univariate, over some field of more than t elements), reconstruct the entire polynomial (i.e., find all t co-efficients) t variables: c0,...,ct-1. t equations: 1.c0 + i.c1 + i2.c2 + ... it-1.ct-1 = si A linear system: Wc=s, where W a txt matrix with Wi= (1 i i2 ... it-1)

slide-87
SLIDE 87

Lagrange Interpolation

Given t distinct points on a degree t-1 polynomial (univariate, over some field of more than t elements), reconstruct the entire polynomial (i.e., find all t co-efficients) t variables: c0,...,ct-1. t equations: 1.c0 + i.c1 + i2.c2 + ... it-1.ct-1 = si A linear system: Wc=s, where W a txt matrix with Wi= (1 i i2 ... it-1) W is a Vandermonde matrix: invertible

slide-88
SLIDE 88

Lagrange Interpolation

Given t distinct points on a degree t-1 polynomial (univariate, over some field of more than t elements), reconstruct the entire polynomial (i.e., find all t co-efficients) t variables: c0,...,ct-1. t equations: 1.c0 + i.c1 + i2.c2 + ... it-1.ct-1 = si A linear system: Wc=s, where W a txt matrix with Wi= (1 i i2 ... it-1) W is a Vandermonde matrix: invertible c = W-1s

slide-89
SLIDE 89

More General Access Structures

slide-90
SLIDE 90

More General Access Structures

(n,t)-secret-sharing allowed any t (or more) parties to reconstruct the secret

slide-91
SLIDE 91

More General Access Structures

(n,t)-secret-sharing allowed any t (or more) parties to reconstruct the secret i.e., “access structure” A = {S: |S| ≥ t }, is the set of all subsets of parties who can reconstruct the secret

slide-92
SLIDE 92

More General Access Structures

(n,t)-secret-sharing allowed any t (or more) parties to reconstruct the secret i.e., “access structure” A = {S: |S| ≥ t }, is the set of all subsets of parties who can reconstruct the secret In general access structure could be any monotonic set of subsets

slide-93
SLIDE 93

More General Access Structures

(n,t)-secret-sharing allowed any t (or more) parties to reconstruct the secret i.e., “access structure” A = {S: |S| ≥ t }, is the set of all subsets of parties who can reconstruct the secret In general access structure could be any monotonic set of subsets

If S*∈A, then for all S⊇S*, S∈A.

slide-94
SLIDE 94

More General Access Structures

(n,t)-secret-sharing allowed any t (or more) parties to reconstruct the secret i.e., “access structure” A = {S: |S| ≥ t }, is the set of all subsets of parties who can reconstruct the secret In general access structure could be any monotonic set of subsets Shamir’ s secret-sharing solves threshold secret-sharing. How about the others?

If S*∈A, then for all S⊇S*, S∈A.

slide-95
SLIDE 95

More General Access Structures

slide-96
SLIDE 96

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S.

slide-97
SLIDE 97

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient”

slide-98
SLIDE 98

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient” How big is B? (Say when A is a threshold access structure)

slide-99
SLIDE 99

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient” How big is B? (Say when A is a threshold access structure)

|B| = (n choose t)

slide-100
SLIDE 100

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient” How big is B? (Say when A is a threshold access structure) Total share complexity = ∑S∈B |S| field elements. (Compare with Shamir’ s scheme: n field elements in all.)

|B| = (n choose t)

slide-101
SLIDE 101

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient” How big is B? (Say when A is a threshold access structure) Total share complexity = ∑S∈B |S| field elements. (Compare with Shamir’ s scheme: n field elements in all.)

|B| = (n choose t) t⋅(n choose t)

slide-102
SLIDE 102

More General Access Structures

Idea: For arbitrary monotonic access structure A, there is a “basis” B of minimal sets in A. For each S in B generate an (|S|,|S|) sharing, and distribute them to the members of S. Works, but very “inefficient” How big is B? (Say when A is a threshold access structure) Total share complexity = ∑S∈B |S| field elements. (Compare with Shamir’ s scheme: n field elements in all.) More efficient schemes known for large classes of access structures

|B| = (n choose t) t⋅(n choose t)

slide-103
SLIDE 103

More General Access Structures

slide-104
SLIDE 104

More General Access Structures

A simple generalization of threshold access structures

slide-105
SLIDE 105

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure

(2,3) (2,3) (1,3) (2,2)

slide-106
SLIDE 106

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares

(2,3) (2,3) (1,3) (2,2)

slide-107
SLIDE 107

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares

(2,3) (2,3) (1,3) (2,2) Msg

slide-108
SLIDE 108

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares

(2,3) (2,3) (1,3) (2,2) Msg Shares

slide-109
SLIDE 109

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares

(2,3) (2,3) (1,3) (2,2) Msg Shares Shares

  • f shares
slide-110
SLIDE 110

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares A special case of access structures that can be specified using “monotone span programs”

(2,3) (2,3) (1,3) (2,2) Msg Shares Shares

  • f shares
slide-111
SLIDE 111

More General Access Structures

A simple generalization of threshold access structures A threshold tree to specify the access structure Can realize by recursively threshold secret-sharing the shares A special case of access structures that can be specified using “monotone span programs” Admits linear secret-sharing

(2,3) (2,3) (1,3) (2,2) Msg Shares Shares

  • f shares
slide-112
SLIDE 112

Linear Secret-Sharing

slide-113
SLIDE 113

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random.

slide-114
SLIDE 114

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅

slide-115
SLIDE 115

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅

Shamir Secret-Sharing is of this form

slide-116
SLIDE 116

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅ Reconstruction: pool together all the available coordinates of s̅; can reconstruct if there are enough equations to solve for c0

Shamir Secret-Sharing is of this form

slide-117
SLIDE 117

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅ Reconstruction: pool together all the available coordinates of s̅; can reconstruct if there are enough equations to solve for c0 If not reconstructible, shares independent of secret

Shamir Secret-Sharing is of this form

slide-118
SLIDE 118

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅ Reconstruction: pool together all the available coordinates of s̅; can reconstruct if there are enough equations to solve for c0 If not reconstructible, shares independent of secret May not correspond to a threshold access structure

Shamir Secret-Sharing is of this form

slide-119
SLIDE 119

Linear Secret-Sharing

Share(M): For some fixed n×t matrix W, let s̅ = W⋅c̅, where c0 = M and other t-1 coordinates are random. The shares are subsets of coordinates of s̅ Reconstruction: pool together all the available coordinates of s̅; can reconstruct if there are enough equations to solve for c0 If not reconstructible, shares independent of secret May not correspond to a threshold access structure Reconstruction too is a linear combination of available shares (coefficients depending on which subset of shares available)

Shamir Secret-Sharing is of this form

slide-120
SLIDE 120

Linear Secret-Sharing

slide-121
SLIDE 121

Linear Secret-Sharing

Linearity of linear secret-sharing:

slide-122
SLIDE 122

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2

slide-123
SLIDE 123

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2 zi = axi + byi

slide-124
SLIDE 124

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2 zi = axi + byi

x̅ = W⋅c̅1 y̅ = W⋅c̅2 z̅ = W⋅(ac̅1+bc̅2)

slide-125
SLIDE 125

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2 zi = axi + byi Useful in secure multiparty computation (later)

x̅ = W⋅c̅1 y̅ = W⋅c̅2 z̅ = W⋅(ac̅1+bc̅2)

slide-126
SLIDE 126

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2 zi = axi + byi Useful in secure multiparty computation (later) Simple(st) example: from additive shares for two bits m1 and m2, n parties can locally obtain an additive sharing of m1⊕m2

x̅ = W⋅c̅1 y̅ = W⋅c̅2 z̅ = W⋅(ac̅1+bc̅2)

slide-127
SLIDE 127

Linear Secret-Sharing

Linearity of linear secret-sharing: If two secrets m1, m2 ∈ F have been shared and parties get shares {xi} and {yi} (also F elements) as shares, then each party can locally obtain sharing {zi} of am1+bm2 zi = axi + byi Useful in secure multiparty computation (later) Simple(st) example: from additive shares for two bits m1 and m2, n parties can locally obtain an additive sharing of m1⊕m2 Gives a “private summation” protocol

x̅ = W⋅c̅1 y̅ = W⋅c̅2 z̅ = W⋅(ac̅1+bc̅2)

slide-128
SLIDE 128

Linear Secret-Sharing

Gives a “private summation” protocol

slide-129
SLIDE 129

Linear Secret-Sharing

Gives a “private summation” protocol

Clients with inputs

slide-130
SLIDE 130

Linear Secret-Sharing

Gives a “private summation” protocol

Clients with inputs Client with output

slide-131
SLIDE 131

Linear Secret-Sharing

Gives a “private summation” protocol

Clients with inputs Client with output Servers

slide-132
SLIDE 132

Linear Secret-Sharing

Gives a “private summation” protocol

Clients with inputs Client with output Servers

slide-133
SLIDE 133

Linear Secret-Sharing

Gives a “private summation” protocol

Share Clients with inputs Client with output Servers

slide-134
SLIDE 134

Linear Secret-Sharing

Gives a “private summation” protocol

Share Clients with inputs Client with output Servers

slide-135
SLIDE 135

Linear Secret-Sharing

Gives a “private summation” protocol

Share Clients with inputs Client with output Servers

slide-136
SLIDE 136

Linear Secret-Sharing

Gives a “private summation” protocol

Share Clients with inputs Client with output Servers

slide-137
SLIDE 137

Linear Secret-Sharing

Gives a “private summation” protocol

Share Clients with inputs Client with output Servers

slide-138
SLIDE 138

Linear Secret-Sharing

Gives a “private summation” protocol

Share Add Clients with inputs Client with output Servers

slide-139
SLIDE 139

Linear Secret-Sharing

Gives a “private summation” protocol

Share Add Clients with inputs Client with output Servers

slide-140
SLIDE 140

Linear Secret-Sharing

Gives a “private summation” protocol

Share Add Clients with inputs Client with output Servers

slide-141
SLIDE 141

Linear Secret-Sharing

Gives a “private summation” protocol

Share Add Reconstruct Clients with inputs Client with output Servers

slide-142
SLIDE 142

Linear Secret-Sharing

Secure against passive corruption (no set of parties learn more than what they must) if at least one server is uncorrupted Gives a “private summation” protocol

Share Add Reconstruct Clients with inputs Client with output Servers

slide-143
SLIDE 143

Efficiency

slide-144
SLIDE 144

Efficiency

Main measure: size of the shares (say, total of all shares)

slide-145
SLIDE 145

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element)

slide-146
SLIDE 146

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares

slide-147
SLIDE 147

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares N can be exponential in n (as B can have exponentially many sets)

slide-148
SLIDE 148

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares N can be exponential in n (as B can have exponentially many sets) Share size must be at least as big as the secret: “last share” in a minimal authorized set should contain all the information about the secret

slide-149
SLIDE 149

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares N can be exponential in n (as B can have exponentially many sets) Share size must be at least as big as the secret: “last share” in a minimal authorized set should contain all the information about the secret Ideal: if all shares are only this big (e.g. Shamir’ s scheme)

slide-150
SLIDE 150

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares N can be exponential in n (as B can have exponentially many sets) Share size must be at least as big as the secret: “last share” in a minimal authorized set should contain all the information about the secret Ideal: if all shares are only this big (e.g. Shamir’ s scheme) Not all access structures have ideal schemes

slide-151
SLIDE 151

Efficiency

Main measure: size of the shares (say, total of all shares) Shamir’ s: each share is as as big as the secret (a single field element) Naive scheme for arbitrary monotonic access structure: if a party is in N sets in B, N basic shares N can be exponential in n (as B can have exponentially many sets) Share size must be at least as big as the secret: “last share” in a minimal authorized set should contain all the information about the secret Ideal: if all shares are only this big (e.g. Shamir’ s scheme) Not all access structures have ideal schemes Non-linear schemes can be more efficient than linear schemes

slide-152
SLIDE 152

Verifiable Secret-Sharing

slide-153
SLIDE 153

Verifiable Secret-Sharing

Guarding against possible malicious behavior by participants

slide-154
SLIDE 154

Verifiable Secret-Sharing

Guarding against possible malicious behavior by participants Bad players: may substitute their shares to change the

  • utcome (e.g., in additive sharing, can add to the outcome by

adding to one’ s share)

slide-155
SLIDE 155

Verifiable Secret-Sharing

Guarding against possible malicious behavior by participants Bad players: may substitute their shares to change the

  • utcome (e.g., in additive sharing, can add to the outcome by

adding to one’ s share) Bad dealer (plus some bad players): may distribute shares which do not have a consistent secret (e.g., in Shamir’ s, if dealer uses a higher degree polynomial); if participating in reconstruction, may be able to fix the secret at that time,

  • r, even if enough good players get together, deny them

ability to reconstruct

slide-156
SLIDE 156

Verifiable Secret-Sharing

Guarding against possible malicious behavior by participants Bad players: may substitute their shares to change the

  • utcome (e.g., in additive sharing, can add to the outcome by

adding to one’ s share) Bad dealer (plus some bad players): may distribute shares which do not have a consistent secret (e.g., in Shamir’ s, if dealer uses a higher degree polynomial); if participating in reconstruction, may be able to fix the secret at that time,

  • r, even if enough good players get together, deny them

ability to reconstruct Privacy: if dealer is honest, adversary (who does not control an authorized set) learns nothing of the secret

slide-157
SLIDE 157

Verifiable Secret-Sharing

Guarding against possible malicious behavior by participants Bad players: may substitute their shares to change the

  • utcome (e.g., in additive sharing, can add to the outcome by

adding to one’ s share) Bad dealer (plus some bad players): may distribute shares which do not have a consistent secret (e.g., in Shamir’ s, if dealer uses a higher degree polynomial); if participating in reconstruction, may be able to fix the secret at that time,

  • r, even if enough good players get together, deny them

ability to reconstruct Privacy: if dealer is honest, adversary (who does not control an authorized set) learns nothing of the secret Correctness: if dealer honest, reconstruction correct; even if dealer corrupt, a fixed consistent secret at the end of sharing

slide-158
SLIDE 158

Verifiable Secret-Sharing

slide-159
SLIDE 159

Verifiable Secret-Sharing

Access structure and “Adversary Structure”

slide-160
SLIDE 160

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious

slide-161
SLIDE 161

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious VSS not possible unless some restrictions on the adversary structure (e.g., at most a minority of the parties can be corrupted)

slide-162
SLIDE 162

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious VSS not possible unless some restrictions on the adversary structure (e.g., at most a minority of the parties can be corrupted) Typically require that for admissible adversary structures, if dealer honest, honest players in an authorized set will reconstruct the secret (even if malicious players in the set try to sabotage)

slide-163
SLIDE 163

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious VSS not possible unless some restrictions on the adversary structure (e.g., at most a minority of the parties can be corrupted) Typically require that for admissible adversary structures, if dealer honest, honest players in an authorized set will reconstruct the secret (even if malicious players in the set try to sabotage) A broadcast channel is very useful (to force each player to tell everyone the same story)

slide-164
SLIDE 164

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious VSS not possible unless some restrictions on the adversary structure (e.g., at most a minority of the parties can be corrupted) Typically require that for admissible adversary structures, if dealer honest, honest players in an authorized set will reconstruct the secret (even if malicious players in the set try to sabotage) A broadcast channel is very useful (to force each player to tell everyone the same story) Broadcast can be achieved on top of point-to-point channels if

  • nly a small fraction (<1/3) corrupted
slide-165
SLIDE 165

Verifiable Secret-Sharing

Access structure and “Adversary Structure” Latter saying who all can be malicious VSS not possible unless some restrictions on the adversary structure (e.g., at most a minority of the parties can be corrupted) Typically require that for admissible adversary structures, if dealer honest, honest players in an authorized set will reconstruct the secret (even if malicious players in the set try to sabotage) A broadcast channel is very useful (to force each player to tell everyone the same story) Broadcast can be achieved on top of point-to-point channels if

  • nly a small fraction (<1/3) corrupted

Otherwise malicious players can cause denial-of-service

slide-166
SLIDE 166

Today

slide-167
SLIDE 167

Today

Secrecy: if view is independent of the message

slide-168
SLIDE 168

Today

Secrecy: if view is independent of the message Does not give unprivileged sets of parties any additional information about the message, than what they already had

slide-169
SLIDE 169

Today

Secrecy: if view is independent of the message Does not give unprivileged sets of parties any additional information about the message, than what they already had Irrespective of their computational power

slide-170
SLIDE 170

Today

Secrecy: if view is independent of the message Does not give unprivileged sets of parties any additional information about the message, than what they already had Irrespective of their computational power Such secrecy not always possible (e.g., no public-key encryption)

slide-171
SLIDE 171

Today

Secrecy: if view is independent of the message Does not give unprivileged sets of parties any additional information about the message, than what they already had Irrespective of their computational power Such secrecy not always possible (e.g., no public-key encryption) Next: secrecy against computationally bounded players