IP Library › Granted Patent US 12,200,101
Granted Patent B2
US 12,200,101 · App. 18/742,330 · Granted Jan 14, 2025

Semi-custom accelerator device for bootstrappable fully homomorphic encryption

Inventors: Rashmi S. Agrawal (Cambridge, MA); Ajay J. Joshi (Lexington, MA)
Assignee: Trustees of Boston University
H04L9/008
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,200,101
App. No.
18/742,330
Granted
Jan 14, 2025
Kind
B2
Abstract

An FPGA-based accelerator for bootstrappable fully homomorphic encryption (FHE) employs (1) acceleration of scalar arithmetic operations using a multi-word approach for efficient utilization of standard-width components (multipliers/adders) on custom-width operands; (2) a performant, shift-based modular reduction technique that avoids the need for expensive multipliers; (3) an improved datapath for an expensive Key Switch operation; and (4) an efficient organization of on-chip memory for storing custom-width operands and supplying them at high bandwidth to computation units.

Claims (18)

1. A computing device comprising an FPGA semi-custom accelerator device for hardware acceleration of modular arithmetic operations in a cryptography system employing a cyphertext modulus Q with associated operand bit-width log q ( v q), the semi-custom accelerator device including an array of N sets of functional units configured for parallel operation on corresponding ones of N streams of c-bit-width coefficients and producing corresponding ones of N streams of results, comprising:

an interface to a host CPU configured to execute a fully homomorphic encryption (FHE) application using the FPGA semi-custom accelerator device for bootstrappable FHE (FAB) operations with selection of parameters that are optimized for hardware constraints;

on-chip memory for storing v q-width operands and v q-width results, wherein the memory has one or more banks each organized as a two-dimensional arrangement of fixed-size memory units of bit-width m≠c, the two-dimensional arrangement having a width W and depth D of memory units, W being selected to enable storage of an integer number Wm/c of the c-bit-width coefficients across the width of the arrangement, D being selected as a quotient N/(Wm/c) to enable simultaneous retrieval of N coefficients in a single memory access cycle; and

an arithmetic unit coupled to the memory to receive the v q-width operands and produce the v q-width results, the arithmetic unit including (1) a plurality p of standard arithmetic blocks having v q/p bit-width, the arithmetic blocks operating on corresponding distinct v q/p-width portions of the v q-width operands and producing corresponding distinct v q/p-width portions of the v q-width results, and (2) custom logic interconnecting the arithmetic blocks in a manner providing for an overall v q-width arithmetic operation to produce the v q-width results from the v q-width operands,

wherein the array of N sets of functional units efficiently utilizes the memory units of the FPGA on-chip memory and maps data width of the coefficients to that of the memory banks to enable storage of up to a predetermined amount of data on-chip to reduce resource overhead.

2. The computing device of claim 1 , wherein p=2.

3. The computing device of claim 1 , wherein the custom logic includes (1) pipeline registers for receiving respective v q/p-width portions of modulus values and time-aligning them with respective outputs of the p arithmetic blocks, (2) additional standard arithmetic blocks for operating on respective time-aligned v q/p-width portions of modulus values and outputs of the p arithmetic blocks to produce respective portions of modulus-reduced arithmetic results, and (3) selection logic for selecting between the outputs of the p arithmetic blocks and the modulus-reduced arithmetic results to produce the v q-width results.

4. The computing device of claim 3 , wherein the selection logic is configured to realize a multi-condition selection based on values of respective carry outputs from the standard p arithmetic blocks, the multi-condition selection being based partly on a most-significant carry output being asserted and there being corresponding selection-specific mathematical relationships between the time-aligned v q/p-width portions of modulus values and the respective outputs of the p arithmetic blocks.

5. The computing device of claim 1 , wherein the FPGA semi-custom accelerator device further includes:

a modular reduction unit coupled to the arithmetic unit to receive (2* v q−1)-width non-reduced values and produce corresponding v q-width reduced values, the modular reduction unit including (1) a shifter operative to produce a first intermediate value v1 by a predetermined number of shifts of a second intermediate value v2, (2) an adder to produce v2 by adding v1 to a pre-computed modulus adder value, and (3) second custom logic to (a) first initialize v2 to a most-significant part of a non-reduced value from the arithmetic unit, (b) then iteratively operate the shifter and adder over successive cycles to produce a final second intermediate value v2f, and (c) then combine v2f with a least-significant part of the non-reduced value from the arithmetic unit to produce the corresponding v q-width reduced value.

6. The computing device of claim 5 , wherein the modular reduction unit is further configured and operative to perform modular reduction with respect to a set of prime elements stored as respective arrays in the memory.

7. The computing device of claim 1 further providing for hardware acceleration of a key switch operation of the FHE application, the key switch operation converting a first ciphertext M1 decryptable under a first key to a same-message second ciphertext M2 decryptable under a distinct second key, wherein:

the memory is further configured for storing operands and results of the key switch operation; and

the FPGA semi-custom accelerator device further includes a set of computing elements including a decomposition unit, an up-modulus unit, an inner product unit, and a down-modulus unit, the decomposition unit configured to generate blocks of first limbs of M1, the inner product unit having first and second sub-units, the first sub-unit configured to perform a first part of an inner product operation on the first limbs from the decomposition unit and producing an intermediate result, the second sub-unit configured to perform a remaining part of the inner product operation using the intermediate result and extended limbs generated by the up-modulus unit from the first limbs, the down-modulus unit configured to perform a modulus-reducing operation on extended-modulus results from the inner product unit to produce M2.

8. The computing device of claim 7 , wherein the first part of the inner product operation includes providing the first limbs in evaluation representation to the up-modulus unit to generate the extended limbs for use in the remaining part of the inner product operation, while avoiding use of off-chip memory for temporarily storing the limbs in coefficient representation after an up-modulus operation.

9. The computing device of claim 1 , wherein the FPGA semi-custom accelerator device further includes an Automorph unit which performs permutation for a Rotate operation of the FHE application.

10. The computing device of claim 9 , wherein the permutation by the Automorph unit includes reading a polynomial from the on-chip memory and store storing the polynomial in a

register file in a permuted order per a given rotation index k.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2024
From: AGRAWAL, RASHMI S.; JOSHI, AJAY J.
To: TRUSTEES OF BOSTON UNIVERSITY
Reel/Frame 067861/0235 →
Continuity (2)
Provisional Application 63472954 · Jun 14, 2023
Related Publication 20240421971A1 · Dec 19, 2024
References Cited (53)
US 10387122B1 · Olsen · 2019 [cited by examiner]
US 20040016002A1 · Handelman · 2004 [cited by examiner]
US 20070075746A1 · Fruhauf · 2007 [cited by examiner]
US 20160350077A1 · Peeters · 2016 [cited by examiner]
US 20180004270A1 · Journet · 2018 [cited by examiner]
US 20180315398A1 · Kaul · 2018 [cited by examiner]
US 20190044717A1 · Loisel · 2019 [cited by examiner]
US 20200067693A1 · Lhermet · 2020 [cited by examiner]
US 20200310761A1 · Rossi · 2020 [cited by examiner]
US 20210211869A1 · Lee · 2021 [cited by examiner]
US 20210320796A1 · Koziel · 2021 [cited by examiner]
US 20220012593A1 · Huang · 2022 [cited by examiner]
US 20220180158A1 · Whatmough · 2022 [cited by examiner]
US 20220255742A1 · Koziel · 2022 [cited by examiner]
US 20220405221A1 · Wang · 2022 [cited by examiner]
US 20230008622A1 · Boyd · 2023 [cited by examiner]
US 20230025869A1 · Rao · 2023 [cited by examiner]
US 20230027423A1 · Rao · 2023 [cited by examiner]
US 20230141837A1 · Moon · 2023 [cited by examiner]
US 20230188322A1 · Bajpeyi · 2023 [cited by examiner]
US 20230291541A1 · Gupta · 2023 [cited by examiner]
US 20240078283A1 · Gradstein · 2024 [cited by examiner]
US 20240160771A1 · Hansen et al. · 2024 [cited by applicant]
Riazi, et al.; “HEAX: An Architecture for Computing on Encrypted Data,” ASPLOS 2020, Mar. 16-20, 2020, pp. 1295-1309. [cited by applicant]
Turan, et al.; “HEAWS: An Accelerator for Homomorphic Encryption on the Amazon AWS FPGA,” IEEE Transactions on Computers, vol. 69, No. 8, Aug. 2020, pp. 1185-1196. [cited by applicant]
Reagen, et al.; “Cheetah: Optimizing and Accelerating Homomorphic Encryption for Private Inference,” 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA), Feb. 27-Mar. 3, 2021, pp. 26-39. [cited by applicant]
Jung, et al.; “Accelerating Fully Homomorphic Encryption Through Architecture-Centric Analysis and Optimization,” IEEE Access, vol. 9, 2021, pp. 98772-98789. [cited by applicant]
Cousins, et al.; “Designing an FPGA-Accelerated Homomorphic Encryption Co-Processor,” IEEE Transactions on Emerging Topics in Computing, vol. 5, Issue 2, 2016, pp. 193-206. [cited by applicant]
Wang, et al.; “FPGA Implementation of a Large-Number Multiplier for Fully Homomorphic Encryption,” ISCAS 2013, May 19-23, 2013, pp. 2589-2592. [cited by applicant]
Cousins, et al.; “An FPGA Co-Processor Implementation of Homomorphic Encryption,” HPEC 2014, Sep. 9-11, 2014, pp. 1-6. [cited by applicant]
Syafalni, et al.; “Efficient Homomorphic Encryption Accelerator With Integrated PRNG Using Low-Cost FPGA,” IEEE Access, vol. 10, 2022, pp. 7753-7771. [cited by applicant]
Yang, et al.; “FPGA-Based Hardware Accelerator of Homomorphic Encryption for Efficient Federated Learning,” Arxiv:2007.10560v1, Jul. 21, 2020, pp. 1-7. [cited by applicant]
Roy, et al.; “FPGA-based High-Performance Parallel Architecture for Homomorphic Computing on Encrypted Data,” 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), Feb. 16-20, 2019, pp. 387… [cited by applicant]
Su, et al.; “FPGA-Based Hardware Accelerator for Leveled Ring-LWE Fully Homomorphic Encryption,” IEEE Access, vol. 8, 2020, pp. 168008-168025. [cited by applicant]
Gener, et al.; “An FPGA-based Programmable Vector Engine for Fast Fully Homomorphic Encryption over the Torus,” Secure and Private Systems for Machine Learning (ISCA Workshop), 2021, pp. 1-7. [cited by applicant]
Ozturk, et al.; “A Custom Accelerator for Homomorphic Encryption Applications,” IEEE Transactions on Computers, vol. 66, No. 1, Jan. 2017, pp. 3-16. [cited by applicant]
Feldmann, et al.; “F1: A Fast and Programmable Accelerator for Fully Homomorphic Encryption,” MICRO 2021, Oct. 18-22, 2021, pp. 238-252. [cited by applicant]
Mkhinini, et al.; “HLS Design of a Hardware Accelerator for Homomorphic Encryption,” IEEE Design and Diagnostics of Electronic Circuits and Systems (DDECS) 2017, Apr. 19-21, 2017, pp. 1-6. [cited by applicant]
Cilardo, et al.; “Securing the Cloud with Reconfigurable Computing: An FPGA Accelerator for Homomorphic Encryption,” Design, Automation and Test in Europe (DATE) 2016, Mar. 14-18, 2016, pp. 1622-1627. [cited by applicant]
Samardzic, et al.; “CraterLake: A Hardware Accelerator for Efficient Unbounded Computation on Encrypted Data,” ISCA 2022, Jun. 18-22, 2022, pp. 173-187. [cited by applicant]
Samardzic, et al.; “BitPacker: Enabling High Arithmetic Eciency in Fully Homomorphic Encryption Accelerators,” ASPLOS 2024, Apr. 27-May 1, 2024, pp. 137-150. [cited by applicant]
Kim, et al.; “SHARP: A Short-Word Hierarchical Accelerator for Robust and Practical Fully Homomorphic Encryption,” ISCA 2023, Jun. 17-21, 2023, pp. 1-15. [cited by applicant]
Zhang, et al.; “SoK: Fully Homomorphic Encryption Accelerators,” ACM Computing Surveys, Jul. 5, 2024, pp. 1-31. [cited by applicant]
Kim, et al.; “BTS: An Accelerator for Bootstrappable Fully Homomorphic Encryption,” ISCA 2022, Jun. 18-22, 2022, pp. 711-725. [cited by applicant]
Kim, et al.; “ARK: Fully Homomorphic Encryption Accelerator with Runtime Data Generation and Inter-Operation Key Reuse,” MICRO 2022, Oct. 1-5, 2022, pp. 1237-1254. [cited by applicant]
Aikata, et al.; “REED: Chiplet-based Accelerator for Fully Homomorphic Encryption,” Arxiv 2308.02885v2, May 1, 2024, pp. 1-18. [cited by applicant]
Aikata, et al.; “Kavach: Lightweight masking techniques for polynomial arithmetic in lattice-based cryptography,” TCHES 2023, vol. 2023, No. 3, pp. 366-390. [cited by applicant]
Mukherjee, et al.; “ModHE: Modular Homomorphic Encryption Using Module Lattices Potentials and Limitations,” Cryptology eprint, 2023/895, pp. 1-36. [cited by applicant]
Roy, et al.; “HEPCloud: An FPGA-based Multicore Processor for FV Somewhat Homomorphic Function Evaluation,” IEEE Transactions on Computers, vol. 67, No. 11, 2018, pp. 1637-1650. [cited by applicant]
Hirner, et al.; “Proteus: A Pipelined NTT Architecture Generator,” IEEE Transactions on Very Large Scale Integration Systems, vol. XX, No. 18, Feb. 2024, pp. 1-11. [cited by applicant]
Krieger, et al.; “Aloha-HE: A Low-Area Hardware Accelerator for Client-Side Operations in Homomorphic Encryption,” Date 2024, pp. 1-6. [cited by applicant]
Samardzic; “Making Computation on Encrypted Data Practical through Hardware Acceleration of Fully Homomorphic Encryption,” MIT, May 2022, pp. 1-87. [cited by applicant]
Arrufat; “Optimisation and evaluation of the CraterLake FHE accelerator on FPGA,” MIT, Apr. 2024, pp. 109. [cited by applicant]
Cited By (4)
US 12,368,571 US 12,587,360 US 12,603,756 US 12,652,156