Main Contribution
In this paper, we explore the relationship between multilinear maps and obfuscation. Our main contribution is a construction of multilinear maps for groups of prime order equipped with natural hard problems, using indistinguishability obfuscation (IO) in combination with other tools, namely NIZK proofs, homomorphic encryption, and a base group \({\mathbb {G}}_{0}\) satisfying a mild cryptographic assumption. This complements known results in the reverse direction, showing that various forms of indistinguishability obfuscation can be constructed from multilinear maps [17, 24, 45]. The relationship between IO and multilinear maps is a very natural question to study, given the rich diversity of cryptographic constructions that have been obtained from both multilinear maps and obfuscation, and the apparent fragility of current constructions for multilinear maps. More on this below.
We provide two distinct but closely related constructions. One is for multilinear maps in the symmetric setting, that is, non-degenerate multilinear maps \(\mathbf{e }: {{\mathbb {G}}_1}^\kappa \longrightarrow {\mathbb {G}}_T\) for groups \({\mathbb {G}}_1\) and \({\mathbb {G}}_T\) of prime order N. Our construction relies on the existence of a base group \({\mathbb {G}}_0\) in which the \(\kappa -{\text {SDDH}} \) assumption holds—this states that, given a \((\kappa +1)\)-tuple of \({\mathbb {G}}_0\)-elements \((g,g^\omega ,\ldots , g^{\omega ^{\kappa }} )\), we cannot efficiently distinguish \(g^{\omega ^{\kappa +1}}\) from a random element of \({\mathbb {G}}_0\). Under this assumption, we prove that the \(\kappa -{\text {MDDH}} \) problem, a natural analogue of the DDH problem as stated below, is hard.
(The\(\kappa -{\text {MDDH}} \)problem, informal) Given a generator \(g_1\) of \({\mathbb {G}}_1\) and \(\kappa +1\) group elements \(g_1^{a_i}\) in \({\mathbb {G}}\) with \(a_i \leftarrow _{{\$}}\mathbb {Z}_N\), distinguish \({\mathbf{e } (g_1,\ldots ,g_1)}^{\prod _{i=1}^{\kappa +1}a_i}\) from a random element of \({\mathbb {G}}_T\).
This problem can be used as the basis for several cryptographic constructions [7], including by now the classic example of multiparty non-interactive key exchange (NIKE) [23].
Our other construction is for the asymmetric setting; that is, for multilinear maps \(\mathbf{e }: {\mathbb {G}}_1 \times \cdots \times {\mathbb {G}}_{\kappa } \longrightarrow {\mathbb {G}}_T\) for a collection of \(\kappa \) groups \({\mathbb {G}}_i\) and \({\mathbb {G}}_T\) all of prime order N. It uses a base group \({\mathbb {G}}_0\) in which we require only that the \(1-{\text {SDDH}} \) assumption holds. For this construction, we show that a natural asymmetric analogue of the \(\kappa -{\text {MDDH}} \) assumption holds.
At a high level, then, our constructions are able to “bootstrap” from rather mild assumptions in a standard cryptographic group to much stronger multilinear assumptions in a group (or groups, in the asymmetric setting) equipped with a \(\kappa \)-linear map. Here, \(\kappa \) is fixed up-front at the time of setup, but is otherwise unrestricted. Of course, such constructions cannot be expected to come “for free,” and we need to make use of powerful tools including probabilistic IO (PIO) for obfuscating randomized circuits [17], dual-mode NIZK proofs enjoying perfect soundness (for a binding CRS), perfect witness-indistinguishability (for a hiding CRS), and perfect zero knowledge, and additive homomorphic encryption for the group \((\mathbb {Z}_N,+)\) (or alternatively, a perfectly correct FHE scheme). We note that all these tools can be constructed from a (pair of) pairing-friendly groups (in which, e.g., the SXDH assumption holds), subexponentially secure one-way functions, and subexponentially secure IO. It is an important open problem arising from our work to weaken the requirements on, or remove altogether, these additional tools.
General Approach
Our approach to obtaining multilinear maps in the symmetric setting is as follows (with many details to follow in the main body).Footnote 1 Let \({\mathbb {G}}_0\) with generator \(g_0\) be a group of prime order N in which the \(\kappa -{\text {SDDH}} \) assumption holds.
We work with redundant encodings of elements h of the base group \({\mathbb {G}}_0\) of the form \(h = g_0^{x_0}{(g_0^{\omega })}^{x_1}\) where \(g_0^{\omega }\) comes from a \(\kappa -{\text {SDDH}} \) instance; we write \({\mathbf{x }}= (x_0,x_1)\) for the vector of exponents representingh. Then, \({\mathbb {G}}_1\) consists of all strings of the form \((h,{\mathbf{c }}_{1},{\mathbf{c }}_{2},{\pi })\) where \(h \in {\mathbb {G}}_0\), ciphertext \({\mathbf{c }}_{1}\) is a homomorphic encryption under public key \({\textit{pk}}_1\) of a vector \({\mathbf{x }}\) representing h, ciphertext \({\mathbf{c }}_{2}\) is a homomorphic encryption under a second public key \({\textit{pk}}_2\) of another vector \({\mathbf{y }}\) also representing h, and \({\pi }\) is a NIZK proof showing consistency of the two vectors \({\mathbf{x }}\) and \({\mathbf{y }}\), i.e., a proof that the plaintexts \({\mathbf{x }}\), \({\mathbf{y }}\) underlying \({\mathbf{c }}_{1}\), \({\mathbf{c }}_{2}\) encode the same group element h. Note that each element of the base group \({\mathbb {G}}_0\) is multiply represented when forming elements in \({\mathbb {G}}_1\), but that equality of group elements in \({\mathbb {G}}_1\) is easy to test. An alternative viewpoint is to consider \(({\mathbf{c }}_{1},{\mathbf{c }}_{2},{\pi })\) as being auxiliary information accompanying element \(h \in {\mathbb {G}}_0\); we prefer the perspective of redundant encodings, and our abstraction in Sect. 3 is stated in such terms. When viewed in this way, our approach can be seen as closely related to the Naor–Yung paradigm for constructing CCA-secure PKE [37].
Addition of two elements in \({\mathbb {G}}_1\) is carried out by an obfuscation of a circuit \(C_{\text {Add}}\) that is published along with the groups. It has the secret keys \({\textit{sk}}_1, {\textit{sk}}_2\) hard-coded in; it first checks the respective proofs, then uses the additive homomorphic property of the encryption scheme to combine ciphertexts, and finally uses the secret keys \({\textit{sk}}_1, {\textit{sk}}_2\) as witnesses to generate a new NIZK proof showing equality of encodings. Note that the new encoding is as compact as that of the two input elements.
The multilinear map on inputs \((h_i,{\mathbf{c }}_{i,1},{\mathbf{c }}_{i,2},{\pi }_i)\) for \(1 \le i \le \kappa \) is computed using the obfuscation of a circuit \(C_{\text {Map}}\) that has \({\textit{sk}}_1\) and \(\omega \) hard-coded in. This allows \(C_{\text {Map}}\) to “extract” full exponents of \(h_i\) in the form \((x_{i,1}+\omega \cdot x_{i,2})\) from \({\mathbf{c }}_{i,1}\) and thereby compute the element \(g_0^{\prod _i (x_{i,1}+\omega \cdot x_{i,2})}\). This is defined to be the output of our multilinear map \(\mathbf{e } \), and so our target group \({\mathbb {G}}_T\) is in fact \({\mathbb {G}}_0\), the base group. The multilinearity of \(\mathbf{e } \) follows immediately from the form of the exponent.
In the asymmetric case, the main difference is that we work with different values \(\omega _i\) in each of our input groups \({\mathbb {G}}_i\). However, the groups are all constructed via redundant encodings, just as above.
This provides a high-level view of our approach, but no insight into why the approach achieves our aim of building multilinear maps with associated hard problems. Let us give some intuition on why the \(\kappa -{\text {MDDH}} \) problem is hard in our setting. We transform a \(\kappa -{\text {MDDH}} \) tuple \({\mathbf{h }}= ({(g_1^{a_i})}_{i \le \kappa +1},g_T^{d})\), where d is the product of the \(a_i \in \mathbb {Z}_N\), \(g_1\) is in the “encoded” form above, and thus, \(g_1 = (h_1,{\mathbf{c }}_{1},{\mathbf{c }}_{2},{\pi })\), and \(g_T\) is a generator of \({\mathbb {G}}_{T}={\mathbb {G}}_{0}\), into another \(\kappa -{\text {MDDH}} \) tuple \({\mathbf{h }}'\) with exponents \(a'_i = a_i+\omega \) for \(i \le \kappa +1\). This means that the exponent of the challenge element in the target group \(d' = \prod _{i = 1}^{\kappa +1}(a_i +\omega )\) can be seen as a degree \(\kappa +1\) polynomial in \(\omega \). Therefore, with the knowledge of the \(a_i\) and a \(\kappa -{\text {SDDH}} \) challenge, with \(\omega \) implicit in the exponent, we are able to switch \(g_T^{d'}\) to a uniformly random value.
Nevertheless, in the preceding simplistic argument, we have made two assumptions. The first is that we are able to provide an obfuscation of a circuit \(C_{\text {Map}}'\) that has the same functionality as \(C_{\text {Map}}\) over \({\mathbb {G}}_{1}\)without the explicit knowledge of \(\omega \). We resolve this by showing a way of evaluating the \(\kappa \)-linear map on any elements of \({\mathbb {G}}_{1}\) using only the powers \(g_0^{\omega ^i}\) for \(1 \le i \le \kappa \), and vectors extracted from the accompanying ciphertexts, and then applying \({\text {IO}}\) to the two circuits.Footnote 2
The second assumption we made is that we can indeed switch from \({\mathbf{h }}\) to \({\mathbf{h }}'\) without being noticed. In other words, that the vectors \({\mathbf{x }}_i\), \({\mathbf{y }}_{i}\) representing \(g^{a_i}\) can be replaced (without being noticed) with vectors \({\mathbf{h }}_{i}'\) whose second coordinate is always fixed. Intuitively, this is based on the \({\text {IND-CPA}} \) security of the FHE scheme, but in order to give a successful reduction, we also have to change the circuit \(C_{\text {Add}}\) (since \(C_{\text {Add}}\) uses both decryption keys) and apply probabilistic indistinguishability obfuscation [17] to the circuit.
We note that in this work, we do not construct graded encoding schemes as in [23]. That is, we do not construct maps from \({\mathbb {G}}_i \times {\mathbb {G}}_j\) to \({\mathbb {G}}_{i+j}\). On the other hand, our construction is noiseless and is closer to multilinear maps as defined by Boneh and Silverberg [7].
The Current State of Multilinear Maps Constructions
Multilinear maps have been in a state of turmoil, with the discovery of attacks [9, 13, 14, 30, 36] against the GGH13 [23], CLT [15], and GGH15 [26] proposals, and a sequence of countermeasures and fixes [12, 16], which since have been broken, too. Hence, our confidence in constructions for graded encoding schemes (and thereby multilinear maps) has been shaken. On the other hand, recently, several constructions of IO from increasingly weaker assumptions have been proposed (see, for example, [1, 3, 24, 33,34,35, 45]), culminating in the construction [35] that requires only trilinear (non-graded) multilinear maps.
Hence, currently it is perhaps more plausible to assume that IO exists than it is to assume that secure (multi-level) multilinear maps exist. However, we stress that more cryptanalysis of IO constructions is required to investigate what security they provide.
Moreover, even though current constructions for IO rely on graded encoding schemes, it is not implausible that alternative routes to achieving IO without relying on multilinear maps will emerge in due course. Furthermore, multilinear maps, and more generally graded encoding schemes, have proven to be very fruitful as constructive tools in their own right (cf. [7, 40], resp., [5, 8, 22, 25, 27, 31, 42]). This rich set of applications coupled with the current uncertainty over the status of graded encoding schemes and multilinear maps provides additional motivation to ask what additional tools are needed in order to upgrade IO to multilinear maps. As an additional benefit, we upgrade (via IO) noisy graded encoding schemes to clean multilinear maps—sometimes now informally called “dream” or “ideal” multilinear maps.
Related Work
The work that is technically closest to ours is that of Yamakawa et al. (see [43, 44]); indeed, their work was the starting point for ours. Yamakawa et al. construct a self-pairing map, that is, a bilinear map from \({\mathbb {G}}\times {\mathbb {G}}\) to \({\mathbb {G}}\); multilinear maps can be obtained by iterating their self-pairing. Their work is limited to the RSA setting. It uses the group of signed quadratic residues modulo a Blum integer N, denoted \(\mathrm{QR}_N^{+}\), to define a pairing function that, on input elements \(g^x\), \(g^y\) in \(\mathrm{QR}_N^{+}\), outputs \(g^{2xy}\). In their construction, elements of \(\mathrm{QR}_N^{+}\) are augmented with auxiliary information to enable the pairing computation—in fact, the auxiliary information for an element \(g^x\) is simply an obfuscation of a circuit for computing the 2xth power modulo \({{\text {ord}}}(\mathrm{QR}_N^{+})\), and the pairing is computed by evaluating this circuit on an input \(g^y\) (say). The main contribution of [43] is in showing that these obfuscated circuits leak nothing about x or the group order.
A nice feature of their scheme is that the degree of linearity \(\kappa \) that can be accommodated is not limited up-front in the sense that the pairing output is also a group element to which further pairing operations (derived from auxiliary information for other group elements) can be applied. However, the construction has several drawbacks. First, the element output by the pairing does not come with auxiliary information.Footnote 3 Second, the size of the auxiliary information for a product of group elements grows exponentially with the length of the product, as each single product involves computing the obfuscation of a circuit for multiplying, with its inputs already being obfuscated circuits. Third, the main construction in [43] only builds hard problems for the self-pairing of the computational type. (In fact, they show the hardness of the computational version of the \(\kappa -{\text {MDDH}} \) problem in \(\mathrm{QR}_N^{+}\) assuming that factoring is hard.) Still, this is sufficient for several cryptographic applications.
In contrast, our construction is generic with respect to its platform group. Furthermore, the equivalent of the auxiliary information in our approach does not itself involve any obfuscation. Consequently, the description of a product of group elements stays compact. Indeed, given perfect additive homomorphic encryption for \((\mathbb {Z}_p,+)\), we can perform arbitrary numbers of group operations in each component group \({\mathbb {G}}_i\). It is an open problem to find a means of augmenting our construction with the equivalent of auxiliary information in the target group \({\mathbb {G}}_T\), to make our multilinear maps amenable to iteration and thereby achieve graded maps as per [15, 23].
Another related work is the work of Paneth and Sahai [39]. They show a near equivalence between a suitable abstraction of multilinear maps and IO. Their result requires no computational assumptions at all, but also does not consider multilinear maps in our sense. In particular, they construct an abstraction of a multilinear map that only admits restricted access to encodings, similar to the one in [24]. Beyond the group operation and the multilinear map, other procedures for, e.g., uniform sampling, comparison or rerandomization of encodings are not part of this abstraction. Our notion of a multilinear map, on the other hand, contains descriptions of efficient procedures for all of these tasks.
Follow-Up Work
The work [21] extends our approach from this work to graded encoding schemes (with multilinear maps). They use techniques similar to ours and in particular employ a suitable “switching theorem” (like our Theorem 1) to replace encodings of equivalent group elements.
On the other hand, the work [2] aims to construct groups (or, rather, encoding schemes) that support stronger computational assumptions. Specifically, [2] construct encoding schemes in which even an adaptive variant of the so-called Uber assumption [6] holds. The price that [2] pay is that their encoding scheme has no extraction algorithm (i.e., no algorithm that takes an encoding and outputs a bit string that is unique for the encoded group element). Not only such an extraction algorithm is useful to compare elements, it can also be used to transform non-unique group elements to a unique common secret in a Diffie–Hellman key exchange protocol. Observe that with non-unique group elements and without such an extraction algorithm, the two parties may end with different representations of the same shared key.
In this setting, the only means to compare two group elements (given by possibly different encodings) is an explicit comparison algorithm that takes two encodings as input and outputs whether these encodings represent the same group element. ([2] provide such a comparison algorithm.) The techniques that [2] use are again an extension of our techniques.
Relation to Conference Version of This Work
Erratum. After the publication of the conference version of this work at TCC 2016-A, we became aware of several technical problems in our work. Specifically, the conference version of our work (and of course a previous full version) claimed (a) the validity of the RANK assumption (a reformulation of the \(\mathcal {U}_n\)-matrix Diffie–Hellman assumption from [19]) in our framework and (b) a variant of our construction that only uses indistinguishability obfuscation (instead of probabilistic indistinguishability obfuscation). We encountered serious problems in both respective proofs, and we are currently not aware of a way to repair these proofs.
Furthermore, we became aware of problems in the proof of the multilinear DDH assumption in our framework (both in the symmetric and asymmetric settings). These problems can be resolved, which in fact leads to a simpler proof from a slightly stronger computational assumption.
Hence, this version of our work omits the results (a) and (b) described above and provides corrected versions of the proofs of the MDDH assumption in our framework.
Changes to conference version. Besides the corrections explained above, this version features full proofs, and in particular a detailed and modular treatment of the central switching theorem (Theorem 1). Our constructed group has non-unique, randomized encodings in place of group elements, and Theorem 1 allows to replace one encoding with another encoding, as long as both encodings are functionally equivalent.