Secret Sharing Introduction Shamir’s Secret Sharing Congruence Class Scheme (CRT) 1 Introduction (t, n) Secret Sharing (Threshold) Scheme [Shamir 1979, Blackly 1979]: A (t, w)-threshold scheme is a method of sharing a key K among a set of w participants, in such a way that any t participants can compute the value of K, but no group of t-1 participants can do so. any t of w K Bank 2 Introduction (Cont.) 術語 Threshold Value t Access Instance Secret Shadow (Share) Si Shared Secret(Key) K Access Structure Shadowholders Cheaters: dishonest holders Trusted Dealer 3 Introduction (Cont.) Requirements: The shared secret can be recovered by any t or more of w shadows. The shared secret cannot be determined by any t-1 or fewer shadows. Basic Assumptions There exists a trustworthy dealer to construct the secret sharing scheme. Shadowholders are honest to recover the share secret K. Some Variant Secret sharing schemes without dealers. Secret sharing schemes with cheaters. Secret sharing schemes with fairly recover shared secret. 4 Introduction (Cont.) Generalized Secret Sharing Scheme. [Ito et al. 1987, Lin & Harn 1991 (based on RSA assumption)] The access structures can be specify exactly which subsets of participants should be able to determine the key and which should not. Example: + + + + 5 Introduction (Cont.) A (generalized) secret sharing scheme realizing the access structure T is a method of sharing a key K among a set of w participants (denoted by P), in such a way that the following two properties are satisfied: 1.If an authorized subset of participants BP pool their shares, then they can determine the value of K. 2.If an unauthorized subset of participants BP pool their shares, then they cannot determine nothing the value of K Access structure satisfy the monotone property: if BT and B C P, then CT. 6 Introduction (Cont.) Dynamic Secret Sharing Some problems of secret sharing Renew problem for shared secrets. [Laih et al. 1989] K K' Si S' i Reuse problem for secret shadows. [Zheng et al. 1994] Recover useless shadows 7 Introduction (Cont.) Result of the renew/reuse problems Secret Shadows Shadowholders Dealer Secure Channels Secrecy, Authenticity, & Integrity 8 Shamir’s Secret Sharing Lagrange Interpolation Polynomial Scheme: Initialization Phase Dealer choose w distinct, nonzero elements, x1, x2,…, xw, of ZP. Public x1, x2,.., xw, and give xi to shadowholder pi. Share Distribution Phase (Suppose the key is K) Dealer construct a random polynomial of degree t-1 over ZP h(x) = at-1xt-1 +…+ a1x + a0 such that a0 = K (ie. h(0) = K). Dealer computes the shares Ki = h(xi) and give Ki to pi secretly for i = 1, 2, …, w. 9 Shamir’s Secret Sharing (Cont.) Key Recovery Phase: Any t shadows can recover the h(x) by pooling t points (xi1, Ki1), (xi2, Ki2), .., (xit, Kit) t t h( x) K s s 1 j 1 js ( x xi j ) ( xis xi j ) mod p K = h(0) 10 Shamir’s Secret Sharing (Cont.) Examples: (3, 5) Secret Sharing Scheme Initialization Phase Dealer choose 5 distinct, nonzero elements, x1= 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5 of Z17. Public x1= 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5 and give xi to pi for i = 1, 2, 3, 4, 5. Share Distribution Phase (Suppose K = 13) Dealer construct a polynomial of degree t-1 = 2 over Z17 h(x)= a2x2 + a1x + a0= 2x2 + 10x + 13 such that a0 = K = 13 (ie. h(0) = 13) 11 Shamir’s Secret Sharing (Cont.) Compute the shadows K1, K2 , K3 , K4 , K5. K1 = h(1) = (2+10+13) mod 17 = 25 mod 17 = 8 K2 = h(2) = (8+20+13) mod 17 = 41 mod 17 = 7 K3 = h(3) = (18+30+13) mod 17 = 61 mod 17 = 10 K4 = h(4) = (32+40+13) mod 17 = 85 mod 17 = 0 K5 = h(5) = (50+50+13) mod 17 = 113 mod 17 = 11 Then give Ki to pi secretly for i=1, 2, 3, 4, 5. 12 Shamir’s Secret Sharing (Cont.) Key Recovery Phase Suppose the {p1, p3, p5} wants to recover the shared key K = 13, they pool their shares to obtains three points (x1, K1) = (1, 8) , (x3, K3) = (3, 10) , (x5, K5) = (5, 11). ( x 3) ( x 5) ( x 1) ( x 5) ( x 1) ( x 3) 10 11 (1 3) (1 5) (3 1) (3 5) (5 1) (5 3) [(x 2 9 x 15) (6 x 2 15x 13) (12x 2 3x 2)] mod17 2 x 2 10x 13 h( x ) 8 K = h(0) = 13 13 Shamir’s Secret Sharing (Cont.) h(x)= at-1xt-1 +...+ a1x + K (mod p) the share Ki = h(xi) K xi Recovery of the Shared Secret K Lagrange Interpolating Polynomial t t h( x) K s s 1 j 1 js ( x xi j ) ( xis xi j ) mod p 14 Congruence Class Scheme (CRT) The shadows are congruence classes of a number associated with K. Initialization & Share Distribution Phase (Suppose the key is K) Let {p, d1, d2,…, dw} be a set of integers such that p > K d1 < d2 < … < dw gcd(p, di) = 1 for all i gcd(p, di) = 1 for all i d1d2…dt > pdw-t+2dw-t+3…dw Let n = d1d2…dt thus n/p > the product of any t – 1 of di. 15 Congruence Class Scheme (CRT) (Cont.) Choose a random integer r in [0, (n/p) - 1] Compute K’ = K + rp , this implies K’ in [0, n - 1] The shadows are then as follows: Ki = K’ mod di for i = 1,2,…,w Key Recovery Phase If there are t shadows Ki1, Ki2, …, Kit are known, then by CRT K’ is known on module n1 = di1di2, , …, dit K = K’ - rp 16 Congruence Class Scheme (CRT) (Cont.) Examples: (t, w) = (2, 3) Secret Sharing Scheme Initialization & Share Distribution Phase: The secret key K = 3, p = 5, d1 = 7, d2 = 9, d3 = 11. This ensures n = d1d2 > pd3 Choose a random integer r in the range [0, n/p - 1] = [0, (63/5) - 1] = [0, 11] r=9 K’ = K + rp = 3 + 9 * 5 = 48 The three shadows are: K1 48mod 7 6 K 2 48mod 9 3 K 3 48mod11 4 17 Congruence Class Scheme (CRT) (Cont.) Key Recovery Phase Suppose we have two shadows K1 and K3. Thus n1 = d1d3 = 7 * 11 = 77. Use CRT to compute K’ = 48. K = K’ – rp = 48 – 9 * 5 = 3 18