OpenFHE

OpenFHE is an open-source cross platform software library that provides implementations of fully homomorphic encryption schemes. OpenFHE is a successor of PALISADE and incorporates selected design features of HElib, HEAAN, and FHEW libraries.

PALISADE
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 and a later Series A round led by Intel Capital.

OpenFHE
PALISADE authors along with selected authors of HElib, HEAAN, and FHEW libraries released a new library in July 2022. 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.

Features
OpenFHE includes the following features:


 * Post-quantum public-key encryption
 * Fully homomorphic encryption (FHE)
 * Brakerski/Fan-Vercauteren (BFV) scheme for integer arithmetic with approximate bootstrapping and RNS optimizations
 * Brakerski-Gentry-Vaikuntanathan (BGV) scheme for integer arithmetic with RNS optimizations
 * Cheon-Kim-Kim-Song (CKKS) scheme for real-number arithmetic with RNS optimizations
 * Ducas-Micciancio (FHEW) scheme for Boolean circuit evaluation with optimizations
 * Chillotti-Gama-Georgieva-Izabachene (TFHE) scheme for Boolean circuit evaluation with extensions
 * Multiparty extensions of FHE
 * Threshold FHE for BGV, BFV, and CKKS schemes
 * Proxy re-encryption for BGV, BFV, and CKKS schemes