Abstract
Homomorphic Encryption (HE) is a useful primitive for secure computation, but it is not generally applicable when multiple parties are involved, as the authority is solely concentrated in a single party, the secret key owner. To solve this issue, several variants of HE have emerged in the context of multiparty setting, resulting in two major lines of work – Multi-Party HE (MPHE) and Multi-Key HE (MKHE). In short, MPHEs tend to be more efficient, but all parties should be specified at the beginning to collaboratively generate a public key, and the access structure is fixed throughout the entire computation. On the other hand, MKHEs have relatively poor performance but provide better flexibility in that a new party can generate its own key and join the computation anytime.
In this work, we propose a new HE primitive, called Multi-Group HE (MGHE). Stated informally, an MGHE scheme provides seamless integration between MPHE and MKHE, and has the best of both worlds. In an MGHE scheme, a group of parties jointly generates a public key for efficient single-key encryption and homomorphic operations similar to MPHE. However, it also supports computation on encrypted data under different keys, in the MKHE manner. We formalize the security and correctness notions for MGHE and discuss the relation with previous approaches.
We also present a concrete instantiation of MGHE from the BFV scheme and provide a proof-of-concept implementation to demonstrate its performance. In particular, our MGHE construction has a useful property that the key generation is simply done by aggregating individual keys without any interaction between the parties, while all the existing MPHE constructions relied on multi-round key-generation protocols. Finally, we propose a general methodology to build a multi-party computational protocol from our MGHE scheme.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Lattigo v4. ePFL-LDS, Tune Insight SA (2022). https://github.com/tuneinsight/lattigo
Albrecht, M., et al.: Homomorphic encryption security standard. Tech. rep., HomomorphicEncryption.org, Toronto, Canada (2018)
Aloufi, A., Hu, P., Wong, H.W., Chow, S.S.: Blindfolded evaluation of random forests with multi-key homomorphic encryption. IEEE Trans. Depend. Secure Comput. (2019)
Ananth, P., Jain, A., Jin, Z., Malavolta, G.: Multi-key fully-homomorphic encryption in the plain model. In: Pass, R., Pietrzak, K. (eds.) TCC 2020, LNCS, vol. 12550, pp. 28–57. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64375-1_2
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
Bajard, J.-C., Eynard, J., Hasan, M.A., Zucca, V.: A full RNS variant of FV like somewhat homomorphic encryption schemes. In: Avanzi, R., Heys, H. (eds.) SAC 2016. LNCS, vol. 10532, pp. 423–442. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69453-5_23
Beimel, A., Gabizon, A., Ishai, Y., Kushilevitz, E., Meldgaard, S., Paskin-Cherniavsky, A.: Non-interactive secure multiparty computation. In: Garay, J.A., Gennaro, R. (eds.) CRYPTO 2014. LNCS, vol. 8617, pp. 387–404. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44381-1_22
Boneh, D., et al.: Threshold cryptosystems from threshold fully homomorphic encryption. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10991, pp. 565–596. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96884-1_19
Brakerski, Z.: Fully homomorphic encryption without modulus switching from classical GapSVP. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 868–886. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_50
Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) fully homomorphic encryption without bootstrapping. ACM Trans. Comput. Theory 6(3), 1–36 (2014)
Brakerski, Z., Perlman, R.: Lattice-based fully dynamic multi-key FHE with short ciphertexts. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 7417, pp. 190–213. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_8
Chen, H., Chillotti, I., Song, Y.: Multi-key homomorphic encryption from TFHE. In: Galbraith, S.D., Moriai, S. (eds.) ASIACRYPT 2019. LNCS, vol. 11992, pp. 446–472. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-34621-8_16
Chen, H., Dai, W., Kim, M., Song, Y.: Efficient multi-key homomorphic encryption with packed ciphertexts with application to oblivious neural network inference. In: Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, pp. 395–412 (2019)
Chen, L., Zhang, Z., Wang, X.: Batched multi-hop multi-key FHE from ring-LWE with compact ciphertext extension. In: Kalai, Y., Reyzin, L. (eds.) Theory of Cryptography. LNCS, vol. 10678, pp. 597–627. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70503-3_20
Cheon, J.H., Kim, A., Kim, M., Song, Y.: Homomorphic encryption for arithmetic of approximate numbers. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10624, pp. 409–437. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70694-8_15
Chillotti, I., Gama, N., Georgieva, M., Izabachène, M.: Faster fully homomorphic encryption: bootstrapping in less than 0.1 seconds. In: Cheon, J.H., Takagi, T. (eds.) ASIACRYPT 2016. LNCS, vol. 10031, pp. 3–33. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53887-6_1
Choudhuri, A.R., Goel, A., Green, M., Jain, A., Kaptchuk, G.: Fluid MPC: secure multiparty computation with dynamic participants. In: Malkin, T., Peikert, C. (eds.) CRYPTO 2021. LNCS, vol. 12826, pp. 94–123. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-84245-1_4
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
Damgård, I., Pastro, V., Smart, N., Zakarias, S.: Multiparty computation from somewhat homomorphic encryption. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 643–662. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_38
Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. IACR Cryptol. ePrint Arch. 2012, 144 (2012)
Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 850–867. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_49
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
Halevi, S., Ishai, Y., Jain, A., Komargodski, I., Sahai, A., Yogev, E.: Non-interactive multiparty computation without correlated randomness. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10626, pp. 181–211. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70700-6_7
Halevi, S., Polyakov, Y., Shoup, V.: An improved RNS variant of the BFV homomorphic encryption scheme. In: Matsui, M. (ed.) CT-RSA 2019. LNCS, vol. 11405, pp. 83–105. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-12612-4_5
Hoffstein, J., Pipher, J., Silverman, J.H.: Ntru: A ring-based public key cryptosystem. In: Buhler, J.P. (ed.) Algorithmic Number Theory. ANTS 1998. LNCS, vol. 1423, pp. 267–288. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054868
Kim, T., Kwak, H., Lee, D., Seo, J., Song, Y.: Asymptotically faster multi-key homomorphic encryption from homomorphic gadget decomposition. In: Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security, pp. 726–740 (2023)
Lindell, Y.: How to simulate it—a tutorial on the simulation proof technique. In: Lindell, Y. (ed.) Tutorials on the Foundations of Cryptography. Information Security and Cryptography. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-57048-8_6
López-Alt, A., Tromer, E., Vaikuntanathan, V.: Cloud-assisted multiparty computation from fully homomorphic encryption. Cryptology ePrint Archive (2011)
López-Alt, A., Tromer, E., Vaikuntanathan, V.: On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption. In: Proceedings of the Forty-Fourth Annual ACM Symposium on Theory of Computing, pp. 1219–1234. ACM (2012)
Mouchet, C., Bertrand, E., Hubaux, J.P.: An efficient threshold access-structure for rlwe-based multiparty homomorphic encryption. J. Cryptol. 36(2), 10 (2023)
Mouchet, C., Troncoso-Pastoriza, J., Bossuat, J.P., Hubaux, J.P.: Multiparty homomorphic encryption from ring-learning-with-errors. Proc. Privacy Enhanc. Technol. 2021(4), 291–311 (2021)
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
Park, J.: Homomorphic encryption for multiple users with less communications. IEEE Access 9, 135915–135926 (2021)
Peikert, C., Shiehian, S.: Multi-key FHE from LWE, revisited. In: Hirt, M., Smith, A. (eds.) Theory of Cryptography. LNCS, vol. 9986, pp. 217–238. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53644-5_9
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Construction of MGHE with CKKS
The CKKS supports approximate arithmetic operations for complex numbers. The BFV and CKKS have similar structure, we can easily extend MGHE scheme of the CKKS. The difference is that it adds an error into the plaintext itself and additionally supports the rescaling algorithm to control the size of ciphertext. The ciphertext has a level and it decreases whenever rescaling is performed. To proceed arithmetics between two ciphertexts, they should have same level and it requires bootstrapping when level is low in order to continue evaluation. We are going to provide MGHE scheme without interactive key generation. In this description, we skip setup, key generation, and joint key generation phase since they are same as BFV. Galois automorphism is also not included since it has same procedure with the BFV. We assume the ciphertext modulus \(q = \prod _{i=1}^{L}{p_i}\) for some integers \(p_i\) and denote \(q_l = \prod _{i=1}^{l}{p_i}\).
1.1 A.1 MGHE with CKKS
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{Enc}(\textsf{ek}; m)}\): For a joint encryption key \(\textsf{ek}\) and a message m, return \(\textsf{ct}\leftarrow \texttt {MP-CKKS}.\texttt{Enc}(\textsf{ek}; m)\).
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{Add}(\textsf{ct}, \textsf{ct}')}\): If two given ciphertexts \(\textsf{ct}\) and \(\textsf{ct}'\) has same level, return the ciphertext \(\textsf{ct}_{add}=\textsf{ct}+ \textsf{ct}' \pmod q\). If not, modify ciphertexts to have same level before the computation.
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{Mult}(\{\textsf{rlk}_j\}_{1 \le j \le k}; \textsf{ct}, \textsf{ct}')}\): Set \(\textsf{ct}\) and \(\textsf{ct}'\) have same level. Let \(\textsf{ct}=(c_i)_{0\le i\le k}\) and \(\textsf{ct}'=(c_i')_{0\le i\le k}\) be two multi-group ciphertexts and \(\{\textsf{rlk}_j\}_{1\le j\le k}\) the collection of the joint relinearization keys of groups \(I_j\) for \(1\le j\le k\). Compute \(\textsf{ct}_\mathsf {{mul}}= (c_{i,j})_{0\le i,j\le k}\) where \(c_{i,j}=c_i c_j' \pmod q\) for \(0\le i,j\le k\). Return the ciphertext \(\texttt {MG-CKKS}.\texttt{Relin}(\{\textsf{rlk}_j\}_{1 \le j \le k}; \textsf{ct}_\mathsf {{mul}})\) where \(\texttt {MG-CKKS}.\texttt{Relin}(\cdot )\) is the relinearization procedure described in Algorithm 1.
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{Rescale}(\textsf{ct})}\): Given a ciphertext \(\textsf{ct}= (c_0, c_1, \dots , c_k) \in R_{q_{l}}^{k+1}\) at level l, compute \(c'_i = \left\lfloor {p_{l}^{-1} \cdot c_i}\right\rceil \) for \(1 \le i \le k\), and return \(\textsf{ct}' = (c'_0, c'_1, \dots ,c'_k) \in R_{q_{l} - 1}^{k+1}\) which is at level \(l-1\).
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{Dec}(\{\textsf{sk}_j\}_{1\le j\le k};\textsf{ct})}\): Given a ciphertext \(\textsf{ct}=(c_0, c_1,\dots , c_k)\) and joint secret keys \(\textsf{sk}_j=s_j\) for \(1\le j\le k\), return \(m =\left\langle \textsf{ct}, \textsf{sk}\right\rangle = (c_0+\sum _{1\le j\le k} c_i\cdot s_j) \pmod t\).
\(\bullet \) \(\underline{\texttt {MG-CKKS}.\texttt{DistDec}(\{[\textsf{sk}_j]_i\}_{1\le j\le k, i\in I_j}, \sigma ';\textsf{ct})}\): Let \(\textsf{ct}=(c_0, \dots , c_k)\) be a multi-group ciphertext corresponding to the set of groups \( \{I_1, \dots , I_k\}\) and \([\textsf{sk}]_i=[s]_i\) be the secret of party \(i\in I_j\).
-
Partial decryption: For \(1\le j\le k\), each party \(i\in I_j\) samples \([e'_j]_i\leftarrow D_{\sigma '}\), then computes and publishes \([\mu _j]_i= c_j\cdot [s]_i+[e'_j]_i\pmod q\).
-
Merge: Compute \(m=(c_0+\sum _{1\le j\le k}\sum _{i\in I_j} [\mu _j]_i) \pmod t\).
B Noise Analysis
Before estimating a noise growth, we specify some distributions for sampling randomness or errors. Let the key distribution \(\chi \) be the distribution where each coefficient is sampled from the set \(\{0, \pm 1\}\) with probability 0.25 for each of \(-1\) and 1 and with probability 0.5 for 0. Set the error distribution \(\psi _\ell \) be the discrete Gaussian distribution of variance \(\sigma ^{2}\). We also assume that the coefficients of the polynomials are independent zero-mean random variables with the same variances. We denote by \(\textsf {Var}(a) = \textsf {Var}(a_i)\) the variance of coefficients for random variable \(a = \sum _i a_i \cdot X^{i}\) over the ring R. Then the variance of the product \(c = a \cdot b\) of two polynomials with degree n can be represented as \(\textsf {Var}(c) = n \cdot \textsf {Var}(a) \cdot \textsf {Var}(b)\) if a and b are independent. Similarly, we define variance for a vector \(\textbf{a}\in R^d\) of random variables as \(\textsf {Var}(\textbf{a}) =\frac{1}{d}\sum _{i=1}^{d}{\textsf {Var}(\textbf{a}[i])}\). We also assume that each ciphertext behaves as if it is a uniform random variable over \(R_{q}^{k+1}\). We analyze the noise growth of k-group case, each comprising \(N_{i}\) parties for \(1 \le i \le k\).
1.1 B.1 Encryption
Recall that the encryption \(\textsf{ct}= (c_0,c_1) \in R_q^2\) of \(m \in R_p\) is \(\textsf{ct}= t \cdot \textsf{ek}+ (\varDelta \cdot m + e_0, e_1) \pmod q\) where \(t \leftarrow \chi \) and \(e_{0}, e_{1} \leftarrow D_\sigma \). For \(\textsf{ek}= ({\textbf{b}}[0], \textbf{a}[0]) \in R_q^2\), we remark that \({\textbf{b}}[0] + \textbf{a}[0] \cdot s = \sum _{i \in I}[{\textbf{e}}_0]_i[0]\) and each \([{\textbf{e}}_0]_i[0]\) is sampled from \(D_\sigma \). Then, it satisfies that \(c_0 + c_1 \cdot s = \varDelta \cdot m + t ({\textbf{b}}[0] + \textbf{a}[0] \cdot s) + (e_0 + e_1 \cdot s) = \varDelta \cdot m + (t \sum _{i \in I}[{\textbf{e}}_0]_i[0] + e_{0} + e_{1} \cdot s) \pmod q\). The encryption noise \(e_{\mathsf {{enc}}} = t \sum _{i \in I}[{\textbf{e}}_0]_i[0] + e_{0} + e_{1} \cdot s\) has the variance of \(V_{\mathsf {{enc}}} = \sigma ^{2} \cdot (\frac{n|I|}{2} + 1 + \frac{n}{2}) \approx \frac{n\sigma ^{2}(|I|+1)}{2}.\)
The CKKS scheme has the same encryption error as the BFV scheme. The only difference is that there is no scaling factor \(\varDelta \) in the result of decryption.
1.2 B.2 Relinearization
In Algorithm 1 of Sect. 4.3, it satisfies that
and
where \(e_{i,j}'= c_{i,j} \boxdot (s_j \cdot {\textbf{e}}_{i,1} - r_i \cdot {\textbf{e}}_{j,0})\).
We denote by \(V_{g} = \textsf {Var}(h(a))\) where a is a uniform random variable over \(R_{q}\). Then, the variance of relinearization error \(e_{\mathsf {{relin}}} = \sum _{1 \le i \le k}{c''_{i} \boxdot {\textbf{e}}_{i,2}} + \sum _{1 \le i,j \le k} {e_{i,j}'} \) is obtained as follows:
In our implementation, we use RNS-friendly decomposition \(R_q = \prod _i{R_{p_i}}\) such that \(p_i\)’s have the same bit-size. Here, we have \(V_{g} = \frac{1}{12d} \sum ^{d}_{i=1}{p_{i}^{2}}\) for \(d = \lceil {\log q / \log {p_{i}}} \rceil \).
1.3 B.3 Multiplication
We again consider k-group case, each comprising \(N_{i}\) parties for \(1 \le i \le k\). Let \(\textsf{ct}_1\) and \(\textsf{ct}_2\) be the input ciphertexts of messages \(m_1\) and \(m_2\) respectively. Each ciphertext \(\textsf{ct}_i\) satisfies that \(\left\langle \textsf{ct}_i, \overline{\textsf{sk}}\right\rangle = q \cdot I_i + \varDelta \cdot m_i + e_i\) for \(I_i = \lfloor {\frac{1}{q} \left\langle \textsf{ct}_i, \overline{\textsf{sk}}\right\rangle } \rceil \) and some \(e_i\). Here, we have the variance \(\textsf {Var}(I_i) \approx \frac{1}{12} (1 + \frac{1}{2} kn) \approx \frac{1}{24} kn\) since \(\frac{1}{q} \cdot \textsf{ct}_i\) behaves as an uniform random variable over \(\frac{1}{q} \cdot R_{q}^{k+1}\).
The result of tensor product satisfies that \(\left\langle \textsf{ct}_1 \otimes \textsf{ct}_2, \overline{\textsf{sk}}\otimes \overline{\textsf{sk}}\right\rangle = \left\langle \textsf{ct}_1, \overline{\textsf{sk}}\right\rangle \cdot \left\langle \textsf{ct}_2, \overline{\textsf{sk}}\right\rangle = \varDelta ^2 \cdot m_1 m_2 + q \cdot (I_1 e_2 + I_2 e_1) + \varDelta \cdot (m_1 e_2 + m_2 e_1) + e_1 e_2 \pmod {q \cdot \varDelta }\) and for \(\textsf{ct}_{\mathsf {{mul}}} = \left\lfloor {\frac{p}{q} \cdot \textsf{ct}_1 \otimes \textsf{ct}_2}\right\rceil \), we have \(\left\langle \textsf{ct}_{\mathsf {{mul}}}, \overline{\textsf{sk}}\otimes \overline{\textsf{sk}}\right\rangle = \varDelta \cdot m_1 m_2 + p \cdot (I_1 e_2 + I_2 e_1) + (m_1 e_2 + m_2 e_1) + \varDelta ^{-1} \cdot e_1 e_2 + e_{rd}\) where \(e_{rd} = \left\langle \frac{p}{q} \cdot \textsf{ct}_1 \otimes \textsf{ct}_2 - \textsf{ct}_{mul}, \overline{\textsf{sk}}\otimes \overline{\textsf{sk}}\right\rangle \). That is, the multiplication error is obtained by \(e_{\mathsf {{mul}}} = p \cdot (I_1 e_2 + I_2 e_1) + (m_1 e_2 + m_2 e_1) + \varDelta ^{-1} \cdot e_1 e_2 + e_{rd}.\) From the above equation, the first term \(p \cdot (I_1 e_2 + I_2 e_1)\) dominates the whole multiplication error. Therefore, we have the variance of multiplication error by
While the relinearization error has a fixed size depending on the parameters, the multiplication error increases by a certain ratio as the computation proceeds. Therefore, the total noise is eventually dominated by the multiplication error unless \((\textsf {Var}(e_1) + \textsf {Var}(e_2))\) is very small (e.g. fresh ciphertext).
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kwak, H., Lee, D., Song, Y., Wagh, S. (2024). A General Framework of Homomorphic Encryption for Multiple Parties with Non-interactive Key-Aggregation. In: Pöpper, C., Batina, L. (eds) Applied Cryptography and Network Security. ACNS 2024. Lecture Notes in Computer Science, vol 14584. Springer, Cham. https://doi.org/10.1007/978-3-031-54773-7_16
Download citation
DOI: https://doi.org/10.1007/978-3-031-54773-7_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-54772-0
Online ISBN: 978-3-031-54773-7
eBook Packages: Computer ScienceComputer Science (R0)