Compactness vs Collusion Resistance in Functional Encryption

Similar documents
Notes for Lecture A can repeat step 3 as many times as it wishes. We will charge A one unit of time for every time it repeats step 3.

Modern symmetric-key Encryption

Lattice Cryptography

Lecture 5, CPA Secure Encryption from PRFs

Notes on Property-Preserving Encryption

Lectures 2+3: Provable Security

1 Indistinguishability for multiple encryptions

Computational security & Private key encryption

Lattice Cryptography

Adaptively Indistinguishable Garbled Circuits

Authentication. Chapter Message Authentication

Function Secret Sharing: Improvements and Extensions

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrosky. Lecture 4

A Generic Hybrid Encryption Construction in the Quantum Random Oracle Model

Solutions to homework 2

6.892 Computing on Encrypted Data October 28, Lecture 7

SYMMETRIC ENCRYPTION. Mihir Bellare UCSD 1

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30

From Single-Bit to Multi-Bit Public-Key Encryption via Non-Malleable Codes

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004

Indistinguishability Obfuscation for All Circuits from Secret-Key Functional Encryption

2 Message authentication codes (MACs)

Adaptively Secure Garbled Circuits from One-Way Functions

1 Number Theory Basics

Lecture 11: Hash Functions, Merkle-Damgaard, Random Oracle

Modern Cryptography Lecture 4

Expansion formula using properties of dot product (analogous to FOIL in algebra): u v 2 u v u v u u 2u v v v u 2 2u v v 2

Bounded CCA2-Secure Non-Malleable Encryption Rafael Pass, Abhi Shelat, and Vinod Vaikuntanathan

Codes and Cryptography. Jorge L. Villar. MAMME, Fall 2015 PART XII

Solutions for week 1, Cryptography Course - TDA 352/DIT 250

Lecture 9 Julie Staub Avi Dalal Abheek Anand Gelareh Taban. 1 Introduction. 2 Background. CMSC 858K Advanced Topics in Cryptography February 24, 2004

Searchable encryption & Anonymous encryption

CPA-Security. Definition: A private-key encryption scheme

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 7

Fully-secure Key Policy ABE on Prime-Order Bilinear Groups

Candidate Differing-Inputs Obfuscation from Indistinguishability Obfuscation and Auxiliary-Input Point Obfuscation

Cryptography. Lecture 2: Perfect Secrecy and its Limitations. Gil Segev

Technische Universität München (I7) Winter 2013/14 Dr. M. Luttenberger / M. Schlund SOLUTION. Cryptography Endterm

1 Cryptographic hash functions

Applied cryptography

5 Pseudorandom Generators

1 Hoeffding s Inequality

CLASSICAL CRYPTOSYSTEMS IN A QUANTUM WORLD

Non-Malleable Codes with Split-State Refresh

Two-Round PAKE from Approximate SPH and Instantiations from Lattices

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculty of Mathematics and Computer Science Exam Cryptology, Friday 25 January 2019

Weak Keys of the Full MISTY1 Block Cipher for Related-Key Cryptanalysis

Lecture 10 - MAC s continued, hash & MAC

8 Security against Chosen Plaintext

Notes for Lecture 9. 1 Combining Encryption and Authentication

A Composition Theorem for Universal One-Way Hash Functions

Outline Proxy Re-Encryption NTRU NTRUReEncrypt PS-NTRUReEncrypt Experimental results Conclusions. NTRUReEncrypt

Indistinguishability and Pseudo-Randomness

An Uninstantiable Random-Oracle-Model Scheme for a Hybrid-Encryption Problem

Solution of Exercise Sheet 7

Short Exponent Diffie-Hellman Problems

Multi-Input Functional Encryption for Unbounded Arity Functions

Symbolic Encryption with Pseudorandom Keys

Lecture Summary. 2 Simplified Cramer-Shoup. CMSC 858K Advanced Topics in Cryptography February 26, Chiu Yuen Koo Nikolai Yakovenko

Inaccessible Entropy and its Applications. 1 Review: Psedorandom Generators from One-Way Functions

A survey on quantum-secure cryptographic systems

Chapter 11. Asymmetric Encryption Asymmetric encryption schemes

Overcoming Weak Expectations

Joint State Composition Theorems for Public-Key Encryption and Digital Signature Functionalities with Local Computation

On the (Im)Possibility of Tamper-Resilient Cryptography: Using Fourier Analysis in Computer Viruses

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security

Lecture 9 - Symmetric Encryption

Lecture 4: Perfect Secrecy: Several Equivalent Formulations

Standard Security Does Not Imply Indistinguishability Under Selective Opening

Domain Extension of Public Random Functions: Beyond the Birthday Barrier

On Notions of Security for Deterministic Encryption, and Efficient Constructions without Random Oracles

CTR mode of operation

Cryptology. Scribe: Fabrice Mouhartem M2IF

1 Cryptographic hash functions

1 Caveats of Parallel Algorithms

Question 2.1. Show that. is non-negligible. 2. Since. is non-negligible so is μ n +

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

CS 6260 Applied Cryptography

Smooth Projective Hashing and Two-Message Oblivious Transfer

COS 597C: Recent Developments in Program Obfuscation Lecture 7 (10/06/16) Notes for Lecture 7

Overcoming Weak Expectations

Lecture 7: CPA Security, MACs, OWFs

Analysis of Random Oracle Instantiation Scenarios for OAEP and other Practical Schemes

A Strong Identity Based Key-Insulated Cryptosystem

6.892 Computing on Encrypted Data September 16, Lecture 2

Introduction to Cybersecurity Cryptography (Part 4)

Lecture 5: Pseudorandom functions from pseudorandom generators

A New Paradigm of Hybrid Encryption Scheme

Gentry IBE Paper Reading

The Random Oracle Paradigm. Mike Reiter. Random oracle is a formalism to model such uses of hash functions that abound in practical cryptography

BU CAS CS 538: Cryptography Lecture Notes. Fall itkis/538/

Limits on the Efficiency of One-Way Permutation-Based Hash Functions

Simple SK-ID-KEM 1. 1 Introduction

Function Secret Sharing: Improvements and Extensions

Secure and Practical Identity-Based Encryption

Upper Bounds for Stern s Diatomic Sequence and Related Sequences

Provable Security in Symmetric Key Cryptography

Lecture 8 Alvaro A. Cardenas Nicholas Sze Yinian Mao Kavitha Swaminathan. 1 Introduction. 2 The Dolev-Dwork-Naor (DDN) Scheme [1]

Depth versus Breadth in Convolutional Polar Codes

Pr[C = c M = m] = Pr[C = c] Pr[M = m] Pr[M = m C = c] = Pr[M = m]

Transcription:

Compactness vs Collusion Resistance in Functional Encryption Baiyu Li Daniele Micciancio April 10, 2017 Astract We present two general constructions that can e used to comine any two functional encryption (FE) schemes (supporting a ounded numer of key queries) into a new functional encryption scheme supporting a larger numer of key queries. By using these constructions iteratively, we transform any primitive FE scheme supporting a single functional key query (from a sufficiently general class of functions) and has certain weak compactness properties into a collusion-resistant FE scheme with the same or slightly weaker compactness properties. Together with previously known reductions, this shows that the compact, weakly compact, collusion-resistant, and weakly collusion-resistant versions of FE are all equivalent under polynomial time reductions. These are all FE variants known to imply the existence of indistinguishaility ofuscation, and were previously thought to offer slightly different avenues toward the realization of ofuscation from general assumptions. Our results show that they are indeed all equivalent, improving our understanding of the minimal assumptions on functional encryption required to instantiate indistinguishaility ofuscation. 1 Introduction Indistinguishaility ofuscation (io), first formalized in [7] and further investigated in [27], is currently one of the most intriguing notions on the cryptographic landscape, and it has attracted a tremendous amount of attention in the last few years. Since Garg et al. [22] put forward a plausile candidate ofuscation algorithm, io has een successfully used to solve a wide range of complex cryptographic prolems, including functional encryption [22], deniale encryption [34], and much more (e.g., see [17, 8].) However, the prolem of uilding an ofuscator with a solid proof of security is still far from eing solved. The multilinear-map prolems [21, 19, 24, 20] underlying most known candidate io constructions [22, 12, 6, 5, 33, 25] have recently een suject to attacks [16, 18], and asing io on a solid, well-understood standard complexity assumption, has rapidly emerged as perhaps the single most important open prolem in the area of cryptographic ofuscation. An alternative path toward the construction of io from standard assumptions has recently een opened y Bitansky and Vaikuntanathan [10] and Ananth and Jain [3], who independently showed that io can e uilt from any (suexponentially secure) pulic key functional encryption scheme satisfying certain compactness requirements. While general constructions of compact functional encryption (for aritrary functions) are only known using io, functional encryption is typically considered a weaker primitive than general io, or, at very least, a more manageale one, closer to what cryptographers know how to uild. In fact, several functional encryption schemes (for restricted, ut still rather road classes of functions) are known achieving various notions of security [26, 15, 36, 2, 13]. We recall that a (pulic key) functional encryption scheme [11, 32, 35, 1] is an encryption scheme with a special type of functional secret decryption keys sk f (indexed y functions f) such that encrypting a message m (using the pulic key) and then decrypting the resulting Research supported in part y the Defense Advanced Research Projects Agency (DARPA) and the U.S. Army Research Office (ARO) under contract numers W911NF-15-C-0226 and W911NF-15-C-0236, and the National Science Foundation (NSF) under grant CNS-1528068. University of California, San Diego, USA. E-mail: aiyu@cs.ucsd.edu University of California, San Diego, USA. E-mail: daniele@cs.ucsd.edu. 1

ciphertext using sk f produces the output of the function f(m), without revealing any other information aout the message. Parameters of interest in the study of functional encryption (in relation to ofuscation) are the time (or circuit) complexity of the encryption function t Enc and the numer of functional keys sk f that can e released without compromising the security of the scheme. (See Section 2 for formal definitions and details aout security.) Ideally, we would like the encryption time t Enc to depend (polynomially) only on the message size m (irrespective of the complexity of the functions f computed during decryption), and the scheme to support an aritrary polynomial numer q of functional decryption keys sk f. Schemes satisfying these two properties are usually called compact (when t Enc is independent of the size f of the circuit computing the function), and collusion-resistant (when q can e an aritrary polynomial). The class of functions f supported y the scheme is also an important parameter, ut for simplicity here we focus on schemes for which f can e any polynomial sized circuit. Interestingly, [26] gives a functional encryption scheme (ased on standard lattice assumptions) which supports aritrary functions f. However, the scheme allows to release only q = 1 decryption key (i.e., it is not collusion resistant) and the complexity of encryption depends polynomially on the output size and circuit depth of f (i.e., the scheme is not compact.) It is easy to see that any numer q of functional decryption keys can always e supported simply y picking q independent pulic keys. But this makes the complexity of encryption grow linearly with q. So, technically, the constraint that a scheme is collusion-resistant can e reformulated y requiring that the complexity of encryption t Enc is independent of q. One can also consider weaker versions of oth compactness and collusion resistance where the complexity of encryption t Enc is required to e just sulinear in f or q. Using this terminology, the main result of [10, 3] states that any (weakly) compact (ut not necessarily collusion-resistant) functional encryption scheme can e used to uild an io ofuscator. 1 In an effort to further reduce (or etter understand) the minimal assumptions on functional encryption required to imply ofuscation, the full version of [10] also gives a polynomial reduction from weakly compact functional encryption to (non-compact) weakly collusion-resistant functional encryption. A similar polynomial reduction from compact functional encryption to (non-compact) collusion-resistant functional encryption is also given in [4], where it is suggested that non-compact functional encryption may e easier to achieve, and the reduction is presented as a further step toward asing ofuscation on standard assumptions. In summary, the relation etween these four variants of functional encryption (all known to imply io y the results of [10, 3]) is summarized y the solid arrows in the following diagram, Weak Collusion-Resistant Collusion-Resistant Weakly Compact Compact where the horizontal implications are trivial (from stronger to weaker constraints on the t Enc ) and the vertical implications are from [10, 3]. 1.1 Our results and techniques. In this paper we further investigate the relation etween these four variants of functional encryption, and prove (among other things) the following result: 1 The reduction incurs a loss in security that is exponential in the input size, which can e accounted for y assuming the functional encryption scheme is exponentially hard to reak. 2

Theorem 1. (Informal) There is a polynomial time reduction from collusion-resistant functional encryption to weakly compact functional encryption. This adds precisely the (dotted) diagonal arrow to the previous diagram, showing (y transitivity) that all four variants are equivalent under polynomial time reductions. Technically, proving the aove theorem requires showing that any single key (q = 1) functional encryption scheme satisfying some weak compactness requirement can e turned into a scheme supporting an aritrary large polynomial numer Q of functional key queries. We do so in a modular way, analyzing two general constructions that can e used to comine two aritrary functional encryption schemes, which we call the SUM construction and the PRODUCT construction. The SUM construction takes two functional encryption schemes F E 1, F E 2 supporting q 1 and q 2 functional key queries, and comines them into a new scheme F E 1 + F E 2 supporting q 1 + q 2 key queries. The PRODUCT construction takes two functional encryption schemes F E 1, F E 2 supporting q 1 and q 2 functional key queries, and comines them into a new scheme F E 1 F E 2 supporting q 1 q 2 key queries. The two constructions can e recursively comined in a numer of different ways, exhiiting various efficiency/security tradeoffs. For example, Theorem 1 corresponds to starting from a scheme F E 1 supporting a single key (q 1 = 1), using the SUM construction F E 2 = (F E 1 + F E 1 ) to support q 2 = 2 keys, and then iterating the PRODUCT construction (F E 2 F E 2 ) precisely log(q) times, where Q is the desired numer of key queries in the final scheme. (Here for simplicity Q is chosen in advance, ut our operations are flexile enough to design a scheme where Q is chosen dynamically y the adversary, and the pulic key does not depend on Q.) Another possile instantiation is given y repeatedly squaring the scheme F E 2, i.e., defining F E 4 = F E 2 F E 2, F E 16 = F E 4 F E 4, etc. The squaring operation is repeated log(log((q)) times, to yield a scheme supporting Q queries. (Again, we are assuming Q is fixed in advance for simplicity, and our results are easily extended to dynamically chosen Q.) Interestingly (and perhaps surprisingly) this produces a different scheme than the iterated product descried efore, offering different trade-offs. Specifically, the iterated squaring scheme is no longer compact, and the complexity of encryption now depends on Q. However, the dependence is pretty mild, just doule-logarithmic log(log(q)), as opposed to linear O(Q) as in the trivial construction. This mild dependence on Q results in different ciphertext lengths: while the iterated product construction produces a ciphertext of length twice as long as that of the underlying single-key FE scheme, the iterated squaring construction produces a ciphertext that is a single encryption of a slightly longer message using the underlying FE scheme. The methods used y the SUM and PRODUCT constructions are relatively standard: the SUM construction is essentially a formalization and generalization of the trivial repetition construction to turn a single-key scheme into one supporting q key queries y picking q pulic keys. The PRODUCT construction is ased on the same type of chaining techniques used in many ootstrapping theorems efore this work. The main technical novelty of this work is the general modular framework to comine the operations, and the detailed analysis of the efficiency and security of the SUM and PRODUCT construction. We remark that, even for the trivial construction, a detailed analysis is needed in order to evaluate the parameters growth when the constructions are applied iteratively an aritrary (non-constant) numer of times. The details of our SUM and PRODUCT constructions are also particularly simple: oth constructions comine the component FE schemes making a simple use of just a length douling pseudorandom generator. Similar constructions in the literature typically make use of more complex uilding locks, like puncturale pseudorandom functions. We consider the simplicity of the constructions in this work as a positive feature. 1.2 Other related work In a concurrent and independent work, Garg and Srinivasan [23] present a generic transformation from a polynomially-hard single-key weakly-compact FE scheme to a collusion-resistant compact FE scheme. 3

While their work and ours have similar complexity theoretic implications aout the existence of functional encryption schemes, they are quite different at the technical level, and produce very different constructions of (collusion resistant) functional encryption, which may e of independent interest. At a high level, the construction of [23] is ased on the use of single-key FE schemes to simulate the role of the ofuscation in the io-to-fe transformations of [10, 3], together with a prefix puncturale pseudorandom function. Our constructions are much more direct, and make use of just a simple pseudorandom generator. An easy way to see how this leads to very different schemes is that our FE pulic keys are just the same as the pulic keys of the underlying (single-key) FE scheme, while the pulic keys of [23] consist of polynomially many functinal decryption keys from the underlying (single-key) FE scheme. So, one advantage of our work over [23] is simplicity and, potentially, efficiency. 2 On the other hand the construction of [23] produces a compact FE scheme even when starting from a weakly compact one, while our construction only preserves the compactness properties, from weakly compact to weakly compact or from fully compact to fully compact. Our transformations can e adapted to the secret-key settings as well: we can otain a selective-secure multi-key L-message secret-key FE scheme from a selective-secure single-key L-message secret-key FE scheme while maintaining compactness properties, where L is a-priori fixed. Our transformations also preserve function-privacy properties of the ase scheme. However, we are not ale to extend such transformations to otain a multi-message secret-key FE schemes (e.g., L is an aritrary polynomial in κ.) Details of the secret-key versions of our results are included in Appendix B. Our definition of a SUM and PRODUCT construction, and their comined use to uild different schemes exhiiting a variety of efficiency/security tradeoffs is somehow similar to the work [30], where sum and product constructions are used to uild forward secure signature schemes supporting an aritrary numer of key updates, starting from regular (one-time) signatures (i.e., supporting no key updates) and hash functions. However, eside this high level similarity, we deal with completely different cryptographic primitives. The chaining technique used in our product construction has een used many times efore in previous ootstrapping theorems for functional encryption, ut it is most closely related to the work of [14] where chaining is used in a tree fashion to achieve a hierarchical functional encryption scheme. Our composition approach can e easily adapted to that setting to make the construction and analysis of [14] more modular. 2 Background We first set up the notation and terminology used in our work. 2.1 Functional Encryption For notational simplicity, we assume that all randomized algorithms (e.g., the key generation and encryption procedures of a cryptosystem) use precisely κ its of randomness, where κ is a security parameter. This is without loss of generality, as κ its of randomness can e used to generate polynomially many pseudorandom its using a pseudorandom generator. For simplicity, we consider only pulic key functional encryption schemes in the following sections, though our transformations and results can e adapted to the secret key setting as well. (See Appendix B.) So from now on we omit pulic key and just say functional encryption. We use the following syntax for functional encryption schemes, where R = {0, 1} κ. Definition 1. A Functional Encryption scheme is specified y four sets M, R, I, F (the message, randomness, index and function spaces) and four algorithms (Setup, Enc, Dec, KeyGen) where Setup(sk) = pk is a pulic key generation algorithm that on input a random secret key sk R, produces a corresponding pulic key pk. 2 Since the single-key FE schemes underlying [23] and our work lack a known instantiation from standard assumptions, it is hard to make a concrete efficiency comparison etween the two schemes. However, ased on the asymptotics of the two constructions, one can easily estimate the pulic keys of [23] to e larger than our pulic keys at least y a factor κ, proportional to the security parameter. 4

Enc(pk, m; r) = c is an encryption algorithm that on input a pulic key pk, message m M and randomness r R, produces a ciphertext c. KeyGen(sk, f, i) = fk is a functional key derivation algorithm that on input a secret key sk, a function f F, and an index i I, produces a functional decryption key fk associated to f. Dec(fk, c) = m is a decryption algorithm that on input a functional decryption key fk and ciphertext c, outputs a plaintext message m. The scheme is correct if with overwhelming proaility (over the choice of sk, r R), for any message m M, function f F and index i I, it holds that Dec(KeyGen(sk, f, i), Enc(Setup(sk), m; r)) = f(m). Our syntax for functional encryption schemes slightly differs from the standard one in two respects. First, we identify the randomness used y the pulic key generation procedure Setup with the master secret key of the scheme. This is without loss of generality, ut provides a more convenient syntax for our constructions. The other is that the functional key derivation algorithm KeyGen takes an index i as an additional parameter. The only requirement on this index is that different calls to KeyGen(sk,, i) use different values of i. The role of i is simply to put a ound on the numer of calls to the functional key derivation algorithm. (In particular, the indices i I can e used in any order, and the key derivation algorithm does not need to keep any state.) For example, a functional encryption scheme supporting the release of a single functional key fk will have an index space I = {1} of size 1. Remark 1. The standard definition of ounded collusion resistant functional encryption typically allows an aritrary numer of calls to KeyGen, and imposes a ound only on the numer of functional decryption keys that are released to the adversary. This always requires the set I to have exponential (or, at least, superpolynomial) size in the security parameter. So, our definition of I-ounded FE is somehow more restrictive than I -ounded collusion resistance. When the set I has superpolynomial size (e.g., as otained in the main results of this paper,) it is easy to make KeyGen completely stateless and match the standard FE security definition with only a negligile loss in security, e.g., y letting KeyGen pick i I at random, or setting i = H(f) for some collision resistant hash function H : F I. Security Since our work is primarily motivated y the application of FE to indistinguishaility ofuscation [10, 3], we will use an indistinguishaility security definition for FE, which is the most relevant one in this context. We follow the indistinguishaility security notions as defined in [11], expressed in the functional/equational style of [31, 28]. Security for functional encryption is defined y a game etween a challenger and an adversary. Both the challenger and the adversary are reactive programs, modeled y monotone functions: the challenger is a function H FE ((m 0, m 1 ), {f i } i Q ) = (pk, c, {fk i } i Q ) that receives as input a pair of message (m 0, m 1 ) M 2 and a collection of function queries f i F, and outputs a pulic key pk, a ciphertext c and a collection of functional keys fk i, one for each f i. The adversary is a function A(pk, c, {fk i } i Q ) = ((m 0, m 1 ), {f i } i Q, ) that on input a pulic key pk, ciphertext c and functional keys {fk i } i Q outputs a pair of messages (m 0, m 1 ), function queries {f i } i Q and a decision it. Note that Q I can e chosen adaptively y the adversary. We recall that, as reactive programs, H and A can produce some outputs efore receiving all the inputs. (Formally, each of the input or output variales can take a special undefined value, suject to the natural monotonicity requirements. See [31] for details.) Security is defined y the following challenger program H FE, parameterized y a it {0, 1}: H FE ((m 0, m 1 ), {f i } i Q ) = (pk, c, {fk i } i Q ) where sk R, r R pk = Setup(sk) c = Enc(pk, m ; r) For all i Q: fk i = if ((m 0, m 1 ) = ) (f = ) then else if (f i (m 0 ) = f i (m 1 )) then KeyGen(sk, f i, i) else 5

By the notation x R we mean the operation of selecting an element uniformly at random from R. Besides, we use the symol to denote the error condition that the adversary s query is invalid. 3 Security is defined y running the challenger H FE together with an adversary A attacking the scheme and trying to guess the value of a randomly chosen it. Formally, the FE game Exp F E [H( ) FE, A] is defined y the following system of equations: Exp F E [H( ) FE, A] = ( =? ) where {0, 1} (pk, c, {fk i } i Q ) = H FE((m 0, m 1 ), {f i } i Q ) ((m 0, m 1 ), {f i } i Q, ) = A(pk, c, {fk i } i Q ) The output of the game can e otained y finding the least fixed point of [H FE, A], which descries the output when the computation stailizes. We say that the adversary A wins the game Exp F E [H( ) FE, A] if the condition = is satisfied (denoted y the output ), and we define the advantage of A in reaking the FE scheme FE as Adv FE [A] = 2 Pr{Exp F E [H( ) FE, A] = } 1. Alternatively, we can let the FE game e parameterized y and output a it : [H() FE, A] = where (pk, c, {fk i } i Q ) = H FE((m 0, m 1 ), {f i } i Q, ) ((m 0, m 1 ), {f i } i Q, ) = A(pk, c, {fk i } i Q ) Then the advantage of A in reaking the FE scheme FE can e defined as Adv FE [A] = Pr{[H FE 0, A] = 1} Pr{[H FE 1, A] = 1}. The two formulations are easily seen to e perfectly equivalent. Note that, in the definition of H FE, if f i = or m j =, then f i (m j ) =. So, this challenger corresponds to a non-adaptive security definition where the adversary cannot get any functional key efore choosing the challenge messages (m 0, m 1 ). On the other hand, the pulic key pk is computed (and given to the adversary) right away. So the (distriution of the) messages (m 0, m 1 ) may depend on the value of the pulic key. Alternative definitions can e otained y setting pk = if ((m 0, m 1 ) ) then Setup(sk) else, which corresponds to the selective (i.e., fully nonadaptive) attack where the adversary has to choose the messages efore seeing the pulic key. fk i = KeyGen(sk, f i, i) and c = if ( i.f i (m 0 ) = f i (m 1 )) then Enc(pk, m ; r) else, which corresponds to allowing function queries (only) efore choosing the messages (m 0, m 1 ). All our results and constructions are easily adapted to all these different definitional variants, as well as fully adaptive settings where message and function queries can e specified in any order, suject to the natural non-triviality requirements. Definition 2. A functional encryption scheme FE is ɛ(κ, q)-non-adaptively (or selectively/adaptively) secure if for any efficient adversary A who makes at most q functional key queries, the advantage of A in the nonadaptive (or selective/adaptive) FE game is ounded y Adv FE [A] ɛ(κ, q) Ω(1). When ɛ(κ, q) is independent of q, we simply say the FE scheme is ɛ(κ)-secure. Furthermore, if ɛ(κ) is a negligile function in κ, we sometimes omit it and just say that the FE scheme is secure. We say that a FE scheme is single-key secure if I = 1, and we say that it is q-key secure if it is ɛ(κ, q)-secure where ɛ(κ, q) is negligile. Finally, one may naturally require a FE scheme to e secure even when a large numer of functional keys are released. We say a FE scheme is collusion-resistant if it is q-key secure for any polynomial q(κ). 3 Formally we can extend the flat CPO of all functional decryption keys with an top element that is greater than all keys, such that the challenger remains a monotone function. Note that, if m 0 = or m 1 = then (m 0, m 1 ) =. 6

Efficiency For a FE scheme to e useful in applications or when uilding other cryptographic constructs, we need to measure its efficiency. Several efficiency notions have een considered in the literature, and here we mention those that are used in our work. Let FE e a q-key secure FE scheme with security parameter κ, and let n e the length of messages to e encrypted. Then we say that FE is compact 4 if the running time t Enc of the encryption procedure Enc is polynomial in n and κ, and it is independent of other parameters. FE is weakly compact 5 if t Enc is su-linear in q and the maximal circuit size s of functions in F, and it is polynomial in n and κ. FE is ciphertext-succinct or simply succinct if t Enc is polynomials in n, κ, and the maximal circuit depth d of functions in F. FE is weakly ciphertext-succinct or simply weakly succinct if t Enc is su-linear in q and polynomial in n, κ, and d, ut otherwise independent of the circuit size. FE is weakly collusion-resistant if t Enc is su-linear in q. The notion of compact FE has een considered in [3, 4], and also in [10] under the name of fully circuit succinctness. Here we chose the name compact to distinguish it from other variants of succinctness notions. It was shown in [3, 10] that a secure compact FE with su-exponential security for all circuits implies an indistinguishaility ofuscation for all circuits. Succinct FE scheme, a weaker notion, was considered in [26], where their definition was ased on ciphertext length, rather than encryption time. They constructed a succinct FE scheme ased on standard su-exponential lattice assumptions. We note that, although our definition is stronger due to using the complexity of encryption, the FE scheme of [26] is still ciphertext-succinct according to our definition. 2.2 Pseudorandom Generators Our construction assumes the existence of pseudorandom generators that can stretch a short random seed to a polynomially long pseudorandom it-string. Definition 3. Let G : R S e a deterministic function that can e computed in polynomial time. We say that G is a µ(κ)-secure pseudorandom generator if for any efficient adversary A we have Adv G [A] = Pr {A(s) = 1} Pr {A(G(r)) = 1} µ(κ). s S r R The quantity Adv G [A] is called the advantage of A in reaking the PRG G, and it is usually assumed to e less than µ(κ) for some negligile function µ. Also, it is usually assumed that the generator output strings of length G(x) = l( x ) for all x R, where l(κ) is some fixed polynominal function of κ. We write G(r) to denote the output of a pseudorandom generator on input a (randomly chosen) seed r, with the domain and range of G usually defined implicitly y the context. We write G i (r) to denote a specific part of the output, i.e., G(r) = G 0 (r)g 1 (r)... G k (r), where the locks G i (r) usually have all the same length. 3 The SUM construction We descrie a simple method to comine two functional encryption schemes FE 0 and FE 1 with index spaces I 0 and I 1, into a new scheme FE = FE 0 + FE 1 with index space I = I 0 + I 1 = {(, i) {0, 1}, i I } given y the disjoint union of I 0 and I 1. Let FE = (Setup, Enc, Dec, KeyGen ) for {0, 1}. Then, FE = (Setup, Enc, Dec, KeyGen) is defined as 4 Also known as fully (circuit) succinct in [10]. 5 Also known as weakly (circuit) succinct in [10]. 7

Setup(sk) = (Setup 0 (G 0 (sk)), Setup 1 (G 1 (sk))) Enc((pk 0, pk 1 ), m; r) = (Enc 0 (pk 0, m; G 0 (r)), Enc 1 (pk 1, m; G 1 (r))) Dec((, fk), (c 0, c 1 )) = Dec (fk, c ) KeyGen(sk, f, (, i)) = (, KeyGen (G (sk), f, i)) for all sk, r R, m M, {0, 1} and i I. Informally, the SUM scheme works y generating two pulic keys (one for each component scheme FE ), and encrypting each message under oth pulic keys. When applied to two copies of the same scheme FE 0 = FE 1, this doules the size of the index space I = 2 I (allowing twice as many functional decryption keys,) ut at the cost of douling also the pulic key and ciphertext size. The complexity of decryption and functional key generation stays essentially the same as that of the component schemes (no douling, only a small additive increase for multiplexing), as only one of the two ciphertexts gets decrypted. The correctness and efficiency properties of the SUM construction are summarized in the following theorem, which is easily verified y inspection/sustitution. Theorem 2 (SUM construction). If (for i {0, 1}) FE i is a correct FE scheme for function class F with index space of size I i, pulic key size l k i, ciphertext length lc i, and algorithms Setup i, Dec i, Enc i, KeyGen i running in time t Setup i, t Dec i, t Enc i, t KeyGen i respectively, then FE = FE 0 + FE 1 is a correct FE scheme for the same function class F with index space of size I = I 0 + I 1, pulic-key size l k = l k 0 + l k 1, ciphertext length l c = l c 0 + l c 1, and algorithms Setup i, Dec i, Enc i, KeyGen i running in time t Setup = t Setup 0 + t Setup 1 + t G t Enc = t Enc 0 + t Enc 1 + t G t Dec = max{t Dec 0, t Dec 1 } t KeyGen = max{t KeyGen 0, t KeyGen 1 } + t G where t G is the running time of the PRG G. In particular, if FE 0 and FE 1 are oth succint, then FE = FE 0 + FE 1 is also succint. Security (proved in the next theorem) is not entirely trivial, as it requires a careful use of the pseudorandom generator, ut it still follows y a fairly standard hyrid argument. The construction preserves the non-adaptive/selective/adaptive security properties. We prove the non-adaptive version. Proofs for other definitional variants are similar. Theorem 3 (Security of SUM construction). If (for i {0, 1}) FE i is non-adaptively ɛ i (κ)-secure, and G is a µ-secure pseudorandom generator, then FE = FE 0 +FE 1 is also non-adaptively ɛ(κ)-secure for ɛ = 4µ+ɛ 0 +ɛ 1. Proof. We uild 6 hyrids to reduce the security of the SUM construction FE 0 + FE 1 to the security of the PRG G and the security of the FE schemes FE 0 and FE 1. We denote a hyrid y H (j) for {0, 1} and an index j. Like the challenger in a FE game, a hyrid is a monotone function H (j) ((m 0, m 1 ), {f (h,i) } (h,i) Q ) = (pk, c, {fk (h,i) } (h,i) Q ), where Q I is (adaptively) chosen y the adversary. Let Q 0 = {i (0, i) Q} I 0 and Q 1 = {i (1, i) Q} I 1. Proofs of lemmas can e found in Appendix A. H (0) : This hyrid is the same as the original challenger H FE in the FE game for the FE scheme FE 0 + FE 1. For a fixed {0, 1}, y expanding the SUM construction, we get the following definition of H (0) : 8

H (0) ((m 0, m 1 ), {f (h,i) } (h,i) Q ) = (pk, c, {fk (h,i) } (h,i) Q ) where sk R, r R sk 0 = G 0 (sk), sk 1 = G 1 (sk) pk 0 = Setup 0 (sk 0 ), pk 1 = Setup 1 (sk 1 ), pk = (pk 0, pk 1 ) c 0 = Enc 0 (pk 0, m ; G 0 (r)), c 1 = Enc 1 (pk 1, m ; G 1 (r)), c = (c 0, c 1 ) For all (h, i) Q: fk (h,i) = if ((m 0, m 1 ) = ) (f (h,i) = ) then else if (f (h,i) (m 0 ) = f (h,i) (m 1 )) then (h, KeyGen h (sk h, f (h,i) ; i)) else H (1) : In this hyrid we replace the PRG outputs y truly random strings. So sk and r are no longer needed and hence we remove them from the hyrid. H (1) ((m 0, m 1 ), {f (h,i) } (h,i) Q ) = (pk, c, {fk (h,i) } (h,i) Q ) where sk 0 R, sk 1 R, r 0 R, r 1 R pk 0 = Setup 0 (sk 0 ), pk 1 = Setup 1 (sk 1 ), pk = (pk 0, pk 1 ) c 0 = Enc 0 (pk 0, m ; r 0 ), c 1 = Enc 1 (pk 1, m ; r 1 ), c = (c 0, c 1 ) For all (h, i) Q: fk (h,i) = if ((m 0, m 1 ) = ) (f (h,i) = ) then else if (f (h,i) (m 0 ) = f (h,i) (m 1 )) then (h, KeyGen h (sk h, f (h,i) ; i)) else Lemma 1. If G is a µ-secure pseudorandom generator, then for any {0, 1} and adversary A we have Pr{[H (0), A] = 1} Pr{[H (1), A] = 1} 2µ(κ). H (2) : In this hyrid the ciphertext c encrypts oth m 0 and m 1 : H (2) ((m 0, m 1 ), {f (h,i) } (h,i) Q ) = (pk, c, {fk (h,i) } (h,i) Q ) where sk 0 R, sk 1 R, r 0 R, r 1 R pk 0 = Setup 0 (sk 0 ), pk 1 = Setup 1 (sk 1 ), pk = (pk 0, pk 1 ) c 0 = Enc 0 (pk 0, m 0 ; r 0 ), c 1 = Enc 1 (pk 1, m 1 ; r 1 ), c = (c 0, c 1 ) For all (h, i) Q: fk (h,i) = if ((m 0, m 1 ) = ) (f (h,i) = ) then else if (f (h,i) (m 0 ) = f (h,i) (m 1 )) then (h, KeyGen h (sk h, f (h,i) ; i)) else Lemma 2. If FE 1 is a non-adaptively ɛ 1 (κ)-secure FE scheme with an index space I 1, then for any adversary A we have Pr{[H (1) 0, A] = 1} Pr{[H(2) 0, A] = 1} ɛ 1(κ). By symmetric argument, we can also otain the following lemma. Lemma 3. If FE 0 is a non-adaptively ɛ 0 (κ)-secure FE scheme with an index space I 0, then for any adversary A we have Pr{[H (1) 1, A] = 1} Pr{[H(2) 1, A] = 1} ɛ 0(κ). Finally, we oserve that the last hyrid H (2) does not depend on the it, and therefore Pr{[H (2) 0, A] =, A] = 1}. It follows y triangle inequality that the advantage of adversary A in reaking the 1} = Pr{[H (2) 1 SUM FE scheme is at most Adv FE [A] = Pr{[H (0) 0 4µ + ɛ 0 + ɛ 1., A] = 1} Pr{[H(0) 1, A] = 1} 2µ + ɛ 1 + 0 + ɛ 0 + 2µ = 9

4 The PRODUCT construction We now define a different method to comine FE 0 and FE 1 into a new scheme FE = FE 0 FE 1 with index space I 0 I 1 equal to the cartesian product of the index spaces I 0, I 1 of FE 0 and FE 1. Let FE = (Setup, Enc, Dec, KeyGen ) for {0, 1}. First, for each i I 0, we define a re-encryption function e i [c, pk] : M R M, parameterized y c M and pk R: { Gi ( r) c if m = e i [c, pk](m, r) = Enc 1 (pk, m; G i ( r)) otherwise Then, FE = (Setup, Enc, Dec, KeyGen) is defined as follows: Setup(sk) = Setup 0 (G 0 (sk)) Enc(pk, m; r) = Enc 0 (pk, (m, G 0 (r)); G 1 (r)) Dec((fk 0, fk 1 ), c) = Dec 1 (fk 1, Dec 0 (fk 0, c)) KeyGen(sk, f, (i, j)) = (fk i 0, 1 ) where sk 0 = G 0 (sk) sk i 1 = G i (G 1 (sk)) pk i 1 = Setup 1 (sk i 1) c i = G i (G 2 (sk)) fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) 1 = KeyGen 1 (sk i 1, f, j) The re-encryption function has two modes: in the regular mode where a message m is given, it computes the FE 1 ciphertext of m under a hard-wired pulic key pk with pseudo-randomness supplied y a random seed from the input; in the special mode where m is not given (denoted y the special symol ), it masks a hard-wired ciphertext c with pseudo-randomness derived from the random seed from the input. Note that the special mode is never invoked in a real world execution of the scheme, ut it is used in security proofs. For any set Q I 0 I 1 of functional key query indices, let proj 0 (Q) = {i (i, j) Q for some j I 1 }, and for i I 0 let proj i 1(Q) = {j (i, j) Q}. In addition, let RE FE e the class of functions that includes e i [c i, pk i 1](, ) defined using Enc of a FE scheme FE. Theorem 4 (PRODUCT construction). If FE 0 and FE 1 are succinct FE schemes for functions in the classes RE FE0 and F respectively, whose index spaces are I 0 and I 1, key sizes are l k 0 and l k 1, ciphertext lengths are l c 0(n, κ, d 0 ) and l c 1(n, κ, d 1 ), where n is the message length and d 0, d 1 are the maximum depth of functions in RE FE0, F, respectively. Then FE = FE 0 FE 1 is a succinct FE scheme for F with an index space I 0 I 1, pulic-key size l k 0, and ciphertext length l c 0(n + κ, κ, d 0 ). Moreover, for i {0, 1}, let t Setup i,t Enc i,t Dec i,t KeyGen i e the running times of Setup i, Enc i, Dec i, KeyGen i of FE i, where t Enc i = t Enc i (n, κ, d i ), and let t G e the running time of the PRG G. Then FE runs in time: t Setup = t Setup 0 + t G t Enc = t Enc 1 (n + κ, κ, d 0 ) + t G t Dec = t Dec 0 + t Dec 1 t KeyGen = t Setup 1 + t KeyGen 0 + t KeyGen 1 + 3t G Next we state the security of our PRODUCT construction. Again, the analysis can e easily adapted to other (e.g., selective/adaptive) models. 10

Theorem 5 (Security of PRODUCT construction). Assume FE 0 and FE 1 are succinct FE schemes which are non-adaptively ɛ 0 (κ, q )- and ɛ 1 (κ, q )-secure with index spaces I 0 and I 1. Also assume G is a µ-secure pseudorandom generator. Then for any efficient adversary A who makes at most q I 0 I 1 functional key queries, FE = FE 0 FE 1 is a non-adaptively ɛ(κ, q)-secure succinct FE scheme for F, where ɛ(κ, q) max q 1+ +q p=q,q i I 1 ɛ 1 (κ, q i ) + 2ɛ 0 (κ, min{q, I 0 }) + 12µ(κ). i Proof. We uild a series of hyrids to reduce the security of FE 0 FE 1 to the security of the PRG and the security of FE schemes FE 0 and FE 1. We denote our hyrids y H (h) for {0, 1} and h an index, and a hyrid is a monotone function H (h) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ). An adversary A wins the game against H (h) if [H (h), A] = 1, and its advantage over H (h) is Adv[A] (h) = Pr{[H (h), A] = 1}. Proofs of lemmas can e found in Appendix A. H (0) : This is the same as the original challenger H FE0 FE1 expanding the PRODUCT construction, we get the following definition of H (0) : in the FE game for the scheme FE 0 FE 1. By H (0) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk R, r R sk 0 = G 0 (sk), pk = Setup 0 (sk 0 ) c = Enc 0 (pk, (m, G 0 (r)); G 1 (r)) For all (i, j) Q: = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else where sk i 1 = G i (G 1 (sk)), pk i 1 = Setup 1 (sk1), i c i = G i (G 2 (sk)) fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) 1 = KeyGen 1 (sk i 1, f (i,j), j) : In this hyrid some uses of the PRG G are replaced y truly random strings. In addition, sk is no longer needed so we remove it from the hyrid. H (1) H (1) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk 0 R, pk = Setup 0 (sk 0 ) r R, r R, c = Enc 0 (pk, (m, r ); r ) For all i proj 0 (Q): sk i 1 R, pk i 1 = Setup 1 (sk i 1), c i R fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) For all j proj i 1(Q): 1 = KeyGen 1 (sk i 1, f (i,j), j) = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else Lemma 4. If G is a µ-secure pseudorandom generator, then for any {0, 1} and any efficient adversary A, we have Adv[A] (0) Adv[A] (1) 4µ(κ). H (2) : In this hyrid we slightly modify how the c i s are generated without changing their distriution. 11

H (1) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk 0 R, pk = Setup 0 (sk 0 ) r R, r R, c = Enc 0 (pk, (m, r ); r ) For all i proj 0 (Q): sk i 1 R, pk i 1 = Setup 1 (sk i 1) s i R, c i 1 = Enc 1 (pk i 1, m ; G i (r )), c i = s i c i 1 fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) For all j proj i 1(Q): 1 = KeyGen 1 (sk i 1, f (i,j), j) = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else Lemma 5. For any {0, 1} and adversary A, we have Adv[A] (1) = Adv[A] (2). H (3) : In this hyrid we replace the truly random s i with a pseudorandom string. H (3) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk 0 R, pk = Setup 0 (sk 0 ) r R, r R, c = Enc 0 (pk, (m, r ); r ), s R For all i proj 0 (Q): sk i 1 R, pk i 1 = Setup 1 (sk i 1) s i = G i (s), c i 1 = Enc 1 (pk i 1, m ; G i (r )), c i = s i c i 1 fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) For all j proj i 1(Q): 1 = KeyGen 1 (sk i 1, f (i,j), j) = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else Lemma 6. If G is a µ-secure pseudorandom generator, then for any {0, 1} and adversary A, we have Adv[A] (2) Adv[A] (3) µ(κ). H (4) : In this hyrid we modify c to encrypt (, s) instead of (m, r). H (4) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk 0 R, pk = Setup 0 (sk 0 ) r R, r R, c = Enc 0 (pk, (, s); r ), s R For all i proj 0 (Q): sk i 1 R, pk i 1 = Setup 1 (sk i 1) s i = G i (s), c i 1 = Enc 1 (pk i 1, m ; G i (r )), c i = s i c i 1 fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) For all j proj i 1(Q): 1 = KeyGen 1 (sk i 1, f (i,j), j) = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else Lemma 7. If FE 0 is a non-adaptive ɛ 0 (κ, q )-secure FE scheme for functions in RE FE0 with an index space I 0, then for any {0, 1} and any efficient adversary A who makes at most q functional key queries, we have Adv[A] (3) Adv[A] (4) ɛ 0 (κ, min{q, I 0 }). 12

H (5) : Now we use fresh randomness to generate c i instead of sharing a pseudorandom string. H (5) ((m 0, m 1 ), {f (i,j) } (i,j) Q ) = (pk, c, { } (i,j) Q ) where sk 0 R, pk = Setup 0 (sk 0 ) r R, c = Enc 0 (pk, (, s); r ), s R For all i proj 0 (Q): sk i 1 R, pk i 1 = Setup 1 (sk i 1) s i = G i (s), r i R, c i 1 = Enc 1 (pk i 1, m ; r i ), c i = s i c i 1 fk i 0 = KeyGen 0 (sk 0, e i [c i, pk i 1], i) For all j proj i 1(Q): 1 = KeyGen 1 (sk i 1, f (i,j), j) = if ((m 0, m 1 ) = ) (f (i,j) = )) then else if (f (i,j) (m 0 ) = f (i,j) (m 1 )) then (fk i 0, 1 ) else Lemma 8. If G is a µ-secure pseudorandom generator, then for any {0, 1} and any adversary A we have Adv[A] (4) Adv[A] (5) µ(κ). Lemma 9. If FE 1 is a non-adaptive ɛ 1 (κ, q )-secure FE scheme with an index space I 1, then for any efficient adversary A who makes at most q functional key queries, we have Adv[A] (5) 0 Adv[A] (5) 1 max q1+ +q p=q,q i I 1 i ɛ 1(κ, q i ). Finally, y applying previous lemmas, we see that the advantage of any adversary A to the PRODUCT scheme FE can e ounded y Adv FE [A] = Pr{[H (0) 0, A] = 1} Pr{[H(0) 1, A] = 1} 2(4µ(κ) + 0 + µ(κ) + ɛ 0 (κ, min{q, I 0 }) + µ(κ)) + max q 1+ +q p=q,q i I 1 = max ɛ 1 (κ, q i ) + 2ɛ 0 (κ, min{q, I 0 }) + 12µ(κ). q 1+ +q p=q,q i I 1 i ɛ 1 (κ, q i ) i 5 Compositions using SUM and PRODUCT Constructions SUM and PRODUCT constructions provide ways to uild new FE schemes with larger function spaces. They also have nice efficiency preserving properties. Using them as uilding locks, we propose two composition methods to define transformations from a FE scheme supporting only one functional key query to a new FE scheme that supports any polynomially many functional key queries without losing much security and efficiency guarantees. Throughout this section, we assume FE 0 is a single-key ɛ 0 (κ)-secure FE scheme, where ɛ 0 (κ) is negligile, for functions in a class F with some minimal efficiency guarantees, for example, succinct. FE 0 can e either selective-, non-adaptive-, or adaptive-secure, and our transformations preserve these security notions. We also assume G is a µ-secure PRG, for negligile µ(κ). Let t Setup 0,t Enc 0,t Dec 0,t KeyGen 0 e the running times of the four algorithms in FE 0, and let l k 0, l c 0, l fk 0 e the lengths of pulic key, ciphertext, and functional keys of FE 0. Since FE 0 is succinct, t Enc 0 = t Enc 0 (n, κ, d) and l c 0 = l c 0(n, κ, d) are oth polynomials in the message length n, security parameter κ, and the maximal depth d of functions in F. Let t G e the running time of the PRG G. Our main results are two reductions from collusion-resistant compact FE schemes for F to FE 0 assuming F meets some requirements (more details later.) 13

5.1 Iterated Squaring Composition Our first transformation can e otained y repeatedly squaring the previously composed FE scheme. At the eginning, we use the SUM construction to otain FE schemes supporting 2 functional key queries. Then PRODUCT construction is used on the FE schemes of the previous iteration. Formally, we can define the iterated squaring composition method y: FE 1 = FE 0 + FE 0, and for h 1, FE h+1 = FE h FE h. (1) So FE 1 is secure for at most 2 functional queries. For h 1, the index space I h+1 of FE h+1 has size 2 2h. Let p = ω(log log κ) and p = O(log κ); then FE p+1 has a superpolynomial-sized index space. In the following we discuss in detail the security and performance of FE p+1. Security: For any polynomial q(κ), the advantage of any efficient adversary A who makes at most q functional key queries over FE p+1 is ounded y Adv FE p+1 [A] qκ (ɛ 0 (κ) + µ(κ)). (2) This upper ound can e otained as follows. Let ɛ h (κ, q ) e the security upper ound of FE h against any adversary A making at most q < I h functional key queries. We show y induction on h that ɛ h (κ, q ) 3 h 1 q (ɛ 1 +µ). For h = 1, y Theorem 3 we have ɛ 1 (κ) 2ɛ 0 (κ)+4µ(κ), and in particular, ɛ 1 is independent of q. So for any 1 q I 1 = 2, ɛ 1 (κ, q ) = ɛ 1 (κ, 1) q ɛ 1 (κ). Next, suppose ɛ h (κ, q ) 3 h 1 q (ɛ 1 + µ) for h 1 and 1 q I h. By Theorem 5, for any 1 q I h+1 we have ɛ h+1 (κ, q ) max ɛ h (κ, q i ) + 2ɛ h (κ, min{q, I h }) + 12µ q 1+ +q k =q,q i I h max q 1+ +q k =q,q i I h 3 h q (ɛ 1 + µ). Now, since p = O(log κ), the upper ound in Equation 2 follows. Running times and output lengths: Setup: 2t Setup 0 + (p + 1)t G 2t Setup 0 + log κ t G i (3 h 1 q i (ɛ 1 + µ)) + 2 3 h 1 min{q, I h } (ɛ 1 + µ) + 12µ Enc : 2t Enc 0 (n + pκ, κ, d) + (p + 1)t G 2t Enc 0 (n + κ log κ, κ, d) + log κ t G Dec : 2 p t Dec 0 κ t Dec 0 i KeyGen : 2(2 p 1)t Setup 0 + 2 p t KeyGen 0 + ( p i=0 (p + 2 i)2i + 2 p+1 1)t G κ t Setup 0 + κ t KeyGen 0 + κ t G l k p+1 = 2l k 0 l c p+1 = l c 0(n + pκ, κ, d) l c 0(n + κ log κ, κ, d) l fk p+1 = 2p l fk 0 κ lfk 0 Clearly FE p+1 is a q-key secure FE scheme for any polynomial q(κ), and the transformation incurs only linear (in terms of q) security loss. Since FE 0 is succinct, t Enc 0 is a polynomial in n, κ, and d. So t Enc p+1 can e ounded y poly(n, κ, d) for some fixed polynomial poly, and hence FE p+1 is succinct. Besides, for the iterated squaring composition to e viale, we must e careful aout the function classes supported in each iteration of the composition. Let F h e the class of functions supported y KeyGen h of the FE scheme FE h, for h 0. First we have F 1 = F 0. In the steps using PRODUCT construction on FE h 14

to derive FE h+1, a functional key fk = (fk 0, fk 1 ) for any function f consists of two keys under FE h : fk 0 is for a re-encryption function e (h) i [c, pk](, ), and fk 1 is for f. Hence for the composition to go through, FE h must e capale of generating functional keys for these two classes of functions, namely F h+1 {e (h) i [c, pk] c M, pk R} F h. Recall from Section 4 that RE FEh is the class containing e (h) i [c, pk] for all c M, pk R. Let RE p FE 0 = p h=1 RE FE h. By expanding the aove recursion, we see that to support function class F p+1 the FE scheme FE 0 must e capale of functional keys for the functions in F p+1 RE p FE 0 and the PRG G. Theorem 6. Let p e such that p = ω(log log κ) and p = O(log κ). Assume G is a secure PRG, and assume FE 0 is a succinct 1-key non-adaptive (or selective/adaptive) secure FE scheme for a class F of functions such that RE p FE 0 F and G F. Then FE p+1 defined y Equation 1 is a succinct collusion-resistant non-adaptive (or selective/adaptive, respectively) secure FE scheme for F. 5.2 Iterated Linear Composition A drawack of the iterated squaring composition is that the ase scheme FE 0 must e capale of generating functional keys for the re-encryption functions of all iteration steps. It is usually hard to check if this condition holds for a concrete FE scheme. We now present another composition method which requires only the ase scheme to e capale of functional keys for its own encryption function. The iterated linear composition is defined recursively y FE 1 = FE 0 + FE 0, and for h 1, FE h+1 = FE 1 FE h. (3) Under this composition, FE 1 supports 2 functional keys, and for h 1, FE h+1 has an index space I h+1 of size 2 h+1. For FE h to e secure with q functional keys for any polynomial q(κ), we can set h = p for p = ω(log κ) and p = O(κ). We analyze the security and performance of FE p in the following. Security: For any polynomial q(κ), the advantage of any efficient adversary A who makes at most q functional key queries over FE p is ounded y Adv FE p [A] qκ (ɛ 0 (κ) + µ(κ)). (4) To otain this upper ound, let ɛ h (κ, q ) e the security ound of FE h against any adversary who makes at most q I h functional key queries. We use induction on h to show that ɛ h (κ, q ) q h (ɛ 1 + µ). First note that ɛ 1 (κ) = 2ɛ 0 (κ) + 4µ(κ) is independent of q, so for any q I 1 = 2, ɛ 1 (κ, q ) q ɛ 1 (κ). Next, suppose our ound holds for h 1 and 2 q I h. Then for h + 1, it follows from Theorem 5 that ɛ h+1 (κ, q ) max ɛ h (κ, q i ) + 2ɛ 1 (κ) + 12µ q 1+q 2=q,q i I h max q 1+q 2=q,q i I h q (h + 1) (ɛ 1 + µ). Since p = O(κ), the upper ound in Equation 4 holds. Running times and output lengths : Setup: 2t Setup 0 + 2t G Enc : 2t Enc 0 (n + κ, κ, d) + 2t G Dec : pt Dec 0 κ t Dec 0 i (q i h (ɛ 1 + µ)) + 2ɛ 1 (κ) + 12µ i 15

KeyGen : pt KeyGen 0 + 2(p 1)t Setup 0 + (6p 5)t G κ t Setup 0 + κ t KeyGen 0 + κ t G l k p = 2l k 0 l c p = 2l c 0(n + κ, κ, d) l fk p = pl fk 0 κ lfk 0 The FE scheme FE p is also q-key secure for any polynomial q(κ), and this transformation too incurs linear (in terms of q) security loss. This time, the running time of the encryption procedure no longer depends on q, so FE p is fully succinct. Again, for this composition method to e viale, we should consider the functions can e handled at each iteration. Let F h denote the function class supported y FE h, for h 0. As in the squaring composition, we have F 1 = F 0. For h 1, to derive a functional key for any function f in FE h+1, the scheme FE 1 must generate functional keys for the re-encryption function e i [pk, c], and FE h must e capale of generating functional keys of f. This implies that F p {e i [pk, c] pk R, c M} F 0. Since e i [pk, c](, ) can e easily uilt using asic operations on Enc 1 (pk, ; ) and G( ), it is sufficient to require that FE 0 can generate functional keys for these two classes of functions. Theorem 7. Let p e such that p = ω(log κ) and p = O(κ). Assume G is a secure PRG, and assume FE 0 is a succinct 1-key non-adaptive (or selective/adaptive) secure FE scheme for the class F of functions such that Enc 0 (pk, ; ), G( ) F for any pk R. Then, the FE scheme FE p defined in Equation 3 is a succinct collusion-resistant non-adaptive (or selective/adaptive, respectively) secure FE scheme for F. Comparing with the iterated squaring composition to support q functional key queries, one can see that the security loss, the running times, and key lengths of Setup and KeyGen are aout the same, and the iterated linear composition gives etter encryption performance: Enc runs slightly faster. The trade-off is in the ciphertext length: our linear composition simply doules the ciphertext length of the underlying single-key FE scheme, while the iterated squaring composition produces a ciphertext that encrypts a slightly longer message in the single-key FE scheme. 5.3 On the implications of our reductions So far we have otained two transformations from a single-key succinct FE scheme to a succinct FE scheme that supports polynomially many functional key queries. In this susection we explore the implications of our reductions. A q-key secure FE scheme for F is called weakly collusion-succinct if t Enc grows su-linearly in q ut polynomially in n, κ, and the maximum circuit size of functions in F. If the su-linear dependence on q is removed, then the FE scheme is called collusion-succinct. For succinct FE 0, let us consider the following two cases aout the encryption time t Enc p+1 of FE p+1 otained y our transformations on FE 0 : 1. If FE p+1 is as in the iterated squaring composition, then for p = O(log κ) we have t Enc p+1 t Enc 0 (n + κ log κ, κ, d) + log κ t G (κ). Since t Enc p+1 is independent of q and t Enc 0 is polynomial in n,κ, and d, FE p+1 is collusion-succinct. 2. If FE p+1 is as in the iterated linear composition, then we have t Enc p+1 = 2t Enc 0 (n + κ, κ, d) + 2t G (κ), which is independent of q. So FE p+1 is also collusion-succinct. As we have mentioned in Remark 1, since the index space of FE p+1 as in our transformations has superpolynomial size, we can eliminate i from the interface of KeyGen to make it completely stateless. Such conversions incur only a negligile security loss, and they do not affect the security properties of FE p+1 in either transformation. 16