Fully Key-Homomorphic Encryption, Arithmetic Circuit ABE, and Compact Garbled Circuits∗
Total Page:16
File Type:pdf, Size:1020Kb
Fully Key-Homomorphic Encryption, Arithmetic Circuit ABE, and Compact Garbled Circuits∗ Dan Bonehy Craig Gentryz Sergey Gorbunovx Shai Halevi{ Valeria Nikolaenkok Gil Segev∗∗ Vinod Vaikuntanathanyy Dhinakaran Vinayagamurthyzz May 20, 2014 Abstract We construct the first (key-policy) attribute-based encryption (ABE) system with short secret keys: the size of keys in our system depends only on the depth of the policy circuit, not its size. Our constructions extend naturally to arithmetic circuits with arbitrary fan-in gates thereby further reducing the circuit depth. Building on this ABE system we obtain the first reusable circuit garbling scheme that produces garbled circuits whose size is the same as the original circuit plus an additive poly(λ, d) bits, where λ is the security parameter and d is the circuit depth. Save the additive poly(λ, d) factor, this is the best one could hope for. All previous constructions incurred a multiplicative poly(λ) blowup. As another application, we obtain (single key secure) functional encryption with short secret keys. We construct our attribute-based system using a mechanism we call fully key-homomorphic encryption which is a public-key system that lets anyone translate a ciphertext encrypted under a public-key x into a ciphertext encrypted under the public-key (f(x); f) of the same plaintext, for any efficiently computable f. We show that this mechanism gives an ABE with short keys. Security is based on the subexponential hardness of the learning with errors problem. We also present a second (key-policy) ABE, using multilinear maps, with short ciphertexts: an encryption to an attribute vector x is the size of x plus poly(λ, d) additional bits. This gives a reusable circuit garbling scheme where the size of the garbled input is short, namely the same as that of the original input, plus a poly(λ, d) factor. ∗This is the full version of a paper that appeared in Eurocrypt 2014 [BGG+14]. This work is a merge of two closely related papers [GGH+13d, BNS13]. yStanford University, Stanford, CA, USA. Email: [email protected]. zIBM Research, Yorktown, NY, USA. Email: [email protected]. xMIT, Cambridge, MA, USA. Email: [email protected]. This work was partially done while visiting IBM T. J. Watson Research Center. {IBM Research, Yorktown, NY, USA. Email: [email protected]. kStanford University, Stanford, CA, USA. Email: [email protected]. ∗∗Hebrew University, Jerusalem, Israel. Email: [email protected]. This work was partially done while the author was visiting Stanford University. yyMIT, Cambridge, MA, USA. Email: [email protected]. zzUniversity of Toronto, Toronto, Ontario, Canada. Email: [email protected]. 1 1 Introduction (Key-policy) attribute-based encryption [SW05, GPSW06] is a public-key encryption mechanism where every secret key skf is associated with some function f : X!Y and an encryption of a message µ is labeled with a public attribute vector x 2 X . The encryption of µ can be decrypted using skf only if f(x) = 0 2 Y. Intuitively, the security requirement is collusion resistance: a coalition of users learns nothing about the plaintext message µ if none of their individual keys are authorized to decrypt the ciphertext. Attribute-based encryption (ABE) is a powerful generalization of identity-based encryption [Sha84, BF03, Coc01] and fuzzy IBE [SW05, ABV+12] and is a special case of functional encryption [BSW11]. It is used as a building-block in applications that demand complex access control to encrypted data [PTMW06], in designing protocols for verifiably outsourcing computations [PRV12], and for single-use functional encryption [GKP+13b]. Here we focus on key-policy ABE where the access policy is embedded in the secret key. The dual notion called ciphertext-policy ABE can be realized from this using universal circuits, as explained in [GPSW06, GGH+13c]. The past few years have seen much progress in constructing secure and efficient ABE schemes from different assumptions and for different settings. The first constructions [GPSW06, LOS+10, OT10, LW12, Wat12, Boy13, HW13] apply to predicates computable by Boolean formulas which are a subclass of log-space computations. More recently, important progress has been made on con- structions for the set of all polynomial-size circuits: Gorbunov, Vaikuntanathan, and Wee [GVW13] gave a construction from the Learning With Errors (LWE) problem and Garg, Gentry, Halevi, Sa- hai, and Waters [GGH+13c] gave a construction using multilinear maps. In both constructions the policy functions are represented as Boolean circuits composed of fan-in 2 gates and the secret key size is proportional to the size of the circuit. Our results. We present two new key-policy ABE systems. Our first system, which is the centerpiece of this paper, is an ABE based on the learning with errors problem [Reg05] that supports functions f represented as arithmetic circuits with large fan-in gates. It has secret keys whose size is proportional to depth of the circuit for f, not its size. Secret keys in previous ABE constructions contained an element (such as a matrix) for every gate or wire in the circuit. In our scheme the secret key is a single matrix corresponding only to the final output wire from the circuit. We prove selective security of the system and observe that by a standard complexity leveraging argument (as in [BB11]) the system can be made adaptively secure. Theorem 1.1 (Informal). Let λ be the security parameter. Assuming subexponential LWE, there is an ABE scheme for the class of functions with depth-d circuits where the size of the secret key for a circuit C is poly(λ, d). Our second ABE system, based on multilinear maps ([BS02],[GGH13a]), optimizes the cipher- text size rather than the secret key size. The construction here relies on a generalization of broad- cast encryption [FN93, BGW05, BW13] and the attribute-based encryption scheme of [GGH+13c]. Previously, ABE schemes with short ciphertexts were known only for the class of Boolean formu- las [ALdP11]. Theorem 1.2 (Informal). Let λ be the security parameter. Assuming that d-level multilinear maps exist, there is an ABE scheme for the class of functions with depth-d circuits where the size of the encryption of an attribute vector x is jxj + poly(λ, d). 2 Our ABE schemes result in a number of applications and have many desirable features, which we describe next. Applications to reusable garbled circuits. Over the years, garbled circuits and variants have found many uses: in two party [Yao86] and multi-party secure protocols [GMW87, BMR90], one- time programs [GKR08], key-dependent message security [BHHI10], verifiable computation [GGP10], homomorphic computations [GHV10] and many others. Classical circuit garbling schemes produced single-use garbled circuits which could only be used in conjunction with one garbled input. Gold- wasser et al. [GKP+13b] recently showed the first fully reusable circuit garbling schemes and used them to construct token-based program obfuscation schemes and k-time programs [GKP+13b]. Most known constructions of both single-use and reusable garbled circuits proceed by garbling each gate to produce a garbled truth table, resulting in a multiplicative size blowup of poly(λ). A fundamental question regarding garbling schemes is: How small can the garbled circuit be? There are three exceptions to the gate-by-gate garbling method that we are aware of. The first is the \free XOR" optimization for single-use garbling schemes introduced by Kolesnikov and Schneider [KS08] where one produces garbled tables only for the AND gates in the circuit C. This still results in a multiplicative poly(λ) overhead but proportional to the number of AND gates (as opposed to the total number of gates). Secondly, Lu and Ostrovsky [LO13] recently showed a single-use garbling scheme for RAM programs, where the size of the garbled program grows as poly(λ) times its running time. Finally, Goldwasser et al. [GKP+13a] show how to (reusably) garble non-uniform Turing machines under a non-standard and non-falsifiable assumption and incurring a multiplicative poly(λ) overhead in the size of the non-uniformity of the machine. In short, all known garbling schemes (even in the single-use setting) suffer from a multiplicative overhead of poly(λ) in the circuit size or the running time. Using our first ABE scheme (based on LWE) in conjunction with the techniques of Goldwasser et al. [GKP+13b], we obtain the first reusable garbled circuits whose size is jCj + poly(λ, d). For large and shallow circuits, such as those that arise from database lookup, search and some machine learning applications, this gives significant bandwidth savings over previous methods (even in the single use setting). Theorem 1.3 (Informal). Assuming subexponential LWE, there is a reusable circuit garbling scheme that garbles a depth-d circuit C into a circuit C^ such that jC^j = jCj + poly(λ, d), and garbles an input x into an encoded input x^ such that jx^j = jxj · poly(λ, d). We next ask if we can obtain short garbled inputs of size jx^j = jxj+poly(λ, d), analogous to what we achieved for the garbled circuit. In a beautiful recent work, Applebaum, Ishai, Kushilevitz and Waters [AIKW13] showed constructions of single-use garbled circuits with short garbled inputs of size jx^j = jxj + poly(λ). We remark that while their garbled inputs are short, their garbled circuits still incur a multiplicative poly(λ) overhead. Using our second ABE scheme (based on multilinear maps) in conjunction with the techniques of Goldwasser et al. [GKP+13b], we obtain the first reusable garbling scheme with garbled inputs of size jxj + poly(λ, d). Theorem 1.4 (Informal).