Explicit Exclusive Set Systems with Applications to Broadcast Encryption Craig Gentry Stanford Zulfikar Ramzan Symantec FOCS 2006 David P. Woodruff MIT Broadcast Encryption Clients Server 1 server, n clients Only privileged users can understand broadcasts E.g., those who pay to their monthly Server broadcasts all clients atbills once Need to encrypt broadcasts E.g., payperview TV, music, videos Subset Cover Framework [NNL] Offline stage: For some S ½ [n], server creates a key K(S) and distributes it to all users in S Let C be the collection of S Server space complexity ~ |C| ith user space complexity ~ # S containing i Subset Cover Framework [NNL] Online stage: Given a set R ½ [n] of at most r revoked users Server establishes a session key M that only users in the set [n] n R know Finds S1, …, St 2 C with [n] n R = S1 [ … [ St Encrypt M under each of K(S1), …, K(St) Content encrypted using session key M Subset Cover Framework [NNL] Communication complexity ~ t Tolerate up to r revoked users Tolerate any number of colluders Information-theoretic security The Combinatorics Problem Find a family C of subsets of {1, …., n} such that any large set S µ {1, …, n} is the union of a small number of sets in C S = S1 [ S2 [ [ St Parameters: Universe is [n] = {1, …, n} |S| >= n-r Write S as a union of · t sets in C Goal: Minimize |C| A Lower Bound Claim: Proof: 1. At least sets of size ¸ n-r 2. Only 3. Thus, 4. Solve for |C| different unions Known Upper Bounds t |C| authors (r log n / log r)2 (r log n / log r)2 GSY r log n/r 2n LNN, ALO 2r n log n LNN r3 log n / log r r3 log n /log r KRS Bad: once n and r are chosen, t and |C| are fixed Known Upper Bounds Only known general result: If r · t, then |C| = O(t3(nt)r/t log n) [KR] Drawbacks: Probabilistic method To write S = S1 [ S2 [ … [ St , solve Set-Cover C has large description No way to verify C is correct Suboptimal size: Our Results Main result: tight upper bound |C| = poly(r,t) Match lower bound up to poly(r,t) n, r, t all arbitrary In applications r, t << n When r,t << n, get |C| = O(rt ) Our construction is explicit Find sets S = S1 [ … [ St in poly(r, t, log n) time Improved cryptographic applications Cryptographic Implications Our explicit exclusive set system yield almost optimal information-theoretic broadcast encryption and multicertificate revocation schemes General n,r,t Contrasts with previous explicit systems Poly(r,t, log n) time to find keys for broadcast Contrasts with probabilistic constructions Parameters For poly(r, log n) server storage complexity, we can set t = r log (n/r), but previously t = (r2 log n) Techniques Case analysis: r, t << n: algebraic solution general r, t: use divide-and-conquer approach to reduce to previous case Case: r,t << n Find a prime p = n1/t + Users [n] are points in (Fp)t Consider the ring Fp[X1, …, Xt] Goal: find set of polynomials C such that for any R ½ [n] with |R| · r, there exist p1, …, pt 2 C such that R = Variety(p1, …, pt) Case: r,t << n First design a polynomial collection so that for any R ½ [n] with |R| · r such that for every coordinate i, 1 · i · t, All |R| points differ on the ith coordinate (*) Then perform a few permutations :[n] -> [n] and construct new polynomial collections on ([n]). Take the union of these collections. Can find the deterministically using MDS codes Example Collection: r = 2, t = 3 For r = 2, t = 3, our collection is: 1. (X1 – a)(X1 – b) for all distinct a,b 2. aX1 + b – X2 for any a, b 2 Fp 3. aX2 + b – X3 for any a,b 2 Fp Revoke u = (u1, u2, u3) and v = (v1, v2, v3) u1 v1, u2 v2, and u3 v3 Let p1 = (X1 – u1)(X1-v1). Find p2 by interpolating from au1 + b – u2 = 0, av1 + b – v2 = 0 Find p3 by interpolation. Variety(p1, p2,p3) = u, v We broadcast with keys K(pi), distributed to users which don’t vanish on pi If u1 v1, u2 = v2, and u3 v3, then (u1, u2, v3) also in variety… Our General Collection and Intuition: First type of polynomials implement a “base case”. Second type of polynomials implement “AND”s. Wrapping up the r,t << n case. Using many tricks – balancing techniques, expanders, etc., can show even without distinct coordinates, can achieve size O(rt ). Almost matches the (t Open question: resolve this gap. ) lower bound. General n, r, t 1 x xxx i j x x n Problem! n2 term ?!? Let m be such that r/m, t/m << n Fix:- hash [n] to [r2] first For every interval [i, j], form an exclusive set system with n’ =hashes j-i+1, so r’ = r/m,ist’an = injective t/m - do enough there hash for every R Given a set R, find intervals which evenly partition - applyR.construction above on [r2] Summary and Open Questions Main result: tight explicit upper bound |C| = poly(r,t) n, r, t arbitrary Cover sets in poly(r, t, log n) time Optimal # of keys per user Other result: Slightly improve [LS] lower bound on keys per user in any scheme using a relaxed sunflower lemma: from ( )/(rt) to ( )/r Open question: improve poly(r,t) factors