This writing was inspired from awesome, awesome-mpc, and awesome-cryptography and for our Cryptography research community.
This project designed to have a central place where everyone can find introductory and research materials, as well as open-source software designed for FHE.
Please feel free to do a pull request with any FHE software or resource you know and it is not on the list. The current classification might not be most suitable one and I am open to any suggestions.
In fact, all these different HE attempts can neatly be categorized under three types of schemes with respect to the number of allowed operations on the encrypted data as follows:
- Partially Homomorphic Encryption (PHE)
- Somewhat Homomorphic Encryption (SWHE)
- Fully Homo-morphic Encryption (FHE)
The following Figure shows the Timeline of Homomorphic Encryption(HE) schemes until Gentry’s first Fully-Homomorphic Encryption (FHE) scheme.
Gentry’s first FHE scheme motivated a large amount of research in the area, mainly with the purpose of improving the efficiency of the original scheme. A Evolution of this research is presented in the following Figure, with the most relevant references.
- Ideal lattice based (Ideal)
- Approximate Greatest Common Divisor (AGCD)
- Learning With Errors (LWE)
- Number Theory Research Unit (NTRU)
-
Ronald Rivest, Leonard Adleman and Mike Dertouzos
On Data Banks and Privacy Homomorphisms [pdf] -
Whitfield Diffie, Martin E. Hellman
New directions in cryptography [pdf] -
Ronald L. Rivest, Adi Shamir, Leonard M. Adleman
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems [pdf] -
Shafi Goldwasser and Silvio Micali
Probabilistic Encryption [pdf] -
Taher El Gamal
A Public-key Cryptosystem and a Signature Scheme based on Discrete Logarithms [pdf] -
Pascal Paillier
Public-key Cryptosystems based on Composite Degree Residuosity Classes [pdf] -
Ivan Damgard and Mads Jurik A Generalisation, a Simplification and Some Applications of Paillier's Probabilistic Public-Key System [pdf]
-
Dan Boneh, Eu Jin Goh and Kobbi Nissim
Evaluating 2-DNF Formulas on Ciphertexts [pdf]
Here I tried to reference the most recent article found on specific software since enumerating all changes including the original paper is too cumbersome.
Implementing Homomorphic Encryption An early and widely used library from IBM that supports the BGV scheme and bootstrapping.