Abstract
Multi-key homomorphic encryption is a generalized notion of homomorphic encryption supporting arbitrary computation on ciphertexts, possibly encrypted under different keys. In this paper, we revisit the work of Chen, Chillotti and Song (ASIACRYPT 2019) and present yet another multi-key variant of the TFHE scheme.
The previous construction by Chen et al. involves a blind rotation procedure where the complexity of each iteration gradually increases as it continuously operates on ciphertexts under different keys. Hence, the complexity of gate bootstrapping grows quadratically with respect to the number of associated keys.
Our scheme is based on a new blind rotation algorithm which consists of two separate phases. We first split a given multi-key ciphertext into several single-key ciphertexts, take each of them as input to the blind rotation procedure, and obtain accumulators corresponding to individual keys. Then, we merge these single-key accumulators into a single multi-key accumulator. In particular, we develop a novel homomorphic operation between single-key and multi-key ciphertexts to instantiate our pipeline. Therefore, our construction achieves an almost linear time complexity since the gate bootstrapping is dominated by the first phase of blind rotation which requires only independent single-key operations. It also enjoys with great advantages of parallelizability and key-compatibility.
We implement the proposed scheme and provide its performance benchmark. For example, our 16-key gate bootstrapping takes about 5.65 s, which is 4.38x faster compared to the prior work.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
Ben-Efraim, A.: On multiparty garbling of arithmetic circuits. In: Peyrin, T., Galbraith, S. (eds.) ASIACRYPT 2018. LNCS, vol. 11274, pp. 3–33. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03332-3_1
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 (TOCT) 6(3), 1–36 (2014)
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
Chen, H., Chillotti, I., Song, Y.: Multi-key homomorphic encryption from TFHE. In: Galbraith, S.D., Moriai, S. (eds.) ASIACRYPT 2019. LNCS, vol. 11922, 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.) TCC 2017. 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
Chillotti, I., Ligier, D., Orfila, J.-B., Tap, S.: Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE. In: Tibouchi, M., Wang, H. (eds.) ASIACRYPT 2021. LNCS, vol. 13092, pp. 670–699. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-92078-4_23
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
Dahl, M., et al.: Noah’s ark: Efficient threshold-FHE using noise flooding. In: Proceedings of the 11th Workshop on Encrypted Computing & Applied Homomorphic Cryptography, pp. 35–46 (2023)
Ducas, L., Micciancio, D.: FHEW: bootstrapping homomorphic encryption in less than a second. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 617–640. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46800-5_24
Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. IACR Cryptol. ePrint Arch. 2012, 144 (2012)
Gentry, C.: Fully homomorphic encryption using ideal lattices. In: Proceedings of the forty-first Annual ACM Symposium on Theory of Computing, pp. 169–178 (2009)
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
Kim, A., et al.: General bootstrapping approach for RLWE-based homomorphic encryption. IEEE Trans. Comput. 73, 86–96 (2023)
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)
Klemsa, J., Önen, M., Akın, Y.: A practical TFHE-based multi-key homomorphic encryption with linear complexity and low noise growth. In: Tsudik, G., Conti, M., Liang, K., Smaragdakis, G. (eds.) Computer Security. ESORICS 2023. LNCS, vol. 14344, pp. 3–23. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-50594-2_1
Kraitsberg, M., Lindell, Y., Osheter, V., Smart, N.P., Talibi Alaoui, Y.: Adding distributed decryption and key generation to a Ring-LWE based CCA encryption scheme. In: Jang-Jaccard, J., Guo, F. (eds.) ACISP 2019. LNCS, vol. 11547, pp. 192–210. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21548-4_11
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 (2012)
Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. J. ACM (JACM) 60(6), 1–35 (2013)
malb: lattice-estimator (2022). https://github.com/malb/lattice-estimator
Mouchet, C., Troncoso-Pastoriza, J., Bossuat, J.P., Hubaux, J.P.: Multiparty homomorphic encryption from ring-learning-with-errors. Proc. Priv. 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.) TCC 2016. LNCS, vol. 9986, pp. 217–238. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53644-5_9
Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. J. ACM (JACM) 56(6), 1–40 (2009)
Acknowledgement
This work was supported by Samsung Research Funding & Incubation Center of Samsung Electronics under Project Number SRFC-TB2103-01.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Multi-key TFHE Variant Using Different Gadget Decompositions
We provide the algorithms of our new MK-TFHE scheme with different gadget decompositions. The encryption and decryption algorithms are the same as given in Sect. 4.3.
\(\bullet ~\underline{\texttt {Setup}(1^\lambda )}\): Given the security parameter \(\lambda \), return the following parameters:
-
An LWE dimension n, a key distribution \(\chi '\) over \({\mathbb Z}^n\), and an error variance \(\alpha > 0\).
-
An RLWE dimension N, a key distribution \(\chi \) over \(R={\mathbb Z}[X]/(X^N+1)\), and an error variance \(\beta > 0\).
-
A CRS \(\textbf{a}\leftarrow T^{d_{uni}}\).
-
4 pairs of gadget decompositions and gadget vectors.
-
A gadget decomposition \(h_{ksk}\) of key-switching key and the corresponding gadget vector \({\textbf{g}}_{ksk}\) with base \(B_{ksk}\) and degree \(d_{ksk}\).
-
A gadget decomposition \(h_{gsw}\) of RGSW encryption and the corresponding gadget vector \({\textbf{g}}_{gsw}\) with base \(B_{gsw}\) and degree \(d_{gsw}\).
-
A gadget decomposition \(h_{lev}\) of RLEV encryption and the corresponding gadget vector \({\textbf{g}}_{lev}\) with base \(B_{lev}\) and degree \(d_{lev}\).
-
A gadget decomposition \(h_{uni}\) of uni-encryption and the corresponding gadget vector \({\textbf{g}}_{uni}\) with base \(B_{uni}\) and degree \(d_{uni}\).
-
\(\bullet ~\underline{\texttt{KeyGen}(i)}\): A party i generates its secret and public keys as follows.
-
Sample LWE secret key \({\textbf{z}}_i = (z_{i, 0}, \dots , z_{i, n-1}) \leftarrow \chi \).
-
Sample RLWE secret key \(s_i = s_{i,0} + s_{i,1}X + \cdots + s_{i, N-1}X^{N-1} \leftarrow \chi '\) and error \({\textbf{e}}\leftarrow {\psi }^{d_{uni}}\). Compute \({\textbf{b}}_i = -s_i \cdot \textbf{a}+ {\textbf{e}}\pmod 1\) and set the public key as \(\textsf{pk}_i = {\textbf{b}}_i\).
\(\bullet ~\underline{\texttt{BootKeyGen}(i)}\): A party i generates and publishes a blind rotation key \(\textsf{brk}_i\), a relinearization key \(\textsf{rlk}_i\) and a key-switching key \(\textsf{ksk}_i\) as follows.
-
Sample \(t_i \leftarrow \chi '\) and generate \(\textsf{brk}_{i,j} \leftarrow \texttt{RGSW}.\texttt{Enc}_{h_{gsw}}(t_i;z_{i,j})\) for \(0 \le j < n\). Set the blind rotation key \(\textsf{brk}_i = \{\textsf{brk}_{i,j}\}_{0 \le j < n}\).
-
Generate the relinearization key \(\textsf{rlk}_i \leftarrow \texttt{UniEnc}_{h_{uni}}(s_i;t_i)\).
-
Let \((s^*_{i, 0}, \dots , s^*_{i, N-1}) = (s_{i,0}, -s_{i, N-1}, \dots , -s_{i, 1})\). Sample \({\textbf{A}}_{i,j} \leftarrow {\mathbb T}^{d_{ksk}\times n}\) and \({\textbf{e}}_{i,j} \leftarrow {\psi }'^{d_{ksk}}\) for \(0 \le j < N\), and let \(\textsf{ksk}_{i,j} = [{\textbf{b}}_{i,j}|{\textbf{A}}_{i,j}]\) where \({\textbf{b}}_{i,j} = -{\textbf{A}}_{i,j} \cdot {\textbf{s}}_i + {\textbf{e}}_{i,j} + s^*_{i,j} \cdot {\textbf{g}}_{ksk}\). Set the key-switching key \(\textsf{ksk}_i = \{\textsf{ksk}_{i,j}\}_{0 < N}\).
\(\bullet ~\underline{\texttt{HomNAND}(\{(\textsf{pk}_i, \textsf{brk}_i, \textsf{rlk}_i, \textsf{ksk}_i)\}_{i \in [k]};\overline{\textsf{ct}}_1, \overline{\textsf{ct}}_2)}\): Given two \(\textsf{LWE}\) ciphertexts \(\overline{\textsf{ct}}_1\), \(\overline{\textsf{ct}}_2\) and key-quadruple \(\{(\textsf{pk}_i, \textsf{brk}_i, \textsf{rlk}_i, \textsf{ksk}_i)\}_{i \in [k]}\) of associated parties, perform the following steps:
-
1.
Compute \(\overline{\textsf{ct}}\leftarrow (\frac{5}{8}, 0, \dots , 0) - \overline{\textsf{ct}}_1 - \overline{\textsf{ct}}_2 \pmod 1\).
-
2.
Compute \(\overline{\textsf{ct}}\leftarrow \texttt{BlindRotate}(\{(\textsf{pk}_i, \textsf{brk}_i, \textsf{rlk}_i)\}_{i \in [k]};\overline{\textsf{ct}})\) where \(\texttt{BlindRotate}(\cdot )\) is the blind rotation algorithm in Algorithm 3.
-
3.
Compute \(\overline{\textsf{ct}}\leftarrow (\frac{1}{8}, 0, \dots , 0) + \overline{\textsf{ct}}\pmod 1\) and return \(\textsf{ct}= (b, \textbf{a}_1, \dots , \textbf{a}_k) \in {\mathbb T}^{kN+1}\) where b is the constant term of \(\overline{\textsf{ct}}_0\) and \(\textbf{a}_i\) is the coefficient vector of \(\overline{\textsf{ct}}_i\) for \(i \in [k]\).
-
4.
Perform the key-switching process: Compute \((b'_i, \textbf{a}'_i) = \sum _{j=0}^{N-1} h'(a_{i,j}) \cdot \textsf{ksk}_{i,j} \pmod 1\) for \(i \in [k]\) and \(b' = b + \sum _{i\in [k]} b'_i\). Return \(\textsf{ct}' = (b', \textbf{a}'_1, \dots , \textbf{a}'_k) \in {\mathbb T}^{kn+1}\).
B Proofs for the Noise Analysis
First we define \(\textsf{GdErr}_{gsw}\), \(\textsf{GdErr}_{lev}\) and \(\textsf{GdErr}_{uni}\), the gadget decomposition error of \(h_{gsw}, h_{lev}\) and \(h_{uni}\) respectively.
Proof of Lemma 1 (T-RLEV Multiplication)
Proof
By definition, we have
Therefore \(e = \mu \cdot \textsf{GdErr}_{lev}(c) + \left\langle h_{lev}(c), \textsf {Err}({\textbf{C}})\right\rangle \). Since \(h_{lev}(c)\) and \(\textsf {err}({\textbf{C}})\) are vectors of length \(d_{lev}\), we get
\(\square \)
Proof of Lemma 2 (RLWE-RGSW Multiplication)
Proof
Let \({\textbf{c}}= (b, a)\) and \(\textsf {Err}({\textbf{C}}) = \begin{bmatrix} {\textbf{e}}_0 \\ {\textbf{e}}_1 \end{bmatrix}\) where \({\textbf{e}}_0, {\textbf{e}}_1 \in T^{d_{gsw}}\). Then we can obtain
Therefore, we can get the following error variance.
\(\square \)
Proof of Corollary 1 (RLEV-RGSW Multiplication)
Proof
An RLEV ciphertext can be seen as a column vector of RLWE ciphertexts. Therefore, this corollary can be shown directly from the previous lemma. \(\square \)
For efficiency, we prove Lemma 4 first, and then prove Lemma 3.
Proof of Lemma 4 (New Hybrid Product)
Proof
We shall use \({\textbf{e}}_0 = {\textbf {0}}\) and the same temporary variables as in the algorithm description for the easier notation. Let \({\textbf{u}}= (u_0, \dots , u_k)\) and \({\textbf{w}}= (w_0, w_1)\). Then we have \(\varphi _{\overline{{\textbf{s}}}}(\overline{\textsf{ct}}') = \varphi _{\overline{{\textbf{s}}}}({\textbf{u}}) + \varphi _{s_i}({\textbf{w}}) \pmod 1\). The first term is
and the second term is
Now, from the fact that
it follows that \(e = \varphi _{\overline{\textbf{s}}} (\overline{\textsf{ct}}') - \mu \cdot \varphi _{\overline{\textbf{s}}} (\overline{\textsf{ct}})\) is
Therefore, we have
\(\square \)
Proof of Lemma 3 (Hybrid Product)
Proof
The only difference of the error variance of \(\texttt{HbProd}\) to the error variance \(\texttt{NewHbProd}\) is the error from \(w_{j, 0}\) and \(w_{j, 1}\)’s, which is \(k+1\) times bigger than \(\texttt{NewHbProd}\). Therefore, we get the error variance of
\(\square \)
Proof of Corollary 2 (Blind Rotation of CCS19)
Proof
We first analyze the line 6. Let \(\overline{{\textbf{c}}}_{i, j} = \texttt{HbProd}(\{\textsf{pk}_j\}_{j\in [k]}, (X^{\tilde{a}_{i, j}}-1)\cdot \textsf{ACC}, \textsf{BK}_{i, j})\) and \({\textbf{e}}_{i, j}\) be the error solely from the \(\texttt{HbProd}\). Then,
Note that during the i-th iteration, \(\textsf{ACC}\) should be regarded as a multi-key \(\textsf{RLWE}\) ciphertext with i parties since \(i+1, \dots , k\)-th indices remains zero. Therefore,
Since \(X^{\tilde{a}_{i, j}z_{i, j}}\) is a monomial, the variance adds up every iteration in the inner loop (line 5–7) and therefore an error variance of \(\frac{i}{4}nN^2\epsilon _{uni}^2 + id_{uni}nN^2 V_{uni}\beta ^2\) is added for every iteration in the outer loop (line 4–8). Therefore we get the error variance of
\(\square \)
Proof of Lemma 5 (Generalized External Product)
Proof
Let us follow the notations from the algorithm description. First, by Lemma 1 we obtain
where \(e_j = \varphi _t(c_j \odot {\textbf{C}}_i) - \mu \cdot c_j (0\le j \le k)\pmod 1 \in T\) with variance
Let \(\overline{{\textbf{y}}}' = \texttt{NewHbProd}(\{{\textbf{b}}_j\}_{j\in [k]}, \textsf{ct}, \textsf{rlk}_i)\). By Lemma 4, \(\varphi _{\overline{\textbf{s}}}(\overline{{\textbf{y}}}') = t \cdot \varphi _{\overline{\textbf{s}}}(\overline{{\textbf{y}}}) + e'\) for some \(e'\in T\) with variance
Therefore, we get
Therefore the variance of error \(e = \sum _{j=0}^k e_j \cdot s_j + e'\) be
\(\square \)
Proof of Theorem 1 (Our Blind Rotation)
Proof
We start from analyzing line 7 of the algorithm. By Corollary 1,
for some \({\textbf{e}}_{i, j} \in T^{d_{lev}}\) with the common variance of rows \((1 + N/2)\Vert \mu z_{i, j}\Vert _2^2 \epsilon _{gsw}^2 + 2d_{gsw}N V_{gsw}\textsf {Var}\textsf {Err}(\textsf{BK}_{i, j})\). Therefore, with each iteration within the for loop 6–8, the error variance increases by \(V_{ACC} = (1 + N) \epsilon _{gsw}^2 + 2d_{gsw}N V_{gsw}\beta ^2\). Hence, the error variance of the resulting RLEV ciphertext \(\textsf{ACC}'_i\) of the for loop is \(n\cdot ((1 + N) \epsilon _{gsw}^2 + 2d_{gsw}N V_{gsw}\beta ^2 )\) with message \(X^{\sum _{j=1}^n \tilde{a}_{i, j}z_{i, j}}\).
Note that only \(0, \dots , i\)-th indices of the MK-RLWE ciphertext \(\textsf{ACC}\) are non-zero after the \(i-th\) iteration of the for loop 4–10, hence it can be regarded as an MK-RLWE encryption of i parties. Now we let \(\textsf{ACC}_i\) be \(\textsf{ACC}\) after the \(\texttt{ExtProd}\), then by the Lemma 5, we have
where
Since \(X^{\tilde{\textbf{a}}_i, {\textbf{z}}_i}\) is a monomial, the error variance adds up every iteration and thus the error variance of the final output of our new blind rotation algorithm is
\(\square \)
Rights and permissions
Copyright information
© 2024 International Association for Cryptologic Research
About this paper
Cite this paper
Kwak, H., Min, S., Song, Y. (2024). Towards Practical Multi-key TFHE: Parallelizable, Key-Compatible, Quasi-linear Complexity. In: Tang, Q., Teague, V. (eds) Public-Key Cryptography – PKC 2024. PKC 2024. Lecture Notes in Computer Science, vol 14604. Springer, Cham. https://doi.org/10.1007/978-3-031-57728-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-57728-4_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-57727-7
Online ISBN: 978-3-031-57728-4
eBook Packages: Computer ScienceComputer Science (R0)