Abstract
Cryptographic combiners allow one to combine many candidates for a cryptographic primitive, possibly based on different computational assumptions, into another candidate with the guarantee that the resulting candidate is secure as long as at least one of the original candidates is secure. While the original motivation of cryptographic combiners was to reduce trust on existing candidates, in this work, we study a rather surprising implication of combiners to constructing secure multiparty computation protocols. Specifically, we initiate the study of functional encryption combiners and show its connection to secure multiparty computation.
Functional encryption (FE) has incredible applications towards computing on encrypted data. However, constructing the most general form of this primitive has remained elusive. Although some candidate constructions exist, they rely on nonstandard assumptions, and thus, their security has been questioned. An FE combiner attempts to make use of these candidates while minimizing the trust placed on any individual FE candidate. Informally, an FE combiner takes in a set of FE candidates and outputs a secure FE scheme if at least one of the candidates is secure.
Another fundamental area in cryptography is secure multi-party computation (MPC), which has been extensively studied for several decades. In this work, we initiate a formal study of the relationship between functional encryption (FE) combiners and secure multi-party computation (MPC). In particular, we show implications in both directions between these primitives. As a consequence of these implications, we obtain the following main results.
-
A two-round semi-honest MPC protocol in the plain model secure against up to \(n-1\) corruptions with communication complexity proportional only to the depth of the circuit being computed assuming learning with errors (LWE). Prior two round protocols based on standard assumptions that achieved this communication complexity required trust assumptions, namely, a common reference string.
-
A functional encryption combiner based on pseudorandom generators (PRGs) in \(\mathsf {NC}^1\). This is a weak assumption as such PRGs are implied by many concrete intractability problems commonly used in cryptography, such as ones related to factoring, discrete logarithm, and lattice problems [11]. Previous constructions of FE combiners, implicit in [7], were known only from LWE. Using this result, we build a universal construction of functional encryption: an explicit construction of functional encryption based only on the assumptions that functional encryption exists and PRGs in \(\mathsf {NC}^1\).
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
The foundations of several cryptographic primitives rely upon computational assumptions. The last few decades have seen the birth of many assumptions, such as factoring, quadratic residuosity, decisional Diffie-Hellman, learning with errors, and many more. Understanding the security of these assumptions is still very much an active research area. Despite years of research, very little is known in terms of how different cryptographic assumptions compare with each other. For instance, its not known whether decisional Diffie-Hellman is a weaker or a stronger assumption than learning with errors. This leads us to the following unsatisfactory scenario: suppose a cryptographic primitive (say, public key encryption) has many candidate constructions based on different assumptions, and we want to pick the most secure candidate. In this scenario, it is unclear which one we should pick.
Cryptographic Combiners. The notion of cryptographic combiners was introduced to resolve this dilemma. Given many candidates of a cryptographic primitive, possibly based on different assumptions, a cryptographic combiner churns these candidates into another candidate construction for the same primitive with the guarantee that the resulting construction is secure as long as at least one of the original candidates are secure. For instance, a combiner for public key encryption can be used to transform two candidates based on decisional Diffie-Hellman and learning with errors into a different public-key encryption candidate that is secure as long as either decisional Diffie-Hellman or learning with errors is secure.
While combiners were originally introduced to reduce trust on existing cryptographic constructions, in this work, we study a rather surprising implication from combiners to secure multi-party computation. Secure multi-party computation [19, 50, 79], one of the fundamental notions in cryptography, allows many parties, who don’t necessarily trust each other, to come together and compute a function on their private inputs. We consider the primitive of functional encryption and study the implications of functional encryption combiners to secure multi-party computation. But first, we recall the notion of functional encryption.
Functional Encryption. Functional encryption (FE), introduced by [28, 73, 78], is one of the core primitives in the area of computing on encrypted data. This notion allows an authority to generate and distribute constrained keys associated with functions \(f_1,\ldots ,f_q\), called functional keys, which can be used to learn the values \(f_1(x),\ldots ,f_q(x)\) given an encryption of x. Intuitively, the security notion states that the functional keys associated with \(f_1,\ldots ,f_q\) and an encryption of x reveal nothing beyond the values \(f_1(x),\ldots ,f_q(x)\). While this notion is interesting on its own, several works have studied its connections to other areas in cryptography and beyond, including reusable garbled circuits [51], indistinguishability obfuscation [8, 9, 23, 68, 69], adaptive garbling [57], verifiable random functions [14, 21, 54], deniable encryption [52], hardness o1f Nash equilibrium [45, 46], and many more.
Currently, we know how to construct only restricted versionsFootnote 1 of functional encryption from well studied cryptographic assumptions. However, constructing the most general form of functional encryption has been an active research area and has intensified over the past few years given its implication to indistinguishability obfuscation [8, 23]. In fact, if we are willing to tolerate a subexponential security loss, then even secret-key FE is enough to imply indistinguishability obfuscation [22, 62, 63]. All the candidates [10, 43, 65, 66, 70, 71] we know so far are either based on assumptions pertaining to the tool of graded encodings [29, 42], or on other new and relatively unstudied assumptions [1, 5, 67]. Recent cryptanalytic attacks [35, 36, 38, 39, 60] on assumptions related to graded encodings have prompted scrutiny of the security of schemes that use this tool as the building block. Given this, we should hope to minimize the trust we place on any individual FE candidate. The notion of a functional encryption combiner achieves this purpose. Roughly speaking, a functional encryption combiner allows for combining many functional encryption candidates in such a way that the resulting FE candidate is secure as long as any one of the initial FE candidates is secure. In other words, a functional encryption combiner says that it suffices to place trust collectively on multiple FE candidates, instead of placing trust on any specific FE candidate.
Our Work. We initiate a systematic study of functional encryption combiners. In particular, we study implications from FE combiners to secure multi-party computation (and vice versa), and by doing so, we achieve interesting consequences that were previously unknown. We detail our contributions next.
1.1 Our Contributions
Our results can be classified into two parts. The first part shows how to translate constructions of functional encryption combiners into secure MPC protocols. The second part studies the other direction.
From Combiners for Single-key FE to Secure MPC: Our first result shows how to construct a passively secure multi-party computation protocol that is both round-optimal (two rounds) and communication efficient (depends only on circuit depth). Recall that in a passively secure MPC protocol, corrupted parties follow the instructions of the protocol, but try to learn about honest party inputs from their combined view of the protocol execution. Moreover, our resulting protocol is in the plain model and can tolerate all but one corruptionFootnote 2. Prior round-optimal passively-secure MPC protocols were either communication inefficient, that is communication complexity was proportional to circuit size [20, 30, 47, 48], based on strong assumptions such as indistinguishability obfuscation [40] or were based on trust assumptions [32, 33, 37, 72, 74] (for instance, a common reference string). Independently of our work, [76] formulated the notion of laconic function evaluation, which is quite different from combiners for functional encryption. However, subsequent to our work, [76] showed that laconic function evaluation can also be used to build 2-round semi-honest MPC with communication that is sub-linear in the circuit size.
We prove the following theorem.
Theorem 1 (Informal)
Consider an n-party functionality f computable by a poly-sized circuit of depth d, for any \(n \ge 2\). Assuming LWE, there is a construction of a passively secure (semi-honest) n-party computation protocol for f in the plain model secure against \(n-1\) corruptions. The number of rounds in this protocol is 2, and the communication complexity is \(\mathsf {poly}(\lambda ,n,d,L_{in},L_{out})\), where \(L_{in}\) is the input length of this circuit computing f, \(L_{out}\) is its output length and \(\lambda \) is the security parameter.
We summarize the state of art in the Fig. 1.
Central to proving the above theorem is a transformation from a functional encryption combiner to passively secure MPC. We only require a combiner for functional encryption schemes where the adversary only receives one functional key. We require the functional encryption combiner to have some structural properties. Namely, the functional key for f associated with the combined candidate needs to be of the form \((f,sk_f^1,\ldots ,sk_f^n)\), where (i) decomposability: \(sk_f^i\) is produced by the \(i^{th}\) FE candidate and, (ii) succinctness: the length of \(sk_f^i\) is \(\mathsf {poly}(\lambda ,d,L_{out})\), where d is the depth of the circuit computing f and \(L_{out}\) is its output length. As part of the succinctness property, we also require that the encryption complexity is \(\mathsf {poly}(\lambda ,d,L_{in})\), where \(L_{in}\) is the length of the message to be encrypted. We show how to construct such an FE combiner assuming LWE.
An intermediate tool we use in this implication is a communication inefficient passively secure MPC protocol. By communication inefficient, we mean that the communication complexity is proportional to the size of the circuit representing f. We note that such protocols [20, 47, 48] exist in the literatureFootnote 3 based on just the assumption of round-optimal passively secure oblivious transfer.
Lemma 1 (Informal)
Consider a n-party functionality f, for any \(n \ge 2\). There is a passively secure n-party computation protocol for f in two rounds with communication complexity \(\mathsf {poly}(\lambda ,n,d,L_{in},L_{out})\) secure against \(n-1\) corruptions, where d is the depth of circuit computing f, \(L_{in}\) is the input length of the circuit and \(L_{out}\) is its output length. Moreover, we assume (i) a decomposable and succinct functional encryption combiner and (ii) a communication inefficient (as defined above) two-round secure n-party computation protocol secure against \(n-1\) corruptions.
By plugging in the recent round-optimal secure MPC protocols [20, 47, 48] that can be based on two-round oblivious transfer, which in turn can be based on learning with errors [75], and our new decomposable and succinct FE combiner from LWE, we get Theorem 1. We note that MPC with malicious security requires at least 4 rounds [4, 15, 32, 44, 55], and thus, we do not consider MPC with malicious security in this work.
From Secure MPC to Combiners for Unbounded-Key FE: In the other direction, we show how to transform existing secure multi-party computation protocols into constructions of functional encryption combiners. However, we note that the FE combiners we construct from MPC here do not satisfy decomposability or succinctness. In particular, we show how to transform specific constant round passively secure MPC protocols based on low degree randomized encodings [17] into functional encryption combiners. By instantiating low degree randomized encodings from pseudorandom generators in \(\mathsf {NC}^1\), we get the following result.
Theorem 2 (Informal)
Assuming pseudorandom generators in \(\mathsf {NC}^1\), there is a construction of a combiner for unbounded-key functional encryption.
By unbounded-key functional encryption, we mean that there is no a priori bound on the number of functional keys the adversary can request in the security experiment. We note that such pseudorandom generators in \(\mathsf {NC}^1\) are implied by most concrete intractability assumptions commonly used in cryptography, such as ones related to factoring, discrete logarithm, and lattice problems [11]. Furthermore, such PRGs are also implied by the existence of one-way permutations in \(\mathsf {NC}^1\) or one-way functions in \(\mathsf {NC}^1\) with efficiently computable entropy [11].
Next, we present a generic reduction that can transform two-round passively secure MPC protocols into functional encryption combiners. For this transformation to hold, the MPC protocol must satisfy two properties: (i) delayed function-dependence: the first round of the MPC protocol should be independent of the functionality being securely computed and (ii) reusability: the first round can be reused by the parties to securely compute many functionalities (but on the same inputs fixed by the first round).
Theorem 3 (Informal)
Assuming a delayed function-dependent and reusable round-optimal secure MPC protocol, there is a construction of an unbounded-key decomposable functional encryption combiner.
We then observe that existing two-round secure MPC protocols [33, 72, 74], based on learning with errors, already satisfy delayed function-dependence and reusability. We note that it is not necessary for the round-optimal protocols to be in the plain model (indeed, the protocols [33, 72, 74] are in the common reference string (CRS) model).
Prior to this work, the only polynomial hardness assumption known to imply an FE combiner was the learning with errors assumption [7]Footnote 4. While Theorem 2 already gives a construction of a functional encryption combiner from learning with errors (pseudorandom generators in \(\mathsf {NC}^1\) can be based on learning with errors [16]), the functional encryption combiner constructed in Theorem 3 arguably provides a more efficient transformation. In particular, the efficiency of the functional keys in the combined scheme from Theorem 3 is linear in the efficiency of the functional keys in the FE candidates. However, the efficiency in the combined scheme from Theorem 2 degrades polynomially in the efficiency of the original FE candidates. Furthermore, the FE combiner from Theorem 3 is decomposable, a property needed by an FE combiner as a building block in the proof of Theorem 1. On the other hand, the FE combiner from Theorem 2 is inherently not decomposable, since it is based on an “onion-layered” approach – this means that the keys generated with respect to one FE candidate make oracle calls to other FE candidates (see [56] for a related discussion on black-box combiners). Furthermore, the FE combiner from Theorem 3 makes only black-box use of the underlying FE candidates, whereas the FE combiner from Theorem 2 is inherently non-black-box.
In terms of techniques, we introduce mechanisms to emulate a MPC protocol using functional encryption candidates. This is remiscient of “MPC-in-the-head” paradigm introduced by Ishai et al. [61] and more relevant to the context of FE is the work of Gorbunov et al. [53] who used information-theoretic MPC protocols to construct single-key FE. However, we encounter new challenges to implement the “MPC-in-the-head” paradigm in our context.
Universal Functional Encryption: We strengthen our constructions of FE combiners by showing how to transform them into combiners that also work when the insecure candidates don’t necessarily satisfy correctness (of course, we still require that the secure candidate is correct). Such combiners are called robust combiners. To do this, we present correctness amplification theorems based on previous works on indistinguishability obfuscation [7, 24] and, in particular, our correctness amplification assumes only one-way functions (unlike [24, 25]). Robust combiners have been useful in universal constructions [6, 7]. Roughly speaking, a universal construction of FE is a concrete construction of FE that is secure as long as any secure and correct construction exists. We show how to build universal functional encryption from robust FE combiners.
Theorem 4 (Universal Functional Encryption)
Assuming pseudorandom generators in \(\mathsf {NC}^1\), there is a universal unbounded-key functional encryption scheme.
Our construction will be parameterized by T, where T is an upper bound on the running time of all the algorithms associated with the secure candidate. This was a feature even in the universal iO construction of [6].
Related Work: The notion of combiners has been studied in the context of many cryptographic primitives. Asmuth and Blakely [13] studied combiners for encryption schemes. Levin proposed a universal construction of one-way functions [64]. Later, a systematic study of combiners and their relation to universal constructions was proposed by Harnik et al. [56] (also relevant are the constructions in [58, 59]). Recently, Ananth et al. [6] designed universal constructions of indistinguishability obfuscation (iO). Concurrently, Fischlin et al. also proposed combiners in the context of program obfuscation [41]. Ananth et al. [7] then proposed the concept of transforming combiners that transforms many candidates of a primitive X, with at least one of them being secure and, into a secure candidate of primitive Y. In particular, they construct iO-to-functional encryption transforming combiners.
As mentioned previously, independently of our work, [76] formulated the notion of laconic function evaluation, and, subsequent to our work, showed that laconic function evaluation can also be used to build 2-round semi-honest MPC with communication that is sub-linear in the circuit size. [76]’s protocol consists of pre-processing, online, and post-processing phases. Additionally, they note that the computation complexity of the online phase is also independent of the size of the function being computed. After seeing their work, we observe that our protocol also satisfies this property. In particular, in the construction in Sect. 5, steps 1–3 in round 1 can be made the preprocessing phase. The resulting protocol will now have online computation complexity independent of the size of the function being computed.
1.2 Technical Overview
We begin by tackling the problem of constructing secure multi-party computation with depth-proportional communication complexity, i.e, proportional only to the depth of the circuit being securely computed, starting from a functional encryption combiner.
Round-Optimal MPC with Depth-Proportional Communication: Let’s start by recalling prior known two-round secure MPC protocols [33, 72, 74] with depth-proportional communication in the CRS model. The basic template is as follows: in the first round, the \(i^{th}\) party broadcasts an encryption of its input \(x_i\). These ciphertexts are computed with respect to public keys that are derived from the CRS. All the n parties then homomorphically compute on the encryptions of \((x_1,\ldots ,x_n)\) to obtain a ciphertext of \(f(x_1,\ldots ,x_n)\), where f is the function they wish to securely compute. The resulting ciphertext is then partially decrypted, and every party broadcasts its partially decrypted value in the second round. These values can be combined to recover the output of the functionality.
One could imagine getting rid of the CRS in the above protocol using the recent round-optimal MPC protocols in the plain model [20, 47]. If this were possible, then it would yield a round-optimal MPC in the plain model that has depth-proportional communication complexity. However, the issue is that the messages in the first round of [33, 72, 74] are computed as functions of the CRS and thus, such an approach would inherently require three rounds.
To overcome this, we introduce a mechanism to parallelize the evaluation and the encryption processes. The output of the evaluation in our approach is the output of the functionality and not a partially decrypted value, as was the case in [33, 72, 74], and thus, we save one round. To implement this high level idea, we use a functional encryption combiner. Before we describe the high level template, we require that the underlying functional encryption combiner satisfies the decomposability property: Suppose we have FE candidates \(\mathsf {FE}_1,\ldots ,\mathsf {FE}_n\). Then, a functional key for a circuit C in the combined scheme is just a concatenation of the functional keys for C, \((sk_1^C,\ldots ,sk_n^C)\), where \(sk_i^C\) is computed with respect to the \(i^{th}\) FE candidate.
The template of our depth-proportional communication secure MPC construction from an FE combiner satisfying this decomposability property is in Fig. 2. As an intermediate tool, we use a size-proportional communication secure MPC protocol (henceforth, also referred to as a communication inefficient protocol). By this, we mean that the communication complexity of the secure MPC protocol grows polynomially with the size of the circuit being securely computed.
At the end of second round, every party has an encryption of \((x_1,\ldots ,x_n)\) with respect to the combined candidate and functional keys for f with respect to every candidate. From the decomposability property, this is equivalent to generating a functional key for f with respect to the combined candidate. Each party can separately execute the FE combiner decryption algorithm to obtain \(f(x_1,\ldots ,x_n)\), as desired. Here, we crucially rely on the fact that all the FE candidates are correct. This completes the high level description of the template.
In the first bullet in Fig. 2, we instantiate the secure MPC protocol with size-proportional communication with [20, 47, 48]. The works of [20, 47, 48] are two-round protocols in the plain model and by suitably instantiating the FE combiners (described later), our approach yields a two-round MPC protocol with depth-proportional communication.
To argue security of our MPC protocol, the idea is to start with the assumption of a secure FE scheme and instantiate all the candidates using the same FE scheme. If the adversary corrupts all but the \(j^{th}\) party, this means that he can obtain all the master secret keys of the FE scheme except the \(j^{th}\) one. This is effectively the same as all except the \(j^{th}\) candidate being broken. At this point, we can use the security of the \(j^{th}\) FE scheme to argue the security of the MPC protocol. This shows that the above template yields a secure two-round MPC protocol assuming a secure FE scheme.
Note that we also assume a two-round (communication-inefficient) MPC protocol. Without showing that our protocol has depth-proportional communication, the above protocol doesn’t achieve anything new. Indeed, it is unclear why our protocol should have depth-proportional communication. There are two sources of concern: (i) we are still using a communication inefficient MPC protocol and, (ii) the functional key of f could be proportional to the size of the circuit computing f. Suppose we had a secure (magical) FE scheme satisfying the following two properties: (1) the encryption complexity of this FE scheme is proportional only to the depth of f, and (2) the functional key of f is of the form \((f,\mathsf {aux})\), where \(|\mathsf {aux}|\) only depends on the depth of the circuit computing f. We claim that this would immediately show that our protocol has communication complexity proportional only to the depth. Concern (i) is addressed by the fact the communication-inefficient MPC protocol is used only to evaluate the encryption circuit of the underlying FE scheme. Since the underlying FE scheme is succinct, the size of the encryption circuit only depends on the depth of the functionality f. Therefore, the communication complexity of the communication-inefficient MPC protocol does not affect our construction. Concern (ii) is handled by the fact that the parties only have to send the “\(\mathsf {aux}\)” part of the function keys to the other parties, which is only proportional to the depth of f.
We next observe that the functional encryption scheme of Goldwasser et al. [51] can be used to satisfy both properties (1) and (2). We recall the functional encryption construction of Goldwasser et al.: the building blocks in this construction are attribute based encryption (ABE) for circuits, fully homomorphic encryption (FHE), and garbling schemes.
-
To encrypt a message x, first encrypt x using a (leveled) FHE scheme. Suppose the maximum output length of the functions for which we generate functional keys is \(L_{out}\). Generate \(\mathsf {poly}(L_{out})\) ABE encryptions of the FHE ciphertext, for some fixed polynomial \(\mathsf {poly}\), along with wire keys of a garbled circuit. The garbled circuit is associated with the FHE decryption circuit.
-
A functional key of f consists of \(\mathsf {poly}(L_{out})\) ABE keys associated with the circuit that computes the FHE evaluation of f.
If we instantiate the ABE scheme with the scheme of Boneh et al. [27] and the leveled FHE scheme with any of the schemes proposed in [31, 49], we achieve both properties (1) and (2) described above. The schemes of [27] and [31, 49] have encryption complexity proportional only to the depth of the circuit. In terms of the structure of the functional key, we note that the ABE scheme of [27] satisfies this nice property: you can express the ABE key of a function f as \((f,\mathsf {aux})\), where \(|\mathsf {aux}|\) is a polynomial in depth and \(L_{out}\). This can be used to argue that the above FE scheme satisfies property (2).
Thus starting from an FE combiner, we have constructed a communication-efficient two-round MPC. We note that the FE combiner is required to satisfy simulation security in order to prove that the resulting MPC is simulation secure. The security proof of the resulting MPC directly follows from the simulation security of the FE combiner and the simulation security of the underlying communication inefficient MPC.
Next, we show how to construct such an FE combiner.
Constructing the FE Combiner: As in the works of [6, 7], we view the FE candidates as analogous to parties in a secure MPC protocol. Suppose we want to construct an FE combiner for n candidates. We start with a two-round (semi-honest) secure n-party MPC protocol in the plain model. To encrypt a message x, first additively secret share x into shares \((x_1,\ldots ,x_n)\). Compute the first round messages of all the parties, where the \(i^{th}\) party’s input is \(x_i\). Finally, for every \(i \in [n]\), encrypt the first round messages of all the parties along with the local state of the \(i^{th}\) party using \(i^{th}\) FE candidate. All the n encryptions will form the ciphertext corresponding to the FE combiner scheme.
To generate a functional key for f, we generate n functional keys with each key associated with an FE candidate. The \(i^{th}\) functional key computes the next message function of the \(i^{th}\) party. In this context, we define the next message function to be a deterministic algorithm that takes as input the state of the party along with the messages received so far and produces the next message. Moreover, the MPC functionality associated with the next message function is as follows: it takes as input n shares of x, reconstructs x, and computes f(x). The functional key of f corresponding to the FE combiner is the collection of all these n functional keys.
The decryption in the FE combiner scheme proceeds by recovering the first and second round messages of all the parties. The reconstruction algorithm of the secure MPC protocol is then executed to recover the output of the functionality. An issue here is that the reconstruction part need not be publicly computable. Meaning that it might not be possible to recover the output of the functionality from the transcript of the protocol alone. This can be resolved by revealing the local state of one of the parties to the FE evaluator who can then use this to recover the output. We implement this by considering an \((n+1)\)-party MPC protocol with the FE evaluator corresponding to one of the parties in the MPC protocol.
Without restricting ourselves to a specific type of two-round secure MPC protocols, the above template could be ill defined for two reasons:
-
Function-Dependence: The first round messages of the MPC protocol we start off with could depend on the functionality being securely computed. This means that the FE encryptor needs to be aware of the function f when it is encrypting the message x. Hence, we need to enforce a delayed function-dependence property on the underlying MPC protocol. Roughly, this property states that the first round messages of the MPC protocol are independent of the functionality being securely computed.
-
Reusability: Suppose we wish to construct a collusion-resistant FE combiner, meaning that the FE combiner is secure even if the adversary obtains multiple functional keys during the security experiment. Even if one of the candidates is secure in the collusion-resistant setting, the above template doesn’t necessarily yield a collusion-resistant FE combiner. This is because the first round MPC messages are “reused” across different FE evaluations. The security of MPC, as is, doesn’t necessarily guarantee any security if the first round messages are reused for secure computation of multiple functionalities. Hence, we need to enforce a corresponding reusability property on the underlying MPC protocol to make it work in the collusion resistant setting.
Once we start with a delayed function-dependent and reusable secure MPC protocol, we can implement an FE combiner using the above template. We observe that the schemes of [33, 72, 74] are both delayed function-dependent and reusable. As a corollary, we obtain an FE combiner based on learning with errors.
We note that this would give an FE combiner that satisfies indistinguishability security. This is inherent since collusion-resistant FE that is also simulation secure was shown to be impossible [2]. Thus, for our application of communication efficient MPC, we construct a simulation secure FE combiner in the single-key setting (i.e., the adversary can only submit one function query) starting from a threshold fully homomorphic encryption scheme.
FE Combiner from Weaker Assumptions: The above constructions and previous constructions of FE combiners [7] relied on the learning with errors assumption. However, it would be interesting to try to construct an FE combiner from weaker assumptions. Our first observation is that there is a simple construction of an FE combiner for two FE candidates. In this case, one can simply “nest” the two candidates. That is, if the candidates are denoted \(\mathsf {FE}_1\) and \(\mathsf {FE}_2\), we encrypt a message x by first encrypting x under \(\mathsf {FE}_1\) and then encrypting the resulting ciphertext under \(\mathsf {FE}_2\). To construct a function key for f, we first construct the function key \(\mathsf {SK}_1\) for f using \(\mathsf {FE}_1\) and then construct the function key \(\mathsf {SK}_2\) for the decryption circuit of \(\mathsf {FE}_1\), with \(\mathsf {SK}_1\) hardcoded as the function key, using \(\mathsf {FE}_2\). \(\mathsf {SK}_2\) is then the function key for f in the nested scheme. In fact, this nested approach works to combine any constant d number of candidates. However, this approach does not scale polynomially in the number of candidates, and therefore, does not give us an FE combiner for a polynomial number of candidates.
Using the above observation, we note that we can evaluate circuits over a constant number of inputs. In particular, we can evaluate constant-sized products. If we could compute the sum of various constant-sized products, then we could compute constant-degree polynomials, which would allow us to apply known bootstrapping techniques to go from FE for constant degree polynomials to FE for arbitrary functions via randomized encodings. Such randomized encodings can be constructed assuming a PRG in \(\mathsf {NC}^1\) [11]. But how do we go about computing the sums of constant degree polynomials? To reason about this, we will view this as an MPC problem, where each FE candidate is associated with a party. Given an input x, we bitwise secret share x amongst all the parties. This effectively gives us an MPC problem where each party/candidate has a secret input (their share of x). For simplicity, let’s consider the case where each candidate is given a single bit (the ith candidate is given the bit \(x_i\)). As an example, suppose we wished to evaluate the polynomial
Using the simple nested combiner for two candidates, we could evaluate each monomial and then sum the resulting monomial evaluations to compute the polynomial. However, this approach is flawed, since it will leak the values of each of the monomials, whereas functional encryption requires only the value of the polynomial to be computable and nothing else. We resolve this issue by masking each of the monomial evaluations by secret shares of 0 such that summing all these values gives the correct polynomial evaluation, but the individual computed monomial evaluations hide the true values of the monomials. To illustrate this, for the above polynomial, candidate 1 has its secret input in 3 monomials \(x_1^2, x_1x_2\), and \(x_1x_3\). We secret share 0 across 3 shares. Let \(\mathsf {Share}_{1,1}, \mathsf {Share}_{1,2}, \mathsf {Share}_{1,3}\) denote these values, where
Similarly, candidates 2 and 3 have their secret inputs in 2 monomials: \(x_1x_2, x_2x_3\) for candidate 2 and \(x_1x_3, x_2x_3\) for candidate 3. We secret share 0 across 2 shares for each of these candidates. These shares are denoted \(\mathsf {Share}_{2,1}, \mathsf {Share}_{2,2}\) for candidate 2 and \(\mathsf {Share}_{3,1}, \mathsf {Share}_{3,2}\) for candidate 3. We then place a total ordering on the monomials of the polynomial in order to assign the shares to the monomials. Suppose our ordering was
Then, we would see that \(x_1^2\) was the first monomial containing \(x_1\) and assign \(\mathsf {Share}_{1,1}\) to this monomial. For \(x_1x_2\), we see that it is the second monomial containing \(x_1\) and the first monomial containing \(x_2\). Therefore, we assign the shares \(\mathsf {Share}_{1,2}\) and \(\mathsf {Share}_{2,1}\) to the monomial \(x_1x_2\). In a similar manner, we assign the shares \(\mathsf {Share}_{1,3}, \mathsf {Share}_{3,1}\) to \(x_1x_3\) and the shares \(\mathsf {Share}_{2,2}, \mathsf {Share}_{3,2}\) to \(x_2x_3\). When generating the function key to evaluate the monomial \(x_1^2\), we actually give out a function key that evaluates \(x_1^2 + \mathsf {Share}_{1,1}\). Similarly, when generating a function key to evaluate the monomial \(x_1x_2\), we actually give out a function key that evaluates \(x_1x_2 + \mathsf {Share}_{1,2} + \mathsf {Share}_{2,1}\).
By proceeding in this manner, we have made it so that each monomial evaluation hides the actual monomial value, but the sum of the monomial evaluations gives the polynomial value. However, this approach still raises several concerns: (i) how can we ensure that our secret sharing procedure hides intermediate sums of monomials, and (ii) how can we coordinate the randomness needed to generate the secret shares amongst the various monomials. To illustrate the first issue, suppose that the polynomial to evaluate was \(x_1 + x_2\). In this instance, we would not add any secret shares, which would reveal \(x_1\) and \(x_2\). Fortunately, the first issue is not an issue at all, since such problematic polynomials will not occur. This is because we begin by secret sharing the bits of the input x amongst the candidates. Therefore, every monomial will be broken into the sum of new monomials, such that each candidate contains a private bit in one of these new monomials. Since one of the candidates is secure, the secret sharing amongst the monomials with bits corresponding to the secure candidate ensures that nothing except the actual polynomial evaluation can be learned. To solve issue (ii), we utilize a PRF and generate a random PRF key for each candidate. This PRF key is then used to generate the secret shares of 0 associated with that candidate.
Organization: We begin by defining the notion of functional encryption and secure multi-party computation in Sect. 2. In Sect. 3, we define the notion of a functional encryption combiner. In Sect. 4, we show how to build a decomposable FE combiner that will be used as a building block in the construction of our round-optimal and communication efficient MPC protocol and how to instantiate it from [51]. In Sect. 5, we give the construction of our round-optimal and communication efficient MPC protocol. In Sect. 6, we show how to build an FE combiner assuming the existence of a PRG in \(\mathsf {NC}^1\). In Sect. 7, we demonstrate how to convert a delayed function-dependent and reusable round-optimal secure MPC protocol into an FE combiner. Finally, in Sect. 8, we show how to convert an FE combiner into a robust FE combiner and build a universal functional encryption scheme.
2 Preliminaries
We denote the security parameter by \(\lambda \). For an integer \(n \in \mathbb {N}\), we use [n] to denote the set \(\{1,2, \ldots , n\}\). We use \(\mathcal {D}_0 \cong _c \mathcal {D}_1\) to denote that two distributions \(\mathcal {D}_0, \mathcal {D}_1\) are computationally indistinguishable. We use \(\mathsf {negl}(\lambda )\) to denote a function that is negligible in \(\lambda \). We use \(x \leftarrow \mathcal {A}\) to denote that x is the output of a randomized algorithm \(\mathcal {A}\), where the randomness of \(\mathcal {A}\) is sampled from the uniform distribution.
2.1 Functional Encryption
We define the notion of a (secret key) functional encryption candidate and a (secret key) functional encryption scheme. A functional encryption candidate is associated with the correctness requirement, while a secure functional encryption scheme is associated with both correctness and security.
Syntax of a Functional Encryption Candidate/Scheme. A functional encryption (FE) candidate/scheme \(\mathsf {FE}\) for a class of circuits \(\mathcal {C}=\{\mathcal {C}_{\lambda }\}_{\lambda \in \mathbb {N}}\) consists of four polynomial time algorithms \((\mathsf {Setup},\mathsf {Enc},\mathsf {KeyGen},\mathsf {Dec})\) defined as follows. Let \(\mathcal {X}_{\lambda }\) be the input space of the circuit class \(\mathcal {C}_\lambda \) and let \(\mathcal {Y}_{\lambda }\) be the output space of \(\mathcal {C}_\lambda \). We refer to \(\mathcal {X}_\lambda \) and \(\mathcal {Y}_\lambda \) as the input and output space of the candidate/scheme, respectively.
-
Setup, \(\mathsf {MSK}\leftarrow {\mathsf {FE}.\mathsf {Setup}}(1^{\lambda })\): It takes as input the security parameter \(\lambda \) and outputs the master secret key \(\mathsf {MSK}\).
-
Encryption, \(\mathsf {CT}\leftarrow {\mathsf {FE}.\mathsf {Enc}}(\mathsf {MSK},m)\): It takes as input the master secret key \(\mathsf {MSK}\) and a message \(m\in \mathcal {X}_{\lambda }\) and outputs \(\mathsf {CT}\), an encryption of m.
-
Key Generation, \(\mathsf {SK}_{C} \leftarrow {\mathsf {FE}.\mathsf {KeyGen}}\left( \mathsf {MSK}, C\right) \): It takes as input the master secret key \(\mathsf {MSK}\) and a circuit \(C\in \mathcal {C}_{\lambda }\) and outputs a function key \(\mathsf {SK}_{C}\).
-
Decryption, \(y \leftarrow {\mathsf {FE}.\mathsf {Dec}}\left( \mathsf {SK}_C, \mathsf {CT}\right) \): It takes as input a function secret key \(\mathsf {SK}_C\), a ciphertext \(\mathsf {CT}\) and outputs a value \(y\in \mathcal {Y}_{\lambda }\).
Throughout this work, we will only be concerned with uniform algorithms. That is, \((\mathsf {Setup},\mathsf {Enc},\mathsf {KeyGen},\mathsf {Dec})\) can be represented as Turing machines (or equivalently uniform circuits).
We describe the properties associated with the above candidate.
Approximate Correctness
Definition 1 (Approximate Correctness)
A functional encryption candidate \(\mathsf {FE}=(\mathsf {Setup},\mathsf {KeyGen},\mathsf {Enc},\mathsf {Dec})\) is said to be \(\alpha \)-correct if it satisfies the following property: for every \(C:\mathcal {X}_{\lambda } \rightarrow \mathcal {Y}_\lambda \in \mathcal {C}_{\lambda }, m \in \mathcal {X}_{\lambda }\) it holds that:
where the probability is taken over the coins of the algorithms.
We refer to FE candidates that satisfy the above definition of correctness with \(\alpha = 1 - \mathsf {negl}(\lambda )\) for a negligible function \(\mathsf {negl}(\cdot )\) as (almost) correct candidates.
Except for Sect. 8, we will only deal with correct candidates. Unless explicitly stated otherwise, all FE candidates throughout this paper satisfy (almost) correctness.
IND-Security. We recall indistinguishability-based selective security for FE. This security notion is modeled as a game between a challenger \(\mathcal {C}\) and an adversary \(\mathcal {A}\) where the adversary can request functional keys and ciphertexts from \(\mathcal {C}\). Specifically, \(\mathcal {A}\) can submit function queries C and \(\mathcal {C}\) responds with the corresponding functional keys. \(\mathcal {A}\) can also submit message queries of the form \((x_0, x_1)\) and receives an encryption of messages \(x_b\) for some bit \(b \in \{0,1\}\). The adversary \(\mathcal {A}\) wins the game if she can guess b with probability significantly more than 1/2 and if for all function queries C and message queries \((x_0, x_1)\), \(C(x_0) = C(x_1)\). That is to say, any function evaluation that is computable by \(\mathcal {A}\) gives the same value regardless of b. It is required that the adversary must declare the challenge messages at the beginning of the game.
Definition 2 (IND-secure FE)
A secret-key FE scheme \(\mathsf {FE}\) for a class of circuits \(\mathcal {C}=\{\mathcal {C}_{\lambda }\}_{\lambda \in [\mathbb {N}]}\) and message space \(\mathcal {X}=\{\mathcal {X}_{\lambda }\}_{\lambda \in [\mathbb {N}]}\) is selectively secure if for any PPT adversary \(\mathcal {A}\), there exists a negligible function \(\mu (\cdot )\) such that for all sufficiently large \(\lambda \in \mathbb {N}\), the advantage of \(\mathcal {A}\) is
where for each \(b \in \{0,1\}\) and \(\lambda \in \mathbb {N}\), the experiment \(\mathsf {Expt}_{\mathcal {A}}^{\mathsf {FE}}(1^{\lambda },b)\) is defined below:
-
1.
Challenge message queries: \(\mathcal {A}\) submits message queries,
$$ \Big \{(x_0^i, x_1^i)\Big \} $$with \(x_{0}^i, x_{1}^i \in \mathcal {X}_{\lambda }\) to the challenger \(\mathcal {C}\).
-
2.
\(\mathcal {C}\) computes \(\mathsf {MSK}\leftarrow \mathsf {FE}.\mathsf {Setup}(1^{\lambda })\) and then computes \(\mathsf {CT}_i \leftarrow \mathsf {FE}.\mathsf {Enc}(\mathsf {MSK},x_{b}^{i})\) for all i. The challenger \(\mathcal {C}\) then sends \(\{\mathsf {CT}_i\}\) to the adversary \(\mathcal {A}\).
-
3.
Function queries: The following is repeated an at most polynomial number of times: \(\mathcal {A}\) submits a function query \(C\in \mathcal {C}_{\lambda }\) to \(\mathcal {C}\). The challenger \(\mathcal {C}\) computes \(\mathsf {SK}_{C}\leftarrow \mathsf {FE}.\mathsf {KeyGen}({\mathsf {MSK}},C)\) and sends it to \(\mathcal {A}\).
-
4.
If there exists a function query C and challenge message queries \((x_0^i, x_1^i)\) such that \(C(x_{0}^{i}) \ne C(x_1^i)\), then the output of the experiment is set to \(\bot \). Otherwise, the output of the experiment is set to \(b'\), where \(b'\) is the output of \(\mathcal {A}\).
Adaptive Security. The above security notion is referred to as selective security in the literature. One can consider a stronger notion of security, called adaptive security, where the adversary can interleave the challenge messages and the function queries in any arbitrary order. Analogous to Definition 2, we can define an adaptively secure FE scheme. In this paper, we only deal with selectively secure FE schemes. However, the security of these schemes can be upgraded to adaptive with no additional cost [3].
Simulation Security. We can also consider a different notion of security, called (single-key) simulation security.
Definition 3
(SIM-Security). Let \(\mathsf {FE}\) denote a functional encryption scheme for a circuit class \(\mathcal {C}\). For every PPT adversary \(\mathsf {A=(A_{1},A_{2})}\) and a PPT simulator \(\mathsf {Sim}\), consider the following two experiments:
The scheme is said to be (single-key) SIM-secure if there exists a PPT simulator \(\mathsf {Sim}\) such that for all PPT adversaries \(\mathsf {(A_{1}, A_{2})}\), the outcomes of the two experiments are computationally indistinguishable:
Collusions. We can parameterize the FE candidate by the number of function secret key queries that the adversary can make in the security experiment. If the adversary can only submit an a priori upper bounded q secret key queries, we say that the scheme is q-key or q-collusion secure. We say that the functional encryption scheme unbounded-key or unbounded-collusion secure if the adversary can make an unbounded (polynomial) number of function secret key queries. In this work, unless otherwise stated, we will allow the adversary to make an arbitrary polynomial number of function secret key queries.
Succinctness
Definition 4 (Succinctness)
A functional encryption candidate \(\mathsf {FE}= (\mathsf {Setup}, \mathsf {Enc}, \mathsf {KeyGen}, \mathsf {Dec})\) for a circuit class \(\mathcal {C}\) containing circuits that take inputs of length \(\ell _\mathsf {in}\), outputs strings of length \(\ell _\mathsf {out}\) bits and are of depth at most d is said to be succinct if the following holds: For any circuit \(C \in \mathcal {C}\),
-
Let \(\mathsf {MSK}\leftarrow {\mathsf {FE}.\mathsf {Setup}}(1^{\lambda })\). The size of the circuit \(\mathsf {FE}.\mathsf {Enc}(\mathsf {MSK},\cdot ) < \mathsf {poly}(\lambda , d, \ell _\mathsf {in}, \ell _\mathsf {out})\) for some polynomial \(\mathsf {poly}\).
-
The function key \(\mathsf {SK}_C \leftarrow {\mathsf {FE}.\mathsf {KeyGen}}(\mathsf {MSK}, C )\) is of the form \((C, \mathsf {aux})\) where \(|\mathsf {aux}| \le \mathsf {poly}(\lambda ,d, \ell _\mathsf {out})\) for some polynomial \(\mathsf {poly}\).
In general, an FE candidate/scheme need not satisfy succinctness. However, we will need to utilize succinct FE candidates when constructing depth-proportional communication MPC (Sects. 4 and 5). In such cases, we will explicitly state that the FE candidates are succinct.
FE Candidates vs. FE Schemes. As defined above, an FE scheme must satisfy both correctness and security, while an FE candidate is simply the set of algorithms. Unless otherwise specified, we will be dealing with FE candidates that satisfy correctness. We will only refer to FE constructions as FE schemes if it is known that the construction satisfies both correctness and security.
2.2 Secure Multi-party Computation
The syntax and security definitions for secure multi-party computation can be found in the full version. Since we are dealing throughout this paper with the efficiency of MPC protocols, we give the definition of a succinct MPC protocol below.
Definition 5 (Succinct MPC protocol)
Consider an \(n\)-party semi-honest secure MPC protocol \(\varPi \) for a functionality f, represented by a polynomial-sized circuit C. We define the communication complexity of \(\varPi \) to be the total length of all the messages exchanged in the protocol.
We define \(\varPi \) to be succinct if the communication complexity of \(\varPi \) is \(\mathsf {poly}(\lambda ,d,n)\), where \(\lambda \) is the security parameter and d is the depth of the circuit C.
2.3 Additional Preliminaries
In this work, we will also make occasional use of threshold leveled fully homomorphic encryption [12, 26, 72] and garbling schemes [18, 79]. Formal definitions of these primitives can be found in the full version.
3 FE Combiners: Definition
In this section, we give a formal definition of an FE combiner. Intuitively, an FE combiner \(\mathsf {FEComb}\) takes n FE candidates, \(\mathsf {FE}_1, \ldots , \mathsf {FE}_n\) and compiles them into a new FE candidate with the property that \(\mathsf {FEComb}\) is a secure FE scheme provided that at least one of the n FE candidates is a secure FE scheme.
Syntax of a Functional Encryption Combiner. A functional encryption combiner \(\mathsf {FEComb}\) for a class of circuits \(\mathcal {C}=\{\mathcal {C}_{\lambda }\}_{\lambda \in \mathbb {N}}\) consists of four polynomial time algorithms \((\mathsf {Setup},\mathsf {Enc},\mathsf {KeyGen},\mathsf {Dec})\) defined as follows. Let \(\mathcal {X}_{\lambda }\) be the input space of the circuit class \(\mathcal {C}_\lambda \) and let \(\mathcal {Y}_{\lambda }\) be the output space of \(\mathcal {C}_\lambda \). We refer to \(\mathcal {X}_\lambda \) and \(\mathcal {Y}_\lambda \) as the input and output space of the combiner, respectively. Furthermore, let \(\mathsf {FE}_1, \ldots , \mathsf {FE}_n\) denote the descriptions of n FE candidates.
-
Setup, \( \mathsf {FEComb}.\mathsf {Setup}(1^{\lambda }, \{\mathsf {FE}_i\}_{i \in [n]})\): It takes as input the security parameter \(\lambda \) and the descriptions of n FE candidates \(\{\mathsf {FE}_i\}_{i \in [n]}\) and outputs the master secret key \(\mathsf {MSK}\).
-
Encryption, \(\mathsf {FEComb}.\mathsf {Enc}(\mathsf {MSK}, \{\mathsf {FE}_i\}_{i \in [n]}, m)\): It takes as input the master secret key \(\mathsf {MSK}\), the descriptions of n FE candidates \(\{\mathsf {FE}_i\}_{i \in [n]}\), and a message \(m\in \mathcal {X}_{\lambda }\) and outputs \(\mathsf {CT}\), an encryption of m.
-
Key Generation, \( \mathsf {FEComb}.\mathsf {Keygen}\left( \mathsf {MSK}, \{\mathsf {FE}_i\}_{i \in [n]}, C\right) \): It takes as input the master secret key \(\mathsf {MSK}\), the descriptions of n FE candidates \(\{\mathsf {FE}_i\}_{i \in [n]}\), and a circuit \(C\in \mathcal {C}_{\lambda }\) and outputs a function key \(\mathsf {SK}_{C}\).
-
Decryption, \(\mathsf {FEComb}.\mathsf {Dec}\left( \{\mathsf {FE}_i\}_{i \in [n]}, \mathsf {SK}_C, \mathsf {CT}\right) \): It is a deterministic algorithm that takes as input the descriptions of n FE candidates \(\{\mathsf {FE}_i\}_{i \in [n]}\), a function secret key \(\mathsf {SK}_C\), and a ciphertext \(\mathsf {CT}\) and outputs a value \(y\in \mathcal {Y}_{\lambda }\).
Remark 1
In the formal definition above, we have included \(\{\mathsf {FE}_i\}_{i \in [n]}\), the descriptions of the FE candidates, as input to all the algorithms of \(\mathsf {FEComb}\). For notational simplicity, we will often forgo these inputs and assume that they are implicit.
We now define the properties associated with an FE combiner. The three properties are correctness, polynomial slowdown, and security. Correctness is analogous to that of an FE candidate, provided that the n input FE candidates are all valid FE candidates. Polynomial slowdown says that the running times of all the algorithms of \(\mathsf {FEComb}\) are polynomial in \(\lambda \) and n. Finally, security intuitively says that if at least one of the FE candidates is also secure, then \(\mathsf {FEComb}\) is a secure FE scheme. We provide the formal definitions below.
Correctness
Definition 6 (Correctness)
Suppose \(\{\mathsf {FE}_i\}_{i \in [n]}\) are correct FE candidates. We say that an FE combiner is correct if for every circuit \(C:\mathcal {X}_{\lambda } \rightarrow \mathcal {Y}_\lambda \in \mathcal {C}_{\lambda }\), and message \(m \in \mathcal {X}_{\lambda }\) it holds that:
where the probability is taken over the coins of the algorithms and \(\mathsf {negl}(\lambda )\) is a negligible function in \(\lambda \).
Polynomial Slowdown
Definition 7 (Polynomial Slowdown)
An FE combiner \(\mathsf {FEComb}\) satisfies polynomial slowdown if on all inputs, the running times of \(\mathsf {FEComb}.\mathsf {Setup}, \mathsf {FEComb}.\mathsf {Enc}, \mathsf {FEComb}.\mathsf {Keygen},\) and \(\mathsf {FEComb}.\mathsf {Dec}\) are at most \(\mathsf {poly}(\lambda , n)\), where n is the number of FE candidates that are being combined.
IND-Security
Definition 8 (IND-Secure FE Combiner)
An FE combiner \(\mathsf {FEComb}\) is selectively secure if for any set \(\{\mathsf {FE}_i\}_{i \in [n]}\) of correct FE candidates, it satisfies Definition 2, where the descriptions of \(\{\mathsf {FE}_i\}_{i \in [n]}\) are public and implicit in all invocations of the algorithms of \(\mathsf {FEComb}\), if at least one of the FE candidates \(\mathsf {FE}_1, \ldots , \mathsf {FE}_n\) also satisfies Definition 2.
Note that Definition 2 is the IND-security definition for FE. Unless otherwise specified, when we say a secure FE combiner, we refer to one that satisfies IND-security.
Simulation Security. Similarly to FE candidates, we can also consider a different notion of security called (single-key) simulation security.
Definition 9
An FE combiner \(\mathsf {FEComb}\) is single-key simulation secure if for any set \(\{\mathsf {FE}_i\}_{i \in [n]}\) of correct FE candidates, it satisfies Definition 3, where the descriptions of \(\{\mathsf {FE}_i\}_{i \in [n]}\) are public and implicit in all invocations of the algorithms of \(\mathsf {FEComb}\), if at least one of the FE candidates \(\mathsf {FE}_1, \ldots , \mathsf {FE}_n\) also satisfies Definition 3.
Note that Definition 3 is the simulation security definition for FE.
Succinctness. Similarly to FE candidates, we can also define the notion of a succinct FE combiner. An FE combiner is not required to satisfy succinctness, but we will utilize a succinct FE combiner when construction low communication MPC (Sects. 4 and 5).
Definition 10
An FE combiner \(\mathsf {FEComb}= (\mathsf {Setup}, \mathsf {Enc}, \mathsf {KeyGen}, \mathsf {Dec})\) for a circuit class \(\mathcal {C}\) containing circuits that take inputs of length \(\ell _\mathsf {in}\), outputs strings of length \(\ell _\mathsf {out}\) bits and are of depth at most d is succinct if for every set of succinct FE candidates \(\mathsf {FE}_1, \ldots , \mathsf {FE}_n\), the following holds: For any circuit \(C \in \mathcal {C}\),
-
Let \(\mathsf {MSK}\leftarrow {\mathsf {FEComb}.\mathsf {Setup}}(1^{\lambda }, \{\mathsf {FE}_i\}_{i \in [n]})\). The size of the circuit \(\mathsf {FEComb}.\mathsf {Enc}(\mathsf {MSK}, \cdot ) \le \mathsf {poly}(\lambda , d,\ell _\mathsf {in}, \ell _\mathsf {out},n)\) for some polynomial \(\mathsf {poly}\).
-
The function key \(\mathsf {SK}_C \leftarrow {\mathsf {FEComb}}.\mathsf {KeyGen}(\mathsf {MSK}, C)\) is of the form \((C, \mathsf {aux})\) where \(|\mathsf {aux}| \le \mathsf {poly}(\lambda , d, \ell _\mathsf {out},n)\) for some polynomial \(\mathsf {poly}\).
Robust FE Combiners and Universal FE
Remark 2
We also define the notion of a robust FE combiner. An FE combiner \(\mathsf {FEComb}\) is robust if it is an FE combiner that satisfies the three properties (correctness, polynomial slowdown, and security) associated with an FE combiner when given any set of FE candidates \(\{\mathsf {FE}_i\}_{i \in [n]}\), provided that one is a correct and secure FE candidate. No restriction is placed on the other FE candidates. In particular, they need not satisfy correctness at all.
Robust FE combiners can be used to build a universal functional encryption scheme defined below.
Definition 11
(T-Universal Functional Encryption). We say that an explicit Turing machine \(\varPi _{\mathsf {univ}} = (\varPi _{\mathsf {univ}}.\mathsf {Setup}, \varPi _{\mathsf {univ}}.\mathsf {Enc}, \varPi _{\mathsf {univ}}.\mathsf {KeyGen}, \varPi _{\mathsf {univ}}.\mathsf {Dec})\) is a universal functional encryption scheme parametrized by T if \(\varPi _{\mathsf {univ}}\) is a correct and secure FE scheme assuming the existence a correct and secure FE scheme with runtime \(< T\).
4 Succinct Single-Key Simulation Secure Decomposable FE Combiner
In this section, we define and construct a succinct single-key simulation secure decomposable FE combiner (\(\mathsf {DFEComb}\) for short) that will be useful later for our communication-efficient MPC result. This section can be found in the full version.
5 Round Optimal MPC with Depth-Proportional Communication from an FE Combiner
In this section, using any succinct single-key simulation secure decomposable FE combiner (see Sect. 4), we show how to compile any two round semi-honest secure MPC protocol into one where the communication complexity is proportional only to the depth of the circuit being evaluated.
Let \(\mathsf {Comm.Compl}(\pi )\) denote the communication complexity of any protocol \(\pi \). Let \(\lambda \) denote the security parameter, n denote the number of parties, and \(\ell \) denote the size of the input to each party. Formally, we show the following theorem:
Theorem 5
Assuming the existence of
-
A succinct single-key single-ciphertext simulation secure decomposable FE combiner (AND)
-
Succinct FE candidates (AND)
-
A two round semi-honest MPC in the plain model (that may not be communication efficient) that is secure against up to all but one corruption,
there exists a two round semi-honest MPC protocol \(\pi \) in the plain model that is secure against up to all but one corruption for any boolean circuit \(C\), where the communication complexity of the protocol \(\pi \) is independent of the size of the circuit. That is, \(\mathsf {Comm.Compl}(\pi ) = \mathsf {poly}(\mathsf {Depth}(C), n, \ell , \lambda )\).
We know how to construct a succinct single-key simulation secure decomposable FE combiner based on the learning with errors (LWE) assumption (see Sect. 4). Further, in Sect. 4, we saw that the construction in [51] is a succinct FE candidate. Also, two round semi-honest MPC protocols secure against up to all but one corruption can be based on the LWE assumption [20, 48, 75]Footnote 5. Instantiating the primitives in the above theorem, we get the following corollary:
Corollary 1
Assuming LWE, there exists a two round semi-honest MPC protocol \(\pi \) in the plain model that is secure against up to all but one corruption for any boolean circuit \(C\) with \(\mathsf {Comm.Compl}(\pi ) = \mathsf {poly}(\mathsf {Depth}(C),n,\ell , \lambda )\).
Furthermore, if we allow our protocol to have a preprocessing phase, we can obtain a two round semi-honest MPC protocol with depth-proportional communication complexity and with the computational complexity of each party in the online phase independent of the size of the circuit, matching the result of [76]. By simply making steps 1–3 in round 1 of our construction the preprocessing phase, we arrive at the following corollary:
Corollary 2
Assuming LWE, there exists a two round semi-honest MPC protocol \(\pi \) in the plain model that is secure against up to all but one corruption for any boolean circuit \(C\) with \(\mathsf {Comm.Compl}(\pi ) = \mathsf {poly}(\mathsf {Depth}(C),n,\ell , \lambda )\) and with the computational complexity of the online phase \(\mathsf {poly}(\mathsf {Depth}(C), n, \ell , \lambda )\).
5.1 Construction
Notation:
-
Consider n parties \(\mathsf {P}_1,\ldots ,\mathsf {P}_n\) with inputs \(x_1,\ldots , x_n\), respectively, who wish to evaluate a boolean circuit \(C\) on their joint inputs. Let \(\lambda \) denote the security parameter and without loss of generality, let’s assume \(|x_i| = \lambda \) for all \(i \in [n]\). Also, let’s denote the randomness of each party \(\mathsf {P}_i\) as \(r_i = (r^\mathsf {Setup}_i, r^\mathsf {Enc}_i, r^\mathsf {SH}_i, r^\mathsf {KeyGen}_i)\).
-
Let \(\mathsf {DFEComb}= (\mathsf {DFEComb}.\mathsf {Setup}, \mathsf {DFEComb}.\mathsf {Enc}, \mathsf {DFEComb}.\mathsf {Keygen},\) \( \mathsf {DFEComb}.\mathsf {Dec},\mathsf {DFEComb}.\mathsf {Partition})\) be a succinct single-key simulation secure decomposable FE combiner (see Sect. 4) for n FE candidates \(\mathsf {FE}_1,\ldots ,\mathsf {FE}_n\).
-
Let \(\pi ^{\mathsf {SH}}\) be a two round semi-honest secure MPC protocol (not necessarily communication efficient). Let \((\pi ^{\mathsf {SH}}\mathsf {.Round}_{1},\pi ^{\mathsf {SH}}\mathsf {.Round}_{2})\) denote the algorithms used by any party to compute the messages in each of the two rounds and \(\pi ^{\mathsf {SH}}\mathsf {.Out}\) denote the algorithm to compute the final output. Further, let \(\pi ^{\mathsf {SH}}\mathsf {.Sim}= (\pi ^{\mathsf {SH}}\mathsf {.Sim}_1,\pi ^{\mathsf {SH}}\mathsf {.Sim}_2)\) denote the simulator for this protocol - that is, \(\pi ^{\mathsf {SH}}\mathsf {.Sim}_i\) is the simulator’s algorithm to compute the \(i^{th}\) round’s messages.
Protocol. We now describe the construction of our protocol \(\pi \) with depth-proportional communication complexity.
-
Round 1: Each party \(\mathsf {P}_i\) does the following:
-
1.
Generate \(\mathsf {MSK}_i \leftarrow \mathsf {FE}_i.\mathsf {Setup}(1^\lambda )\) using randomness \(r^\mathsf {Setup}_i\).
-
2.
Compute \((C_1,\ldots ,C_n) \leftarrow \mathsf {DFEComb}.\mathsf {Partition}(1^\lambda , C)\).
-
3.
Compute \(\mathsf {SK}_i = \mathsf {FE}_i.\mathsf {KeyGen}(\mathsf {MSK}_i,C_i)\) using randomness \(r^\mathsf {KeyGen}_i\).
-
4.
Participate in an execution of protocol \(\pi ^{\mathsf {SH}}\) with the remaining \((n-1)\) parties using input \(y_i = (x_i,\mathsf {MSK}_i,r^\mathsf {Enc}_i)\) and randomness \(r^\mathsf {SH}_i\) to compute the deterministic circuit \(C_\mathsf {CT}\) defined in Fig. 3. That is, compute the first round message \(\mathsf {msg}_{1,i} \leftarrow \pi ^{\mathsf {SH}}\mathsf {.Round}_{1}(y_i; r^\mathsf {SH}_i)\).
-
5.
Output \((\mathsf {msg}_{1,i}, \mathsf {SK}_i)\).
-
1.
-
Round 2: Each party \(\mathsf {P}_i\) does the following:
-
1.
Let \(\tau _1\) denote the transcript of protocol \(\pi ^{\mathsf {SH}}\) after round 1.
-
2.
Compute the second round message \(\mathsf {msg}_{2,i} \leftarrow \pi ^{\mathsf {SH}}\mathsf {.Round}_{2}(y_i, \tau _1 ; r^\mathsf {SH}_i)\) where \(y_i = (x_i,\mathsf {MSK}_i,r^\mathsf {Enc}_i)\).
-
3.
Output \((\mathsf {msg}_{2,i})\).
-
1.
-
Output Computation: Each party \(\mathsf {P}_i\) does the following:
-
1.
Let \(\tau _2\) denote the transcript of protocol \(\pi ^{\mathsf {SH}}\) after round 2.
-
2.
Compute the output of \(\pi ^{\mathsf {SH}}\) as \(\mathsf {CT}\leftarrow \pi ^{\mathsf {SH}}\mathsf {.Out}(y_i, \tau _2 ; r^\mathsf {SH}_i)\).
-
3.
Let \(\mathsf {SK}_C= (\mathsf {SK}_1,\ldots ,\mathsf {SK}_n)\).
-
4.
Output \(\mathsf {DFEComb}.\mathsf {Dec}(\mathsf {SK}_C, \mathsf {CT})\).
-
1.
Correctness and Efficiency: Correctness follows immediately from the construction. In particular, at the end of the protocol, each party possesses \(\mathsf {CT}\), an encryption of \(x = (x_1, \ldots , x_n)\) under the FE combiner, and \(\mathsf {SK}_C\), the function key for C. This ciphertext can then be decrypted using \(\mathsf {SK}_C\) to yield C(x), as desired.
Now, let’s analyze the communication complexity of the protocol. First, observe that each circuit \(C\) that is of depth d and outputs a single bit is partitioned into n circuits \(C_1,\ldots , C_n\) by running the \(\mathsf {DFEComb}.\mathsf {Partition}\) algorithm. The circuit \(C_i\) just computes a partial decryption of \(\mathsf {TFHE}.\mathsf {Eval}(C,\cdot )\). Now, even though \(C\) is a boolean circuit, the output length of \(C_i\) might not be 1. However, this is not an issue for us. Indeed, observe that from the compactness of the \(\mathsf {TFHE}\) scheme, the length of the partial decryption is just \(\mathsf {poly}(\lambda ,d)\) for some fixed polynomial \(\mathsf {poly}\) for all circuits \(C\) with depth d and output length 1. Thus, the size of the output length of \(C_i\) for all \( i \in [n]\) is at most \(\mathsf {poly}(\lambda ,d)\) bits. Thus, from Sect. 4, we know that \(|\mathsf {SK}_i| = \mathsf {poly}(d, n, \lambda )\) and \(|\mathsf {CT}| = \mathsf {poly}(d, n, \lambda )\). Recall that \(\mathsf {CT}\) is the ciphertext that is the output of the protocol \(\pi ^{\mathsf {SH}}\) (computed during decryption). In fact, from Sect. 4, we also know that the size of the circuit computing the ciphertext \(\mathsf {CT}\) is also bounded by \(\mathsf {poly}(d, n, \lambda )\). Then, for the protocol \(\pi ^{\mathsf {SH}}\) recall that the input is \(y_i = (x_i,\mathsf {MSK}_i,r^\mathsf {Enc}_i)\) and so \(|y_i| = \mathsf {poly}(\lambda ,d)\) for some polynomial. Therefore, for each party \(\mathsf {P}_i\), \(|\mathsf {msg}_{1,i}| = \mathsf {poly}(d, n, \lambda )\) and \(|\mathsf {msg}_{2,i}| = \mathsf {poly}(d, n, \lambda )\).
Therefore, in our two round protocol \(\pi \), in each round the size of the message sent by any party is \(\mathsf {poly}(n,d,\lambda )\). Thus, \(\mathsf {Comm.Compl}(\pi ) = \mathsf {poly}(n,d,\lambda )\).
The above analysis was for circuits with boolean output. For circuits that output multi-bit strings, the communication complexity of our MPC protocol \(\pi \) is bounded by \(\mathsf {poly}(n,d,\lambda ) \cdot \ell _\mathsf {out}\), where \(\ell _\mathsf {out}\) is the output length of the circuit. This follows immediately by viewing the multi-bit output circuit as \(\ell _\mathsf {out}\) different boolean circuits and running in parallel.
5.2 Security Proof
The security proof can be found in the full version.
6 Construction of an FE Combiner from Weaker Assumptions
In this section, we employ a tool extensively used in the secure multi-party computation literature, namely, randomized encodings to construct an FE combiner. Roughly speaking, a randomized encoding is a mechanism to “efficiently” encode a function f and an input x such that the encoding reveals f(x) and nothing more. A randomized encoding scheme is said to be low degree if the encoding algorithm can be represented as a low degree polynomial. Low degree randomized encodings have been used to achieve constant-round secure multi-party computation [17]. We show how to use this tool to obtain functional encryption combiners. The underlying assumption used to instantiate the low degree randomized encoding is the existence of a PRG in \(\mathsf {NC}^1\). Formally, we show the following theorem.
Theorem 6
Assuming the existence of a PRG in \(\mathsf {NC}^1\), there exists an unbounded-key FE combiner for polynomial-sized circuits.
The rest of this section can be found in the full version.
7 From MPC to FE Combiners
In this section, we show how to build an FE combiner from any semi-honest MPC protocol \(\pi \) that satisfies a property called delayed function-dependence. This section can be found in the full version.
8 From an FE Combiner to a Robust FE Combiner
The FE combiners constructed previously are not robust. By this, we mean that the constructions provide no guarantee of correctness or security if any of the underlying FE candidates do not satisfy correctness. However, determining the correctness of FE candidates may be difficult since a candidate \(\mathsf {FE}\) may be correct with overwhelming probability on certain message, circuit pairs (m, C) and not others. With no worst-case guarantees, it can be challenging to reason about the correctness of an FE candidate especially if the function space \(\mathcal {C}\) is say all poly-sized circuits, where sampling uniformly over the space is difficult.
We can mitigate this issue by making our FE combiners robust. A robust FE combiner is an FE combiner that satisfies correctness and security provided that at least one FE candidate, \(\mathsf {FE}_i\), satisfies both correctness and security. No restrictions are placed on the other FE candidates. In particular, they may satisfy neither correctness nor security. In this section, we show how to transform any FE combiner into a robust FE combiner. Formally, we show the following.
Theorem 7
If there exists an FE combiner, then there exists a robust FE combiner.
Combining Theorem 7 with Theorem 6, we obtain the following corollary.
Corollary 3
Assuming the existence of a PRG in \(\mathsf {NC}^1\), there exists an unbounded-key robust FE combiner.
This is done, at a high level, via the following steps.
-
1.
Transform each FE candidate \(\mathsf {FE}_i\) into a new FE candidate \(\mathsf {FE}_i'\) such that
-
(a)
If \(\mathsf {FE}_i\) is correct and secure, then \(\mathsf {FE}_i'\) is also correct and secure.
-
(b)
If \(\mathsf {FE}_i'\) is correct for any fixed message, circuit pair (m, C) with probability \(\alpha \), then it is at least \(\alpha '\)-correct for all other message, circuit pairs \((m', C')\) where \(\alpha ' = \alpha - \mathsf {negl}(\lambda )\).
-
(a)
-
2.
Fix a message m and a circuit C and test each candidate repeatedly on (m, C) to determine if each candidate is \(\alpha \)-correct for \(\alpha \ge 1 - \frac{1}{\lambda }\). Discard those that are not.
-
3.
Using standard techniques of \(\mathsf {BPP}\) correctness amplification, transform the \(\alpha \)-correct candidates into (almost) correct candidates.
-
4.
Instantiate constructions of FE combiners from previous sections with these (almost) correct candidates.
We defer the construction and proof of Theorem 7 to the full version.
Universal Functional Encryption: Robust FE combiners are closely related to the notion of universal functional encryption. Universal functional encryption is a construction of functional encryption satisfying the following simple guarantee. If there exists a Turing Machine with running time bounded by some \(T(n) = \mathsf {poly}(n)\) that implements a correct and secure FE scheme, then the universal functional encryption construction is itself a correct and secure FE scheme. Using the existence of a robust FE combiner (Theorem 7) and the results of [6], we observe the following.
Theorem 8
Assuming the existence of a robust FE combiner, there exists a universal functional encryption scheme.
Using the above theorem and Corollary 3, we arrive at the following corollary.
Corollary 4
Assuming the existence of a PRG in \(\mathsf {NC}^1\), there exists a universal unbounded-key functional encryption scheme.
Notes
- 1.
- 2.
Unless otherwise specified, we only consider MPC protocols tolerating all but one corruption.
- 3.
These protocols are inherently communication inefficient. The reason is that they present a compiler that turns any arbitrary interactive MPC protocol into a two-round MPC protocol. The communication complexity in the resulting two-round MPC protocol is at least the computational complexity of the original MPC protocol. However, the computational complexity of the resulting protocol has to be proportional to the size of the circuit representing the functionality f.
- 4.
Note that [7] required sub-exponential hardness only for constructing iO combiners, not for constructing FE combiners.
- 5.
References
Agrawal, S.: New Methods for Indistinguishability Obfuscation: Bootstrapping and Instantiation. Cryptology ePrint Archive, Report 2018/633 (2018). https://eprint.iacr.org/2018/633
Agrawal, S., Gorbunov, S., Vaikuntanathan, V., Wee, H.: Functional encryption: new perspectives and lower bounds. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8043, pp. 500–518. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40084-1_28
Ananth, P., Brakerski, Z., Segev, G., Vaikuntanathan, V.: From selective to adaptive security in functional encryption. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9216, pp. 657–677. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48000-7_32
Ananth, P., Choudhuri, A.R., Jain, A.: A new approach to round-optimal secure multiparty computation. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 468–499. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_16
Ananth, P., Jain, A., Khurana, D., Sahai, A.: Indistinguishability Obfuscation Without Multilinear Maps: iO from LWE, Bilinear Maps, and Weak Pseudorandomness. Cryptology ePrint Archive, Report 2018/615 (2018). https://eprint.iacr.org/2018/615
Ananth, P., Jain, A., Naor, M., Sahai, A., Yogev, E.: Universal constructions and robust combiners for indistinguishability obfuscation and witness encryption. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 491–520. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53008-5_17
Ananth, P., Jain, A., Sahai, A.: Robust transforming combiners from indistinguishability obfuscation to functional encryption. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10210, pp. 91–121. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56620-7_4
Ananth, P., Jain, A.: Indistinguishability obfuscation from compact functional encryption. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 308–326. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_15
Ananth, P., Jain, A., Sahai, A.: Indistinguishability Obfuscation from Functional Encryption for Simple Functions. Cryptology ePrint Archive, Report 2015/730 (2015)
Ananth, P., Sahai, A.: Projective arithmetic functional encryption and indistinguishability obfuscation from degree-5 multilinear maps. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10210, pp. 152–181. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56620-7_6
Applebaum, B., Ishai, Y., Kushilevitz, E.: Computationally private randomizing polynomials and their applications (extended abstract). In: CCC, June 2005
Asharov, G., Jain, A., López-Alt, A., Tromer, E., Vaikuntanathan, V., Wichs, D.: Multiparty computation with low communication, computation and interaction via threshold FHE. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 483–501. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_29
Asmuth, C., Blakley, G.: An efficient algorithm for constructing a cryptosystem which is harder to break than two other cryptosystems. Comput. Math. Appl. 7(6), 447–450 (1981)
Badrinarayanan, S., Goyal, V., Jain, A., Sahai, A.: A note on VRFs from Verifiable Functional Encryption. IACR Cryptology ePrint Archive 2017, 51 (2017)
Badrinarayanan, S., Goyal, V., Jain, A., Kalai, Y.T., Khurana, D., Sahai, A.: Promise zero knowledge and its applications to round optimal MPC. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10992, pp. 459–487. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96881-0_16
Banerjee, A., Peikert, C., Rosen, A.: Pseudorandom functions and lattices. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 719–737. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_42
Beaver, D., Micali, S., Rogaway, P.: The round complexity of secure protocols. In: STOC (1990)
Bellare, M., Hoang, V.T., Rogaway, P.: Foundations of garbled circuits. In: CCS (2012)
Ben-Or, M., Goldwasser, S., Wigderson, A.: Completeness theorems for non-cryptographic fault-tolerant distributed computation. In: STOC (1988)
Benhamouda, F., Lin, H.: k-round multiparty computation from k-round oblivious transfer via garbled interactive circuits. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10821, pp. 500–532. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78375-8_17
Bitansky, N.: Verifiable random functions from non-interactive witness-indistinguishable proofs. In: TCC (2017)
Bitansky, N., Nishimaki, R., Passelègue, A., Wichs, D.: From cryptomania to obfustopia through secret-key functional encryption. In: TCC Part II (2016)
Bitansky, N., Vaikuntanathan, V.: Indistinguishability obfuscation from functional encryption. In: FOCS (2015)
Bitansky, N., Vaikuntanathan, V.: Indistinguishability obfuscation: from approximate to exact. In: Kushilevitz, E., Malkin, T. (eds.) TCC 2016. LNCS, vol. 9562, pp. 67–95. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49096-9_4
Bitansky, N., Vaikuntanathan, V.: A note on perfect correctness by derandomization. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10211, pp. 592–606. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56614-6_20
Boneh, D., et al.: Threshold Cryptosystems From Threshold Fully Homomorphic Encryption. IACR Cryptology ePrint Archive 2017 (2017)
Boneh, D., et al.: Fully key-homomorphic encryption, arithmetic circuit ABE and compact garbled circuits. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 533–556. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55220-5_30
Boneh, D., Sahai, A., Waters, B.: Functional encryption: definitions and challenges. In: Ishai, Y. (ed.) TCC 2011. LNCS, vol. 6597, pp. 253–273. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19571-6_16
Boneh, D., Silverberg, A.: Applications of multilinear forms to cryptography. Contemp. Math. 324(1), 71–90 (2003)
Boyle, E., Gilboa, N., Ishai, Y., Lin, H., Tessaro, S.: Foundations of homomorphic secret sharing. In: LIPIcs-Leibniz International Proceedings in Informatics, vol. 94. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2018)
Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) fully homomorphic encryption without bootstrapping. ACM Trans. Comput. Theory 6(3), 13:1–13:36 (2014)
Brakerski, Z., Halevi, S., Polychroniadou, A.: Four round secure computation without setup. In: Kalai, Y., Reyzin, L. (eds.) TCC 2017. LNCS, vol. 10677, pp. 645–677. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70500-2_22
Brakerski, Z., Perlman, R.: Lattice-based fully dynamic multi-key FHE with short ciphertexts. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 190–213. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_8
Canetti, R., Lin, H., Tessaro, S., Vaikuntanathan, V.: Obfuscation of probabilistic circuits and applications. In: Dodis, Y., Nielsen, J.B. (eds.) TCC 2015. LNCS, vol. 9015, pp. 468–497. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46497-7_19
Cheon, J.H., Han, K., Lee, C., Ryu, H., Stehlé, D.: Cryptanalysis of the multilinear map over the integers. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 3–12. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46800-5_1
Cheon, J.H., Jeong, J., Lee, C.: An Algorithm for CSPR Problems and Cryptanalysis of the GGH Multilinear Map without an encoding of zero. Technical report, Cryptology ePrint Archive, Report 2016/139 (2016)
Clear, M., McGoldrick, C.: Multi-identity and multi-key leveled FHE from learning with errors. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9216, pp. 630–656. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48000-7_31
Coron, J.S., et al.: Zeroizing without low-level zeroes: new MMAP attacks and their limitations. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 247–266. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_12
Coron, J.S., Lee, M.S., Lepoint, T., Tibouchi, M.: Cryptanalysis of GGH15 Multilinear Maps. Cryptology ePrint Archive, Report 2015/1037 (2015)
Dodis, Y., Halevi, S., Rothblum, R.D., Wichs, D.: Spooky encryption and its applications. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9816, pp. 93–122. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53015-3_4
Fischlin, M., Herzberg, A., Bin-Noon, H., Shulman, H.: Obfuscation combiners. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 521–550. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53008-5_18
Garg, S., Gentry, C., Halevi, S.: Candidate multilinear maps from ideal lattices. In: Johansson, T., Nguyen, P.Q. (eds.) EUROCRYPT 2013. LNCS, vol. 7881, pp. 1–17. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38348-9_1
Garg, S., Gentry, C., Halevi, S., Zhandry, M.: Fully secure functional encryption without obfuscation. IACR Cryptology ePrint Archive 2014, 666 (2014)
Garg, S., Mukherjee, P., Pandey, O., Polychroniadou, A.: The exact round complexity of secure computation. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9666, pp. 448–476. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49896-5_16
Garg, S., Pandey, O., Srinivasan, A.: Revisiting the cryptographic hardness of finding a nash equilibrium. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 579–604. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53008-5_20
Garg, S., Pandey, O., Srinivasan, A., Zhandry, M.: Breaking the sub-exponential barrier in obfustopia. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10212, pp. 156–181. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56617-7_6
Garg, S., Srinivasan, A.: Garbled protocols and two-round MPC from bilinear maps. In: FOCS (2017)
Garg, S., Srinivasan, A.: Two-round multiparty secure computation from minimal assumptions. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10821, pp. 468–499. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78375-8_16
Gentry, C., Sahai, A., Waters, B.: Homomorphic encryption from learning with errors: conceptually-simpler, asymptotically-faster, attribute-based. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 75–92. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40041-4_5
Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game. In: STOC, pp. 218–229. ACM (1987)
Goldwasser, S., Kalai, Y.T., Popa, R.A., Vaikuntanathan, V., Zeldovich, N.: Reusable garbled circuits and succinct functional encryption. In: STOC (2013). https://doi.org/10.1145/2488608.2488678
Goldwasser, S., Klein, S., Wichs, D.: The edited truth. In: Kalai, Y., Reyzin, L. (eds.) TCC 2017. LNCS, vol. 10677, pp. 305–340. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70500-2_11
Gorbunov, S., Vaikuntanathan, V., Wee, H.: Functional encryption with bounded collusions via multi-party computation. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 162–179. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_11
Goyal, R., Hohenberger, S., Koppula, V., Waters, B.: A generic approach to constructing and proving verifiable random functions. In: Kalai, Y., Reyzin, L. (eds.) TCC 2017. LNCS, vol. 10678, pp. 537–566. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70503-3_18
Halevi, S., Hazay, C., Polychroniadou, A., Venkitasubramaniam, M.: Round-optimal secure multi-party computation. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10992, pp. 488–520. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96881-0_17
Harnik, D., Kilian, J., Naor, M., Reingold, O., Rosen, A.: On robust combiners for oblivious transfer and other primitives. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 96–113. Springer, Heidelberg (2005). https://doi.org/10.1007/11426639_6
Hemenway, B., Jafargholi, Z., Ostrovsky, R., Scafuro, A., Wichs, D.: Adaptively secure garbled circuits from one-way functions. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9816, pp. 149–178. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53015-3_6
Herzberg, A.: On tolerant cryptographic constructions. In: Menezes, A. (ed.) CT-RSA 2005. LNCS, vol. 3376, pp. 172–190. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30574-3_13
Herzberg, A.: Folklore, practice and theory of robust combiners. J. Comput. Secur. 17(2), 159–189 (2009)
Hu, Y., Jia, H.: Cryptanalysis of GGH Map. IACR Cryptology ePrint Archive 2015, 301 (2015)
Ishai, Y., Kushilevitz, E., Ostrovsky, R., Sahai, A.: Zero-knowledge from secure multiparty computation. In: Proceedings of the Thirty-Ninth Annual ACM Symposium on Theory of Computing, pp. 21–30. ACM (2007)
Kitagawa, F., Nishimaki, R., Tanaka, K.: Obfustopia built on secret-key functional encryption. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10821, pp. 603–648. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78375-8_20
Komargodski, I., Segev, G.: From minicrypt to obfustopia via private-key functional encryption. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10210, pp. 122–151. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56620-7_5
Levin, L.A.: One-way functions and pseudorandom generators. Combinatorica 7, 357–363 (1987)
Lin, H.: Indistinguishability obfuscation from constant-degree graded encoding schemes. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 28–57. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_2
Lin, H.: Indistinguishability obfuscation from SXDH on 5-linear maps and locality-5 PRGs. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 599–629. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_20
Lin, H., Matt, C.: Pseudo Flawed-Smudging Generators and Their Application to Indistinguishability Obfuscation. Cryptology ePrint Archive, Report 2018/646 (2018). https://eprint.iacr.org/2018/646
Lin, H., Pass, R., Seth, K., Telang, S.: Indistinguishability obfuscation with non-trivial efficiency. In: Cheng, C.-M., Chung, K.-M., Persiano, G., Yang, B.-Y. (eds.) PKC 2016. LNCS, vol. 9615, pp. 447–462. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49387-8_17
Lin, H., Pass, R., Seth, K., Telang, S.: Output-compressing randomized encodings and applications. In: Kushilevitz, E., Malkin, T. (eds.) TCC 2016. LNCS, vol. 9562, pp. 96–124. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49096-9_5
Lin, H., Tessaro, S.: Indistinguishability obfuscation from trilinear maps and block-wise local PRGs. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 630–660. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_21
Lin, H., Vaikuntanathan, V.: Indistinguishability obfuscation from DDH-like assumptions on constant-degree graded encodings. In: FOCS (2016)
Mukherjee, P., Wichs, D.: Two round multiparty computation via multi-key FHE. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9666, pp. 735–763. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49896-5_26
O’Neill, A.: Definitional issues in functional encryption. IACR Cryptology ePrint Archive 2010, 556 (2010)
Peikert, C., Shiehian, S.: Multi-key FHE from LWE, revisited. In: Hirt, M., Smith, A. (eds.) TCC 2016. LNCS, vol. 9986, pp. 217–238. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53644-5_9
Peikert, C., Vaikuntanathan, V., Waters, B.: A framework for efficient and composable oblivious transfer. In: Wagner, D. (ed.) CRYPTO 2008. LNCS, vol. 5157, pp. 554–571. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85174-5_31
Quach, W., Wee, H., Wichs, D.: Laconic Function Evaluation and Applications. Cryptology ePrint Archive, Report 2018/409 (2018). https://eprint.iacr.org/2018/409
Sahai, A., Seyalioglu, H.: Worry-free encryption: functional encryption with public keys. In: CCS, pp. 463–472. ACM (2010)
Sahai, A., Waters, B.: Fuzzy identity-based encryption. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 457–473. Springer, Heidelberg (2005). https://doi.org/10.1007/11426639_27
Yao, A.C.C.: How to generate and exchange secrets (extended abstract). In: FOCS, pp. 162–167 (1986)
Acknowledgements
We thank the anonymous TCC reviewers for their helpful comments.
Saikrishna Badrinarayanan, Aayush Jain, Nathan Manohar and Amit Sahai were supported in part from a DARPA/ARL SAFEWARE award, NSF Frontier Award 1413955, and NSF grant 1619348, BSF grant 2012378, a Xerox Faculty Research Award, a Google Faculty Research Award, an equipment grant from Intel, and an Okawa Foundation Research Grant. Saikrishna Badrinarayanan is also supported by an IBM PhD fellowship. Aayush Jain is also supported by a Google PhD fellowship award in Privacy and Security. This material is based upon work supported by the Defense Advanced Research Projects Agency through the ARL under Contract W911NF-15-C- 0205. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense, the National Science Foundation, the U.S. Government, IBM, or Google.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 International Association for Cryptologic Research
About this paper
Cite this paper
Ananth, P., Badrinarayanan, S., Jain, A., Manohar, N., Sahai, A. (2019). From FE Combiners to Secure MPC and Back. In: Hofheinz, D., Rosen, A. (eds) Theory of Cryptography. TCC 2019. Lecture Notes in Computer Science(), vol 11891. Springer, Cham. https://doi.org/10.1007/978-3-030-36030-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-36030-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-36029-0
Online ISBN: 978-3-030-36030-6
eBook Packages: Computer ScienceComputer Science (R0)