A curated list of amazing Homomorphic Encryption libraries, software and resources.
Libraries that can be used to implement applications using (Fully) Homomorphic Encryption.
- cuHE - GPU-accelerated HE library for NVIDIA CUDA-Enabled GPUs.
- cuFHE - CUDA-accelerated Fully Homomorphic Encryption Library.
- cuYASHE - Based on leveled fully HE scheme YASHE for GPGPUs.
- FHEW - A Fully HE library based on FHEW: Bootstrapping Homomorphic Encryption in less than a second.
- FV-NFLlib - A header-only library implementing the Fan-Vercauteren scheme.
- HEAAN - Scheme with native support for fixed point approximate arithmetic.
- HElib - Brakerski-Gentry-Vaikuntanathan (BGV) scheme.
- krypto - C++ implementation of multivariate quadratic FHE.
- Λ ○ λ - "Lol" Haskell library for ring-based lattice cryptography that supports FHE.
- lattigo - Go library for lattice-based crypto that implements various schemes.
- libScarab - C library implementing a FHE scheme using large integers.
- libshe - Symmetric somewhat HE library based on DGHV scheme.
- NFLlib - NTT-based Fast Lattice library specialized on power-of-two polynomials.
- NuFHE - GPU-accelerated HE library, faster than cuFHE, that implements the tfhe algorithms.
- PALISADE - lattice encryption library.
- petlib - Python library that implements a number of Privacy Enhancing Technologies.
- Pyfhel - A Python wrapper for SEAL, HElib, and PALISADE.
- python-paillier - Partially HE based on Paillier scheme.
- SEAL - "FullRNS" optimization of Fan-Vercauteren scheme.
- SparkFHE - Apache Spark with an add-on for FHE computations. See 📄.
- tfhe - Faster fully HE: Bootstrapping in less than 0.1 seconds.
- ALCHEMY - Haskell-based DSLs and interpreters/compilers, build on top of the lattice crypto library Lol.
- Cingulata - Compiler toolchain and RTE for running C++ programs over encrypted data.
- crypto-geofence - Geo-fencing demo application based on Paillier scheme.
- nGraph-HE - Deep Learning (DL) with HE through Intel’s DL graph compiler nGraph based on SEAL.
- Marble - A C++ framework that translates between nearly plaintext-style user programs and FHE computations.
- MORFIX Sandbox - Web-based UI to play around with the SEAL library.
- OpenMined - Decentralized data ownership & intelligence based on HE, blockchain and deep / federated learning.
- SHEEP - HE evaluation platform with a set of native benchmarks and a library agnostic language.
- CryptDB - Protecting confidentiality with encrypted query processing.
- encrypted-mongodb - Wrapper on MongoDB's Python driver that enables to query encrypted data.
- Prisma/DB - Security layer for relational database systems.
- TimeCrypt - Encrypted time-series database using homomorphic encryption-based access control.
- ZeroDB - E2E encrypted database using proxy re-encryption.
- Barthelemy, Lucas. Brief survey of Fully HE. 2016.
- Daniele Micciancio. Links to papers and implementations of Lattice Cryptography schemes.
- Gentry, Craig. A fully homomorphic encryption scheme. Stanford University, 2009.
- HomomorphicEncryption.org. An open industry, government & academic consortium working on standardization of FHE.
- KU Leuven. An introduction to homomorphic encryption.
- Vinoid Vaikuntanathan. A list of references about FHE, covering top papers in the field.
- awesome-cryptography
- awesome-crypto-papers
- awesome-mpc - Multi-Party Computation.
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Jonathan Schneider has waived all copyright and related or neighboring rights to this work.