IP Library Granted Patent US 12,701,002
Granted Patent B2
US 12,701,002 · App. 18/789,018 · Granted Aug 4, 2026

Method of optimizing linear transformation

Inventors: Oren Vrubel (Tel Aviv, IL); Noam Kleinburd (Hashmonaim, IL); Ilan Rosenfeld (Petah Tikva, IL)
Assignee: Chain Reaction, Ltd.
H04L9/3026G06F21/575H04L9/008G06F2221/034
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,701,002
App. No.
18/789,018
Filed
Jul 30, 2024
Granted
Aug 4, 2026
Kind
B2
Examiner
LI, MENG
Art Unit
2437
USPC
713/168
Abstract

A method and system for optimizing compute runtime and memory footprint of a linear transformation process are provided. The method includes determining a set of optimal rotation parameters, wherein the optimal rotation parameters provide an optimal tradeoff between runtime compute resources and a memory footprint for a runtime execution of the linear transformation process; initializing the linear transformation process to run a boosting technique with the determined set of optimal rotation parameters, wherein the boosting technique, when executed at runtime as part of the linear transformation process, performs at least one iteration that yields rotated ciphertexts, and wherein the at least one iteration is based on the determined set optimal rotation parameters and at least one key switching key (KSK); and loading the initialized linear transformation process to an internal memory of a hardware accelerator.

Claims (52)

1 . A method for optimizing compute runtime and memory footprint of a linear transformation process, comprising:

determining a set of optimal rotation parameters, wherein the optimal rotation parameters provide an optimal tradeoff between runtime compute resources and a memory footprint for a runtime execution of the linear transformation process; wherein the linear transformation process is a linear transformation of a ciphertext by a matrix with nonzero diagonals; wherein the rotation parameters include: a number of baby steps (β), a number of giant steps (γ), a boosting factor (bf), and a ConAcc activation flag; wherein the ConAcc activation flag indicates whether a contiguous accumulation routine is utilized as part of the linear transformation process; and wherein the optimal tradeoff comprises selecting, among configurations that satisfy a hardware memory constraint, one with a shortest program runtime;

initializing the linear transformation process to run a boosting technique with the determined set of optimal rotation parameters, wherein the boosting technique, when executed at runtime as part of the linear transformation process, performs at least one iteration that yields rotated ciphertexts, wherein the at least one iteration is based on the determined set of optimal rotation parameters and at least one key switching key (KSK), and wherein the boosting factor (bf) defines a number of key switching keys (KSKs) used in the at least one iteration; and

loading the initialized linear transformation process to an internal memory of a hardware accelerator.

2 . The method of claim 1 , further comprising: determining the optimal rotation parameters based on a size of the internal memory, hardware constraints of the hardware accelerator including a total memory limit for the hardware processing capabilities, a number of accelerators, multipliers, and CPU cores, and global parameters of a program including the linear transformation process.

3 . The method of claim 2 , wherein determining the optimal rotation parameters further comprises:

generating a plurality of configurations based on possible combinations of the global program parameters, including rotation parameters;

evaluating runtime compute resources and memory footprint required for each configuration of the plurality of configurations; and

selecting a configuration out of the plurality of configurations that satisfies the hardware memory constraint and has the shortest program runtime.

4 . The method of claim 3 , wherein the runtime compute resources are based in part on a number of digit decomposition operations, including number-theoretical transforms (NTTs) and multiplications.

5 . The method of claim 1 , further comprising:

initializing the boosting technique to perform a contiguous accumulation routine, when the ConAcc activation flag is set to true.

6 . The method of claim 5 , wherein performing the contiguous accumulation routine further comprises:

generating β ciphertext outputs one by one; and for each generated ciphertext output, accumulating the ciphertext output's contribution to each of γ accumulator ciphertexts corresponding to γ partial sums by computing the products of the ciphertext output by associated diagonals.

7 . The method of claim 6 , wherein the contiguous accumulation routine further comprises: reducing peak memory footprint in the process of multiplying diagonals by rotated ciphertext and summing products resulting from the multiplying during runtime.

8 . The method of claim 1 , wherein performing the at least one iteration further comprises:

computing one digit decomposition phase that generates temporary polynomials in a larger modulus QP from coefficients of an input polynomial;

computing a number of bf MultSum phases with bf KSKs, each MultSum phase computing two inner products between a decomposed array of polynomials and respective parts of a KSK; and

computing a number of bf permute phases of two ciphertext polynomials, wherein each MultSum phases outputs two ciphertext polynomials for the permute phases, and wherein each permute phase deterministically rearranges elements of a polynomial according to a parameter r to encode a rotation.

9 . The method of claim 8 , further comprising:

spanning a set of nonzero diagonal indices of a matrix representing the linear transformation using a set of baby step rotations (B) and a set of giant step rotations (G).

10 . The method of claim 1 , wherein the linear transformation process is executed as part of an fully homomorphic encryption (FHE) program, and wherein the hardware accelerator is an FHE fully homomorphic encryption (FHE) accelerator having an on-die memory as the internal memory.

11 . A non-transitory computer-readable medium storing a set of instructions for optimizing compute runtime and memory footprint of a linear transformation process, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

determine a set of optimal rotation parameters, wherein the optimal rotation parameters provide an optimal tradeoff between runtime compute resources and a memory footprint for a runtime execution of the linear transformation process; wherein the linear transformation process is a linear transformation of a ciphertext by a matrix with nonzero diagonals; wherein the rotation parameters include: a number of baby steps (β), a number of giant steps (γ), a boosting factor (bf), and a ConAcc activation flag; wherein the ConAcc activation flag indicates whether a contiguous accumulation routine is utilized as part of the linear transformation process; and wherein the optimal tradeoff comprises selecting, among configurations that satisfy a hardware memory constraint, one with the shortest program runtime;

initialize the linear transformation process to run a boosting technique with the determined set of optimal rotation parameters, wherein the boosting technique, when executed at runtime as part of the linear transformation process, performs at least one iteration that yields rotated ciphertexts, wherein the at least one iteration is based on the determined of set optimal rotation parameters and at least one key switching key (KSK), and wherein the boosting factor (bf) defines a number of key switching keys (KSKs) used in the at least one iteration; and

load the initialized linear transformation process to an internal memory of a hardware accelerator.

12 . A system for optimizing compute runtime and memory footprint of a linear transformation process comprising:

one or more processors configured to:

determine a set of optimal rotation parameters, wherein the optimal rotation parameters provide an optimal tradeoff between runtime compute resources and a memory footprint for a runtime execution of the linear transformation process; wherein the linear transformation process is a linear transformation of a ciphertext by a matrix with nonzero diagonals; wherein the rotation parameters include: a number of baby steps (β), a number of giant steps (γ), a boosting factor (bf), and a ConAcc activation flag; wherein the ConAcc activation flag indicates whether a contiguous accumulation routine is utilized as part of the linear transformation process; and wherein the optimal tradeoff comprises selecting, among configurations that satisfy a hardware memory constraint, one with the shortest program runtime;

initialize the linear transformation process to run a boosting technique with the determined set of optimal rotation parameters, wherein the boosting technique, when executed at runtime as part of the linear transformation process, performs at least one iteration that yields rotated ciphertexts, wherein the at least one iteration is based on the determined set optimal rotation parameters and at least one key switching key (KSK), and wherein the boosting factor (bf) defines a number of key switching keys (KSKs) used in the at least one iteration; and

load the initialized linear transformation process to an internal memory of a hardware accelerator.

13 . The system of claim 12 , wherein the one or more processors are further configured to:

determine the optimal rotation parameters based on a size of the internal memory, hardware constraints of the hardware accelerator including a total memory limit for the hardware processing capabilities, a number of accelerators, multipliers, and CPU cores, and global parameters of a program, including the linear transformation process.

14 . The system of claim 13 , wherein the one or more processors, when determining the optimal rotation parameters, are configured to:

generate a plurality of configurations based on possible combinations of the global program parameters, including rotation parameters;

evaluate runtime compute resources and memory footprint required for each configuration of the plurality of configurations; and

select a configuration out of the plurality of configurations that satisfies the hardware memory constraint and has the shortest program runtime.

15 . The system of claim 14 , wherein the runtime compute resources are based in part on a number of digit decomposition operations, including number-theoretical transforms (NTTs) and multiplications.

16 . The system of claim 12 , wherein the one or more processors are further configured to:

initialize the boosting technique to perform a contiguous accumulation routine, when the ConAcc activation flag is set to true.

17 . The system of claim 16 , wherein the one or more processors, when performing the contiguous accumulation routine, are configured to:

generate β ciphertext outputs one by one; and for each generated ciphertext output, accumulate the ciphertext output's contribution to each of γ accumulator ciphertexts corresponding to γ partial sums by computing the products of the ciphertext output by associated diagonals.

18 . The system of claim 17 , wherein the one or more processors, when performing the contiguous accumulation routine, are further configured to:

reduce peak memory footprint in the process of multiplying diagonals by rotated ciphertext and summing products resulting from the multiplying during runtime.

19 . The system of claim 12 , wherein the one or more processors, when performing the at least one iteration, are configured to:

compute one digit decomposition phase that generates temporary polynomials in a larger modulus QP from coefficients of an input polynomial;

compute a number of bf MultSum phases with bf KSKs, each MultSum phase computing two inner products between a decomposed array of polynomials and respective parts of a KSK; and

compute a number of bf permute phases of two ciphertext polynomials, wherein each MultSum phases two ciphertext polynomials for the permute phases, and wherein each permute phase deterministically rearranges elements of a polynomial according to a parameter r to encode a rotation.

20 . The system of claim 19 , wherein the one or more processors are further configured to:

span a set of nonzero diagonal indices of a matrix representing the linear transformation using a set of baby step rotations (B) and a set of giant step rotations (G).

21 . The system of claim 12 , wherein the linear transformation process is executed as part of an fully homomorphic encryption (FHE) program, and the hardware accelerator is an fully homomorphic encryption (FHE) accelerator having an on-die memory as the internal memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: VRUBEL, OREN; KLEINBURD, NOAM; ROSENFELD, ILAN
To: CHAIN REACTION, LTD.
Reel/Frame 068128/0433 →
Continuity (2)
Provisional Application 63568472 · Mar 22, 2024
Related Publication 20250300806A1 · Sep 25, 2025
References Cited (92)
US 7280696B2 · Zakrzewski et al. · 2007 [cited by applicant]
US 9281941B2 · Gentry et al. · 2016 [cited by applicant]
US 9906360B2 · Johnson et al. · 2018 [cited by applicant]
US 10075288B1 · Khedr et al. · 2018 [cited by applicant]
US 12155746B1 · Crockett · 2024 [cited by applicant]
US 20130170640A1 · Gentry · 2013 [cited by applicant]
US 20130216044A1 · Gentry et al. · 2013 [cited by applicant]
US 20160164670A1 · Gentry et al. · 2016 [cited by applicant]
US 20160164676A1 · Gentry · 2016 [cited by examiner]
US 20170149796A1 · Gvili · 2017 [cited by applicant]
US 20180109376A1 · Gentry et al. · 2018 [cited by applicant]
US 20190278600A1 · Frumkin et al. · 2019 [cited by applicant]
US 20190334694A1 · Chen · 2019 [cited by examiner]
US 20190394019A1 · Gao · 2019 [cited by examiner]
US 20200076570A1 · Musuvathi et al. · 2020 [cited by applicant]
US 20200084017A1 · Bent et al. · 2020 [cited by applicant]
US 20200228307A1 · Cheon et al. · 2020 [cited by applicant]
US 20200403781A1 · Gentry et al. · 2020 [cited by applicant]
US 20210058229A1 · Jiang et al. · 2021 [cited by applicant]
US 20210194666A1 · Georgieva et al. · 2021 [cited by applicant]
US 20210211290A1 · Jindal et al. · 2021 [cited by applicant]
US 20210211291A1 · Jindal et al. · 2021 [cited by applicant]
US 20210328766A1 · No et al. · 2021 [cited by applicant]
US 20220172050A1 · Dalli et al. · 2022 [cited by applicant]
US 20220271922A1 · No · 2022 [cited by examiner]
US 20220360428A1 · Creeger et al. · 2022 [cited by applicant]
US 20220366059A1 · Sasidharan Rajalekshmi et al. · 2022 [cited by applicant]
US 20230019214A1 · Prothero · 2023 [cited by applicant]
US 20230112840A1 · Micciancio et al. · 2023 [cited by applicant]
US 20230145760A1 · Cheon · 2023 [cited by applicant]
US 20230216676A1 · Lee et al. · 2023 [cited by applicant]
US 20230291541A1 · Gupta et al. · 2023 [cited by applicant]
US 20230325529A1 · Sav · 2023 [cited by examiner]
US 20230336567A1 · Gvili · 2023 [cited by applicant]
US 20230361986A1 · Genise et al. · 2023 [cited by applicant]
US 20230385061A1 · Ren et al. · 2023 [cited by applicant]
US 20240048355A1 · Joye · 2024 [cited by applicant]
US 20240106632A1 · No et al. · 2024 [cited by applicant]
US 20240154786A1 · Hoshizuki et al. · 2024 [cited by applicant]
US 20240171372A1 · Kim et al. · 2024 [cited by applicant]
US 20240171374A1 · Tan · 2024 [cited by examiner]
US 20240362343A1 · Na et al. · 2024 [cited by applicant]
US 20240364496A1 · Chevallier-Mames et al. · 2024 [cited by applicant]
US 20240396706A1 · Dimou et al. · 2024 [cited by applicant]
US 20240421971A1 · Agrawal · 2024 [cited by examiner]
US 20250005101A1 · Taneja · 2025 [cited by examiner]
US 20250023715A1 · Bae · 2025 [cited by applicant]
US 20250047484A1 · Joye · 2025 [cited by applicant]
US 20250055672A1 · Bajpeyi et al. · 2025 [cited by applicant]
US 20250112757A1 · Kumar et al. · 2025 [cited by applicant]
US 20250150254A1 · Adir et al. · 2025 [cited by applicant]
US 20250167976A1 · Van Beirendonck · 2025 [cited by examiner]
US 20250211435A1 · Maji · 2025 [cited by examiner]
US 20250266984A1 · Cheon et al. · 2025 [cited by applicant]
US 20250279886A1 · Kao et al. · 2025 [cited by applicant]
US 20250300806A1 · Vrubel · 2025 [cited by examiner]
US 20250300807A1 · Vrubel · 2025 [cited by examiner]
US 20250300832A1 · Kleinburd · 2025 [cited by examiner]
US 20250337560A1 · Bae et al. · 2025 [cited by applicant]
US 20250343671A1 · Bae et al. · 2025 [cited by applicant]
CN 116192361A · 2023 [cited by applicant]
CN 116488788A · 2023 [cited by applicant]
CN 117394982A · 2024 [cited by applicant]
EP 4087177A1 · 2022 [cited by applicant]
KR 102616119B1 · 2023 [cited by applicant]
Wonkyung et al. “Over 100x faster bootstrapping in fully homomorphic encryption through memory-centric optimization with GPUs.”, IACR Transactions on Cryptographic Hardware and Embedded Systems (2021): 114-148; Apr. 23,… [cited by examiner]
Over 100x faster bootstrapping in fully homomorphic encryption through memory-centric optimization with GPUs (Year: 2021). [cited by examiner]
Bossuat, Jean-Philippe, Mouchet, Christian, Troncoso-Pastoriza, Juan, and Hubaux, Jean-Pierre, “Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys” accessed Jul. 9, 2024. [cited by applicant]
Cheon, Jung Hee, Han, Kyoohyung, Kim, Andrey, Kim, Miran, and Song , Yongsoo, “Bootstrapping for Approximate Homomorphic Encryption”, accessed Jul. 9, 2024. [cited by applicant]
Gentry, Craig, Halevi, Shai, Smart, Nigel P., “Better Bootstrapping in Fully Homomorphic Encryption”, published Dec. 15, 2011, accessed Jul. 9, 2024. [cited by applicant]
Halevi, Shai, Shoup, Victor, “Bootstrapping for HElib”, dated Apr. 20, 2020, pp. 1-38. [cited by applicant]
Jung, Wonkyung, Kim, Sangpyo, Ahn, Jung Ho, Cheon, Jung Hee, and Lee, Younho, “Over 100x Faster Bootstrapping in Fully Homomorphic Encryption through Memory-centric Optimization with GPUs”, Published Aug. 11, 2021, vol.… [cited by applicant]
Kim, Andrey, Lee, Yongwoo, Deryabin, Maxim, Eom, Jieun, and Choi, Rakyong, “LFHE:Fully Homomorphic Encryption with Bootstrapping Key Size Less than a Megabyte”, published May 26, 2023, accessed Jul. 9, 2024. [cited by applicant]
Kim, Jongmin, Lee, Gwangho, Kim, Sangpyo, Sohn, Glna, Kim, John, Rhu, Minsoo, Ahn, Jung Ho, “ARK:Fully Homomorphic Encryption Accelerator with Runtime Data Generation and Inter-Operation Key Rescue”, May 3, 2022, pp. 1-… [cited by applicant]
Zhou, Minxuan, et al. “FHEmem: A Processing In-Memory Accelerator for Fully Homomorphic Encryption”, arXiv:2311.16293v1 [cs.AR] Nov. 27, 2023. [cited by applicant]
Cheon, Jung Hee, Han, Kyoohyung, Han, Minki, “Faster Homomorphic Discrete Fourier Transforms and Improved FHE Bootstrapping”, accessed Dec. 23, 2024, pp. 1-18, Seoul National University, Seoul, Korea. [cited by applicant]
Kim, Jongmin, Kim, Sangpyo, Choi, Jaewan, Park, Jaiyoung, Kim, Donghwan, Ahn, Jung Ho, “Sharp: A Short-Word Hierarchical Accelerator for Robust and Practical Fully Homomorphic Encryption”, Jun. 17-21, 2023, pp. 1-15, IS… [cited by applicant]
Lattigo, “Lattigo: lattice-based multiparty homomorphic encryption library in Go”, Aug. 2024, Github, https://github.com/tuneinsight/lattigo, date accessed Dec. 23, 2024. [cited by applicant]
Samardzic, Nikola, Feldmann, Axel, Manohar, Nathan, Genise, Nicholas, Eldefrawy, Karim Peikert, Chris, “Crater Lake: A Hardware Accelerator for Efficient Unbounded Computation on Encrypted Data”, Jun. 18-22, 2022, pp. 1… [cited by applicant]
International Search Report for PCT/IB2025/050820, dated May 7, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
International Search Report for PCT/IB2025/050822, dated Apr. 30, 2025. Searching Authority, Israel Patent Office, Jerusalem. [cited by applicant]
International Search Report for PCT/IB2025/050824, dated May 7, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2025/050820, dated May 7, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2025/050822, dated Apr. 30, 2025. Searching Authority, Israel Patent Office, Jerusalem. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2025/050824, dated May 7, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Li, Ningbo et al. Efficient Multi-Key FHE With Short Extended Ciphertexts and Directed Decryption Protocol (Year: 2019). [cited by applicant]
Zhang, Kaiyuan et al. Hardware Acceleration for Fully Homomorphic Encryption Scheme Switching from CKKS to FHEW (Year: 2024). [cited by applicant]
Wu, et al. “Bootstrapping Optimization for Fully Homomorphic Encryption Schemes”, Apr. 19, 2024, PREPRINT (Version 1) available at Research Square [https://doi.org/10.21203/rs.3.rs-4194403/v1] (Year: 2024). [cited by applicant]
Bossuat, et al.; “Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys, 2021” (Year: 2021). [cited by applicant]
Cheon, et al.; “Faster Homomorphic Discrete Fourier Transforms and Improved FHE Bootstrapping, 2021” (Year: 2018). [cited by applicant]
Jung et al. “Over 100x Faster Bootstrapping in Fully Homomorphic Encryption through Memory-centric Optimization with GPUs” (Year: 2021). [cited by applicant]
Reagen, et al.; “Cheetah: Optimizing and Accelerating Homomorphic Encryption for Private Inference, 2021” (Year: 2021). [cited by applicant]