OpenFHE
A major contributor to this article appears to have a close connection with its subject. (November 2022) |
| OpenFHE | |
|---|---|
| Developers | New Jersey Institute of Technology, Duality Technologies, Samsung Advanced Institute of Technology, Intel Corporation, Raytheon BBN Technologies, MIT, University of California, San Diego and other contributors [1] |
| Initial release | July 19, 2022 |
| Stable release | 1.1.2
/ December 16, 2023 |
| Repository | github |
| Written in | C++ |
| Engine | |
| Platform | Microsoft Windows, MacOS, Linux |
| License | BSD 2-Clause |
| Website | openfhe |
OpenFHE is an open-source cross-platform software library that provides implementations of fully homomorphic encryption schemes.[2] OpenFHE is a successor of PALISADE and incorporates selected design features of HElib, HEAAN, and FHEW libraries.[3]
History
[edit | edit source]PALISADE
[edit | edit source]Development began with the OpenFHE precursor PALISADE (software). PALISADE adopted the open modular design principles of the predecessor SIPHER software library from the DARPA PROCEED program. SIPHER development began in 2010, with a focus on modular open design principles to support rapid application deployment over multiple FHE schemes and hardware accelerator back-ends, including on mobile, FPGA and CPU-based computing systems. PALISADE began building from earlier SIPHER designs in 2014, with an open-source release in 2017 and substantial improvements every subsequent 6 months. Much of the development was done at Raytheon BBN and NJIT.
PALISADE development was funded originally by the DARPA PROCEED and SafeWare programs, with subsequent improvements funded by additional DARPA programs, IARPA, the NSA, NIH, ONR, the United States Navy, the Sloan Foundation and commercial entities such as Duality Technologies. PALISADE has subsequently been used in commercial offerings, such as by Duality Technologies who raised funding in a seed round[4] and a later Series A round[5] led by Intel Capital.
OpenFHE
[edit | edit source]PALISADE authors along with selected authors of HElib, HEAAN, and FHEW libraries released a new library in July 2022.[6][7] The initial release of the library included all features of PALISADE v1.11 and added several new design features, such as Hardware Acceleration Layer for multiple hardware acceleration backends and new bootstrapping procedures. OpenFHE is used as an FHE backend for the Google Transpiler project.[8]
Features
[edit | edit source]OpenFHE includes the following features:
- Post-quantum public-key encryption
- Fully homomorphic encryption (FHE)
- Brakerski/Fan–Vercauteren (BFV) scheme[9][10] for integer arithmetic with approximate bootstrapping and RNS optimizations[11][12][13]
- Brakerski–Gentry–Vaikuntanathan (BGV) scheme[14] for integer arithmetic with RNS optimizations[15]
- Cheon–Kim–Kim–Song (CKKS) scheme[16] for real-number arithmetic with RNS optimizations[17][18][19][20]
- Ducas–Micciancio (FHEW) scheme[21] for Boolean circuit evaluation with optimizations[22]
- Chillotti–Gama–Georgieva–Izabachene (TFHE)[23] scheme for Boolean circuit evaluation with extensions[22]
- Multiparty extensions of FHE
- Threshold FHE for BGV, BFV, and CKKS schemes[24]
- Proxy re-encryption for BGV, BFV, and CKKS schemes[25]
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Z. Brakerski. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP, In Crypto 2012 (Springer)
- ^ Bajard JC., Eynard J., Hasan M.A., Zucca V. A Full RNS Variant of FV Like Somewhat Homomorphic Encryption Schemes, In SAC 2016 (Springer)
- ^ Halevi S., Polyakov Y., Shoup V. An Improved RNS Variant of the BFV Homomorphic Encryption Scheme, In CT-RSA 2019 (Springer)
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Z. Brakerski, C. Gentry, and V. Vaikuntanathan. Fully Homomorphic Encryption without Bootstrapping, In ITCS 2012
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ M. Blatt, A. Gusev, Y. Polyakov, K. Rohloff, and V. Vaikuntanathan. Optimized Homomorphic Encryption Solution for Secure Genome-Wide Association Studies, 2019
- ^ Han K. and Ki D.. Better Bootstrapping for Approximate Homomorphic Encryption, In CT-RSA 2020
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b D. Micciancio and Y. Polyakov. Bootstrapping in FHEW-like Cryptosystems, 2020
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).