Multi-Key Homomorphic Encryption Scheme with Multi-Output Programmable Bootstrapping
Abstract
:1. Introduction
1.1. Contributions
- Ciphertext packing. In our scheme, the space of encryptable plaintext messages has multiple bits. Each party encrypts the messages with its own key to generate the RLWE ciphertext. In contrast, scheme [14] can only perform encrypted computation on binary messages. According to the characteristics of the ciphertext slot, the number of messages that each party can encrypt is not limited to one, so as to realize the ciphertext packing of the scheme.
- Bootstrapping is not required for every homomorphic operation. In this paper, we separate the homomorphic operation of multi-key ciphertexts from bootstrapping. Consequently, it is not necessary to perform a bootstrapping to refresh the ciphertext noise after one multi-key ciphertext homomorphic computation, while the known multi-key TFHE schemes require a bootstrapping operation after each gate run.
- Programmable bootstrapping with multiple outputs. Since each party can encrypt the plaintext message space to achieve high accuracy, the Look-up table (LUT) of multiple functions can be set according to the plaintext space when performing multi-party joint computation. By doing this, you can homomorphically evaluate multiple functions while performing a single bootstrapping operation.
1.2. Methodology Overview
1.3. Related Works
1.4. Organization
2. Background Knowledge
2.1. Notation
2.2. LWE and RLWE
- Search (R)LWE Problem: For a uniform random secret , given any number of LWE (or RLWE) independent sampling distribution, find the corresponding LWE secret (or RLWE secret).
- Decisional (R)LWE Problem: For a fixed LWE secret (or RLWE secret), the LWE (or RLWE) samples are distinguished from the samples sampled from (or ) uniform distribution.
2.3. Part of the Components of TFHE
2.3.1. Gadget Decomposition
2.3.2. Modulus Switching
2.3.3. Sample Extract
2.3.4. Look-Up Table
2.4. Multi-Key Homomorphic Encryption
- Setup: . Takes the security parameter as an input, returns the public parameter .
- Key Generation: . Generates a pair of private keys and public keys. We assume that the private keys and public keys set the index corresponding to each party.
- Encryption: . Encrypts a message and returns a ciphertext . Similarly, we assume that the index of each ciphertext corresponds to the ciphertext under the corresponding key.
- Decryption: . Given a ciphertext with the corresponding sequence of secret keys . Decrypts the ciphertext into a message .
- Homomorphic Evaluation: . Given a circuit and multi-key ciphertexts with the corresponding set of public keys , it returns a ciphertext . We assume that the output ciphertext contains information about the relevant parties involved.
3. The Building Blocks of Basic Scheme
3.1. Basic Modules for LWE Ciphertext and RLWE Ciphertext
- Setup(): Given as the input security parameter, generate the dimension n of the LWE, the uniform distribution , Gaussian distribution parameter , the ciphertext modulus q, and set the variable . Generate the dimension N of RLWE, the key distribution , Gaussian distribution parameter and the ciphertext modulus q. Set a CRS , let the LWE public parameter and RLWE public parameter , returns parameter .
- KeyGen(): Sample the LWE secret , set the LWE secret key . Sample the RLWE secret , set the RLWE secret key . Sample as an error vector and set the as a public key. Returns the triple .
- Enc(): To encrypt a message . This is the standard LWE encryption. Generate samples and . Let (mod q) and returns the ciphertext .
- SwitchKeyGen(): Generate LWE-to-RLWE key-switching keys. Enter the LWE key and the RLWE key . For , generate sample and , let (mod q), makes , and return the key-switching keys .
- PKSwitch(): Given the LWE-to-RLWE packing key , p LWE ciphertexts and p corresponding index for , packing the LWE ciphertexts into a RLWE ciphertext. Compute (mod q), let (mod q), (mod q). Return the packaged RLWE ciphertext .
- MKSwitch(): Given the LWE ciphertext under the concatenated key and a sequence of key-switching keys , let (mod q) for and (mod q), (mod q). Returns the RLWE ciphertext after the key-switching.
- UniEnc(): Given a RLWE key , enter a plaintext message . Generate the ciphertext as follows:
- Sample and error . Set ;
- Sample error , set .
3.2. Relinearization and Hybrid Product
- RLKeyGen(t): Given a key . Calculate and return UniEnc().
- ReLin(): Input a multi-key RLWE ciphertext , and the relinearization keys and public keys of the k participants. Assuming ciphertext , let . The calculation of the multiplicity of ciphertext associated with the kth party concatenated key follows the following method:Let (mod q), , for . And then for , iterative computations (mod q), (mod q) and (mod q). Returns the ciphertext after the multiplicative re-linear product.
- Prod(): Input multi-key RLWE ciphertext and the ith party’s uni-encryption ciphertext and k participants public keys . Assuming RLWE ciphertext , let , for . The calculation follows the following method:Let , return the ciphertext after the hybrid product , where , and for .
- CMux(): Given two multi-key RLWE ciphertexts , and the uni-encrypted ciphertext of the ith party and the public keys of the k parties. Return the ciphertext .
4. MKHE with Multi-Output Bootstrap
4.1. Description
- MKHE.Setup(): Given the security parameter . Run Setup() to generate the LWE public parameter and the RLWE public parameter . Return the public parameter .
- MKHE.KeyGen(): Suppose that each party independently generates its own keys based on the input parameter and follows the following method:
- Run KeyGen() to generate the LWE secrets, RLWE secrets and public keys as the triple . Assuming , let and . Return the LWE secret .
- Run SwitchKeyGen() to generate packing key-switching keys and return.
- Run RLKeyGen() to generate the relinearization keys .
- Run UniEnc() to generate for , let .
- Run SwitchKeyGen() to generate key-switching keys .
Public the quadruples of public keys, relinearization keys, bootstrapping keys, and key-switching keys. - MKHE.Enc(): Take a message , secret and packing key-switching keys . Run Enc() to generate LWE ciphertext , then run to pack LWE ciphertext into a RLWE ciphertext, generate RLWE ciphertext .
- MKHE.Dec(): Given a ciphertext and a set of keys of the associated partys, set key . Compute to decrypt the RLWE ciphertext.
- MKHE.Add(): Given two RLWE ciphertexts , comput the ciphertext (mod q) and return .
- MKHE.Mult(): Given two RLWE ciphertexts , relinearization keys and public keys by all parties involved. First calculate , then run and return .
- MKHE.BS(): Given a multi-key LWE ciphertext , group formed by public keys, bootstrapping keys and key-switching keys of the k parties, LUT functions and modulus switching parameters .
- Compute (mod ), (mod ) for , where .
- According to the LUT function, generates a trivial RLWE ciphertext .
- Let . Given and , recursive run generation .
- Given , run to iterative extraction and generate the LWE ciphertext .
- Let for , run for . Return RLWE ciphertexts with respect to the concatenated keys.
4.2. Distributed Decryption
- MKHE.PartDec(): Given the term of the RLWE ciphertext that needs to be decrypted, as well as the RLWE key of the ith party, sample an error . Generate message (mod q) and return.
- MKHE.Merge(): Provide the first item of RLWE ciphertext, are the partially decrypted messages from all participants. Calculate (mod q). Return .
5. Analysis
5.1. Security
- LWE problem. The LWE parameters are obtained according to the parameter generation, secret . Let as an error distribution over . The decisional learning with errors problem is to distinguish distributions and , among them , .
- RLWE problem. The RLWE parameters are obtained according to the parameter generation, secret . Let as an error distribution over . The decisional ring learning with errors problem is to distinguish distributions and , among them , .
5.2. Noise Analysis
- Hybrid product. The bootstrapped ciphertext is a uni-encrypted set of LWE keys , and the phase is computed. Among them , and . Hence, . To obtain the calculated noise, we use the following equation: . and are noises generated by the decomposition. So, it is necessary to complete the noise variance of the hybrid product once.
- CMux gate. Since the secret keys are sampled from a uniform binary distribution, are computed iteratively for . Then, the uni-encrypted ciphertext of is used for homomorphic computation. Let , calculate the hybrid product once to get the phase . is regarded as the result of the homomorphic addition of two RLWE keys. Since the initial RLWE ciphertext is noise-free, the amount of noise increase after each run of the CMux gate can be considered as . Run the CMux gate times in a bootstrapping operation; then, the final noise variance is .
- Key Switching. The above computation is then extracted to generate LWE ciphertexts. Let one of them be , and the key switching converts it into RLWE ciphertexts . So there’s
5.3. Performance Analysis
6. Discussion
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Gentry, C. Fully Homomorphic Encryption Using Ideal Lattices. In Proceedings of the 41st ACM Symposium on Theory of Computing, STOC ‘09, New York, NY, USA, 31 May–2 June 2009; pp. 169–178. [Google Scholar] [CrossRef] [Green Version]
- Brakerski, Z.; Gentry, C.; Vaikuntanathan, V. (Leveled) Fully Homomorphic Encryption without Bootstrapping. ACM Trans. Comput. Theory 2014, 6, 1–36. [Google Scholar] [CrossRef] [Green Version]
- Brakerski, Z. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP. In Proceedings of the Advances in Cryptology—CRYPTO 2012, Santa Barbara, CA, USA, 19–23 August 2012; Safavi-Naini, R., Canetti, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 868–886. [Google Scholar] [CrossRef] [Green Version]
- Fan, J.; Vercauteren, F. Somewhat Practical Fully Homomorphic Encryption. IACR Cryptology ePrint Archive. Paper 2012/144. 2012. Available online: https://eprint.iacr.org/2012/144 (accessed on 10 May 2023).
- Gentry, C.; Sahai, A.; Waters, B. Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based. In Proceedings of the Advances in Cryptology—CRYPTO 2013, Santa Barbara, CA, USA, 18–22 August 2013; Canetti, R., Garay, J.A., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; pp. 75–92. [Google Scholar] [CrossRef] [Green Version]
- Chillotti, I.; Gama, N.; Georgieva, M.; Izabachène, M. Faster Fully Homomorphic Encryption: Bootstrapping in Less Than 0.1 Seconds. In Proceedings of the Advances in Cryptology—ASIACRYPT 2016, Hanoi, Vietnam, 4–8 December 2016; Cheon, J.H., Takagi, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 3–33. [Google Scholar] [CrossRef]
- Cheon, J.H.; Kim, A.; Kim, M.; Song, Y. Homomorphic Encryption for Arithmetic of Approximate Numbers. In Proceedings of the Advances in Cryptology—ASIACRYPT 2017, Hong Kong, China, 3–7 December 2017; Takagi, T., Peyrin, T., Eds.; Springer: Cham, Switzerland, 2017; pp. 409–437. [Google Scholar] [CrossRef]
- 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, STOC ‘12, New York, NY, USA, 19–22 May 2012; pp. 1219–1234. [Google Scholar] [CrossRef] [Green Version]
- Clear, M.; McGoldrick, C. Multi-identity and Multi-key Leveled FHE from Learning with Errors. In Proceedings of the Advances in Cryptology—CRYPTO 2015, Santa Barbara, CA, USA, 16–20 August 2015; Gennaro, R., Robshaw, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2015; pp. 630–656. [Google Scholar] [CrossRef] [Green Version]
- Mukherjee, P.; Wichs, D. Two Round Multiparty Computation via Multi-key FHE. In Proceedings of the Advances in Cryptology—EUROCRYPT 2016, Vienna, Austria, 8–12 May 2016; Fischlin, M., Coron, J.S., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 735–763. [Google Scholar] [CrossRef]
- Peikert, C.; Shiehian, S. Multi-key FHE from LWE, Revisited. In Proceedings of the Theory of Cryptography, Tel Aviv, Israel, 10–13 January 2016; Hirt, M., Smith, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 217–238. [Google Scholar] [CrossRef]
- Brakerski, Z.; Perlman, R. Lattice-Based Fully Dynamic Multi-key FHE with Short Ciphertexts. In Proceedings of the Advances in Cryptology—CRYPTO 2016, Santa Barbara, CA, USA, 14–18 August 2016; Robshaw, M., Katz, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 190–213. [Google Scholar] [CrossRef]
- Chen, L.; Zhang, Z.; Wang, X. Batched Multi-hop Multi-key FHE from Ring-LWE with Compact Ciphertext Extension. In Proceedings of the Theory of Cryptography, Baltimore, MD, USA, 12–15 November 2017; Kalai, Y., Reyzin, L., Eds.; Springer: Cham, Switzerland, 2017; pp. 597–627. [Google Scholar] [CrossRef]
- Chen, H.; Chillotti, I.; Song, Y. Multi-Key Homomorphic Encryption from TFHE. In Proceedings of the Advances in Cryptology—ASIACRYPT 2019, Kobe, Japan, 8–12 December 2019; Galbraith, S.D., Moriai, S., Eds.; Springer: Cham, Switzerland, 2019; pp. 446–472. [Google Scholar] [CrossRef]
- Chillotti, I.; Gama, N.; Georgieva, M.; Izabachène, M. Faster Packed Homomorphic Operations and Efficient Circuit Bootstrapping for TFHE. In Proceedings of the Advances in Cryptology—ASIACRYPT 2017, Hong Kong, China, 3–7 December 2017; Takagi, T., Peyrin, T., Eds.; Springer: Cham, Switzerland, 2017; pp. 377–408. [Google Scholar] [CrossRef]
- Chillotti, I.; Gama, N.; Georgieva, M.; Izabachène, M. TFHE: Fast Fully Homomorphic Encryption Over the Torus. J. Cryptol. 2020, 33, 34–91. [Google Scholar] [CrossRef]
- Regev, O. On Lattices, Learning with Errors, Random Linear Codes, and Cryptography. J. ACM 2009, 56. [Google Scholar] [CrossRef]
- Lyubashevsky, V.; Peikert, C.; Regev, O. On Ideal Lattices and Learning with Errors over Rings. J. ACM 2013, 60, 1–35. [Google Scholar] [CrossRef]
- Chillotti, I.; Joye, M.; Ligier, D.; Orfila, J.B.; Tap, S. CONCRETE: Concrete Operates oN Ciphertexts Rapidly by Extending TfhE. In Proceedings of the WAHC 2020—8th Workshop on Encrypted Computing & Applied Homomorphic Cryptography, Virtual, 15 December 2020; Available online: https://inria.hal.science/hal-03926650 (accessed on 20 April 2023).
- Chillotti, I.; Ligier, D.; Orfila, J.B.; Tap, S. Improved Programmable Bootstrapping with Larger Precision and Efficient Arithmetic Circuits for TFHE. In Proceedings of the Advances in Cryptology—ASIACRYPT 2021, Singapore, 6–10 December 2021; Tibouchi, M., Wang, H., Eds.; Springer: Cham, Switzerland, 2021; pp. 670–699. [Google Scholar] [CrossRef]
- Li, N.; Zhou, T.; Yang, X.; Han, Y.; Liu, W.; Tu, G. Efficient Multi-Key FHE With Short Extended Ciphertexts and Directed Decryption Protocol. IEEE Access 2019, 7, 56724–56732. [Google Scholar] [CrossRef]
- 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, CCS ‘19, New York, NY, USA, 11–15 November 2019; pp. 395–412. [Google Scholar] [CrossRef]
- Brakerski, Z.; Vaikuntanathan, V. Fully Homomorphic Encryption from Ring-LWE and Security for Key Dependent Messages. In Proceedings of the Advances in Cryptology—CRYPTO 2011, Santa Barbara, CA, USA, 14–18 August 2011; Rogaway, P., Ed.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 505–524. [Google Scholar] [CrossRef] [Green Version]
- 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 Proceedings of the Advances in Cryptology—EUROCRYPT 2012, Cambridge, UK, 15–19 April 2012; Pointcheval, D., Johansson, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 483–501. [Google Scholar] [CrossRef] [Green Version]
- Kwak, H.; Min, S.; Song, Y. Towards Practical Multi-Key TFHE: Parallelizable, Key-Compatible, Quasi-Linear Complexity. IACR Cryptology ePrint Archive, Paper 2022/1460. 2022. Available online: https://eprint.iacr.org/2022/1460 (accessed on 12 March 2023).
- Kim, T.; Kwak, H.; Lee, D.; Seo, J.; Song, Y. Asymptotically Faster Multi-Key Homomorphic Encryption from Homomorphic Gadget Decomposition. IACR Cryptology ePrint Archive, Paper 2022/347. 2022. Available online: https://eprint.iacr.org/2022/347 (accessed on 15 March 2023).
Scheme | Hardness Assumption | Homomorphic Evaluation | Ciphertext Packaging | Multi-Output PBS |
---|---|---|---|---|
CCS19 [14] | LWE and RLWE | NAND gate | No | No |
CDKS19 [22] | RLWE | Add and Mult | Yes | No |
Ours | LWE and RLWE | Add and Mult | Yes | Yes |
Scheme | Ciphertext Space Complexity | Homomorphic Evaluation Time Complexity | Bootstrapping Time Complexity | The Number of PBS Outputs |
---|---|---|---|---|
CCS19 [14] | 1 | |||
Ours |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, L.; Huang, R. Multi-Key Homomorphic Encryption Scheme with Multi-Output Programmable Bootstrapping. Mathematics 2023, 11, 3239. https://doi.org/10.3390/math11143239
Li L, Huang R. Multi-Key Homomorphic Encryption Scheme with Multi-Output Programmable Bootstrapping. Mathematics. 2023; 11(14):3239. https://doi.org/10.3390/math11143239
Chicago/Turabian StyleLi, Lingwu, and Ruwei Huang. 2023. "Multi-Key Homomorphic Encryption Scheme with Multi-Output Programmable Bootstrapping" Mathematics 11, no. 14: 3239. https://doi.org/10.3390/math11143239
APA StyleLi, L., & Huang, R. (2023). Multi-Key Homomorphic Encryption Scheme with Multi-Output Programmable Bootstrapping. Mathematics, 11(14), 3239. https://doi.org/10.3390/math11143239