IP Library › Granted Patent US 12,375,260
Granted Patent B2
US 12,375,260 · App. 18/866,178 · Granted Jul 29, 2025

Optimizing encrypted computation parameters

Inventors: Quentin Bourgerie (Paris, FR); Damien Ligier (Paris, FR); Samuel Jacques Jean Tap (Paris, FR)
Assignee: ZAMA SAS
H04L9/0618H04L9/008H04L9/40G06F9/4401
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,375,260
App. No.
18/866,178
Granted
Jul 29, 2025
Kind
B2
Abstract

Some embodiments are directed to a computer-implemented method of determining encrypted computation parameters for carrying out an encrypted computation on noisy ciphertexts. A computation graph is divided into multiple subgraphs, defined by a type and by instantiation parameters for the type. Respective sets of encrypted computation parameters are defined for the respective types. An optimization of the encrypted computation parameters is performed to minimize a computational cost of carrying out the encrypted computation according to the encrypted computation parameters. The encrypted computation parameters are constrained to satisfy a noise constraint on ciphertext noise while carrying out the encrypted computation. The noise constraint is based on respective noise constraints for respective subgraphs, defined by a noise constraint function for the type that takes at least the encrypted computation parameters for the type and the instantiation parameters of the subgraph as input.

Claims (31)

1. A computer-implemented method ( 900 ) of determining encrypted computation parameters for carrying out an encrypted computation on noisy ciphertexts, comprising:

accessing ( 910 ) data representing a computation graph of the encrypted computation;

obtaining ( 920 ) a division of the computation graph into multiple subgraphs, wherein a subgraph represents a subcomputation resulting in an output ciphertext with an input-independent noise, and is defined by a type from a set of one or more types, and by zero or more instantiation parameters for the type;

defining ( 930 ) respective sets of encrypted computation parameters for the respective types;

performing ( 940 ) an optimization of the encrypted computation parameters, wherein:

the encrypted computation parameters are optimized to minimize a computational cost of carrying out the encrypted computation according to the encrypted computation parameters; and

the encrypted computation parameters are constrained to satisfy a noise constraint on ciphertext noise while carrying out the encrypted computation, wherein the noise constraint is based on respective noise constraints for respective subgraphs, wherein a noise constraint for a subgraph of a given type is defined by a noise constraint function for the given type that takes at least the encrypted computation parameters for the given type and the instantiation parameters of the subgraph as input,

determining, based on the instantiation parameters of a first and second subgraph, that the noise constraint for the first subgraph is at least as strict as the noise constraint for the second subgraph; and

eliminating the noise constraint for the second subgraph from the optimization.

2. The method ( 900 ) of claim 1 , wherein the first and second subgraph are parameterized by a noise bound and by a 2-norm of an applied linear map, and wherein noise bound of the first subgraph is at most the noise bound of the second subgraph and the 2-norm of the first subgraph is at least the 2-norm of the second subgraph.

3. The method ( 900 ) of claim 1 , wherein the computational cost is minimized based on a cost function, wherein the cost function is based on respective costs for respective subgraphs, wherein a cost for a subgraph of a given type is defined by a cost function for the given type that takes at least the encrypted computation parameters for the given type as input and is independent from the instantiation parameters.

4. The method ( 900 ) of claim 1 , wherein the encrypted computation parameters comprise one or more of: a decomposition base of a programmable bootstrapping, a decomposition level of a programmable bootstrapping, a decomposition base of a key switching, and a decomposition level of a key switching.

5. The method ( 900 ) of claim 1 , wherein a subgraph of the multiple subgraphs comprises a programmable bootstrapping resulting in an output ciphertext, and a noise rounding of the output ciphertext.

6. The method ( 900 ) of claim 1 , wherein the optimization of the encrypted computation parameters is performed by branch-and-bound.

7. The method ( 900 ) of claim 1 , wherein the encrypted computation parameters identify respective key switching and/or bootstrapping keys to be used for respective subgraphs, wherein, if the noise constraint for the first subgraph is at least as strict as the noise constraint for the second subgraph, the key switching and/or bootstrapping key for the first subgraph is constrained to add at most as much noise as the key switching and/or bootstrapping key for the second subgraph.

8. The method ( 900 ) of claim 1 , wherein the encrypted computation parameters indicate, for respective subgraphs in which respective linear maps are applied, a respective number of programmable bootstrappings to be performed during the application of the respective linear map.

9. The method ( 900 ) of claim 8 , further comprising splitting the respective linear map into a number of respective linear maps corresponding to the number of programmable bootstrappings by minimizing a maximal 2-norm of the respective linear maps.

10. The method ( 900 ) of claim 8 , wherein, if the noise constraint for the first subgraph is at least as strict as the noise constraint for the second subgraph, the number of programmable bootstrappings for the first subgraph is constrained to be greater than or equal to the number of programmable bootstrappings for the second subgraph.

11. The method ( 900 ) of claim 1 , further comprising:

transforming an unencrypted computation graph into the computation graph of the encrypted computation; and/or

compiling the computation graph of the encrypted computation into a set of instructions for an encrypted computation engine; and/or

carrying out the encrypted computation according to the determined encrypted computation parameters.

12. A transitory or non-transitory computer-readable storage medium ( 1000 ) comprising data ( 1020 ) representing instructions which, when executed by a processor system, cause the processor system to perform the method according to claim 1 ; and/or encrypted computation parameters and/or instructions for an encrypted computation engine determined.

13. A configuration device ( 110 ) for determining encrypted computation parameters for carrying out an encrypted computation on noisy ciphertexts, comprising:

a storage ( 130 ) for storing data representing a computation graph of the encrypted computation;

a processor subsystem ( 140 ) configured to:

obtain a division of the computation graph into multiple subgraphs, wherein a subgraph represents a subcomputation resulting in an output ciphertext with an input-independent noise, and is defined by a type from a set of one or more types, and by zero or more instantiation parameters for the type;

define respective sets of encrypted computation parameters for the respective types;

perform an optimization of the encrypted computation parameters, wherein: the encrypted computation parameters are optimized to minimize a computational cost of carrying out the encrypted computation according to the encrypted computation parameters; and the encrypted computation parameters are constrained to satisfy a noise constraint on ciphertext noise while carrying out the encrypted computation, wherein the noise constraint is based on respective noise constraints for respective subgraphs, wherein a noise constraint for a subgraph of a given type is defined by a noise constraint function for the given type that takes at least the encrypted computation parameters for the given type and the instantiation parameters of the subgraph as input,

determining, based on the instantiation parameters of a first and second subgraph, that the noise constraint for the first subgraph is at least as strict as the noise constraint for the second subgraph; and

eliminating the noise constraint for the second subgraph from the optimization.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2024
From: BOURGERIE, QUENTIN; LIGIER, DAMIEN; TAP, SAMUEL JACQUES JEAN
To: ZAMA SAS
Reel/Frame 069286/0958 →
Priority Claims (1)
EP 22290035 · May 19, 2022 · regional
Continuity (1)
Related Publication 20250175322A1 · May 29, 2025
References Cited (40)
US 11177935B2 · Musuvathi et al. · 2021 [cited by applicant]
US 11277258B1 · Zhang · 2022 [cited by examiner]
US 20100014657A1 · Kerschbaum · 2010 [cited by examiner]
US 20130170640A1 · Gentry · 2013 [cited by applicant]
US 20180167197A1 · Anderson · 2018 [cited by examiner]
US 20180375640A1 · Laine · 2018 [cited by examiner]
US 20200076570A1 · Musuvathi et al. · 2020 [cited by applicant]
US 20210397988A1 · Sarpatwar · 2021 [cited by examiner]
US 20240185191A1 · Bernardi · 2024 [cited by examiner]
US 20250055671A1 · Soriente · 2025 [cited by examiner]
CN 105122721 · 2015 [cited by applicant]
CN 113553610 · 2021 [cited by applicant]
WO WO2022090407 · 2022 [cited by applicant]
International Search Report and Written Opinion of the ISA for PCT/EP2023/063315, mailed Aug. 2, 2023, 14 pages. [cited by applicant]
International Preliminary Report on Patentability for PCT/EP2023/063315, dated Aug. 9, 2024, 14 pages. [cited by applicant]
Paindavoine Marie et al., “Minimizing the No. of Bootstrappings in Fully Homomorphic Encryption”, Mar. 18, 2016, SAT 2015 18th International Conference, Austin, TX, USA, Sep. 24-27, 2015, 19 pages. [cited by applicant]
Crockett Eric Ecrockett et al., “Alchemy: A Language and Compiler for Homomorphic Encryption Made easY”, Proceedings of the 2018 IEEE/ACM International Conference on Connected Health: Applications, System and Engineerin… [cited by applicant]
Fabrice Benhamouda et al, “Optimization of Bootstrapping in Circuits”, IACR, International Association for Cryptologic Research, vol. 20160818:163919, Aug. 18, 2016, pp. 1-16. [cited by applicant]
Sangeeta Chowdhary et al., “EVA Improved: Compiler and Extension Library for CKKS”, Proceedings of the 14th ACM Workshop on Artificial Intelligence and Security, ACMPUB27, New York, NY, USA, Nov. 15, 2021, pp. 43-55. [cited by applicant]
Alexander Viand et al., “SoK: Fully Homomorphic Encryption Compilers”, 2021 IEEE Symposium on Security and Privacy (SP), 17 pages. [cited by applicant]
Ilaria Chillotti et al., “Programmable bootstrapping enables efficient homomorphic inference of deep neural networks”, Cyber Security Cryptography and Machine Learning (CSCML 2021), vol. 12716 of Lecture Notes in Comput… [cited by applicant]
M. Albrecht et al., “On the concrete hardness of Learning with Errors”, v02.1, Journal of Mathematical Cryptology, 2015, 42 pages. [cited by applicant]
M. Albrecht et al., “On the concrete hardness of Learning with Errors”, v02.2, Journal of Mathematical Cryptology, 2015, 35 pages. [cited by applicant]
R. Rothblum, “Homomorphic encryption: From private-key to public-key”, Theory of Cryptography (TCC 2011), vol. 6597 of Lecture Notes in Computer Science, Springer, 2011, pp. 219-234. [cited by applicant]
L. Ducas et al., “FHEW: bootstrapping homomorphic encryption in less than a second”, proceedings Eurocrypt 2015, 24 pages. [cited by applicant]
I. Chillotti et al., “Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds”, proceedings Asiacrypt 2016, 31 pages. [cited by applicant]
I. Chillotti et al., “Faster packed homomorphic operations and efficient circuit bootstrapping for TFHE”, proceedings Asiacrypt 2017, 31 pages. [cited by applicant]
C. Boura et al., “CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes”, J. Math. Cryptol., 2020, 23 pages. [cited by applicant]
J. Fan and F. Vercauteren, “Somewhat Practical Fully Homomorphic Encryption”, Katholieke Universiteit Leuven, COSIC & IBBT, 19 pages. [cited by applicant]
Jung Hee Cheon et al., “Homomorphic Encryption for Arithmetic of Approximate Numbers”, proceedings Asiacrypt 2017, 29 pages. [cited by applicant]
I. Chillotti et al., “Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE”, proceedings Asiacrypt 2021, 63 pages. [cited by applicant]
Z. Liu et al., “Large-precision homomorphic sign evaluation using FHEW/TFHE bootstrapping”, Cryptology ePrint Archive 2021/1337, 29 pages. [cited by applicant]
M. Joye, “Balanced non-adjacent forms”, proceedings Asiacrypt 2021, 18 pages. [cited by applicant]
Martin R. Albrecht et al., “On the concrete hardness of Learning with Errors”, Information Security Group, Royal Holloway, University of London, Aug. 2019, 42 pages. [cited by applicant]
Hiroki Sato et al., “Speeding Up Exact Olutions to the Bootstrap and Relinearize Problems in Fully Homomorphic Encryption”, DEIM Formum 2019 15-4 (EN Abstract). [cited by applicant]
First Office Action, JP Application No. 2024-568542, May 13, 2025. [cited by applicant]
Paindavoine, Marie, et al, “Minimizing the Number of Bootstrappings in Fully Homomorphic Encryption”, SAC 2015, Lecture Notes in Computer Science 9566, pp. 25-43 (2016). [cited by applicant]
Lu Si-Qi et al, “Debug and Analysis on Fully Homomorphic Cryptography”, Journal of Cryptologic Research, 2017, 4(1):16-28. [cited by applicant]
First Office Action, CN Application No. 2023800411491, May 28, 2025. [cited by applicant]
Search Report, CN Application No. 2023800411491, May 26, 2025. [cited by applicant]