Main Page
This community wiki is curated by members of the Research and Development group at certSIGN. We hope that it will grow with time, as various topics concerning homomorphic encryption are discussed in our research seminars. Our primary goal is create a portal with useful theoretical for the researchers in our group. Additionally, any new members of our group or students that are interested in these topics can get up to speed with the activity of our group.
Theoretical aspects
As anticipated in the title, the constantly updating content in the pages listed below has an emphasis on the theoretical part of various encryption schemes. We tried to include intuitive explanations for some of the technical FHE constructions.
Homomorphic encryption Defining and describing homomorphic encryption.
FHE Theory and examples
FHE over the Integers. A presentation of the scheme proposed by Dijk, Gentry, Halevi, Vaikuntanathan
Efficient FHE from (Standard) LWE. A presentation of the scheme BV11. The concept of ``key switching" is first introduced there.
BGV. A presentation of the scheme and of the HElib library.
Fully Homomorphic Encryption without Modulus Switching Presentation of the scheme proposed by Brakerski. The BFV scheme is build on ideas presented here.
BFV. A presentation of the scheme and of the SEAL library.
GSW. Homomorphic Encryption from LWE - a presentation of the scheme proposed by Gentry, Sahai and Waters in 2013.
GSW - Bootstrapping. Ideas from the paper "Faster Bootstrapping with Polynomial Error" by Alperin-Sheriff and Peikert. A different version of GSW with tighter error bounds
certSGN Presentation of our symmetric, bounded FHE scheme
FHE Patent Image Morphology @TODO Articol: Operatii morfologice aplicate pe imagini criptate
certBridge @TODO: Description of the bridge.
Some FHE libraries
Libraries implement the underlying cryptographic operations of a FHE scheme. These usually provide key generation, encryption, decryption, homomorphic addition and multiplication interfaces. The libraries listed below include dozens of additional functionalities for ciphertext maintenance and manipulation.
The list below is not an exhaustive one. It only includes the libraries in which members of our research group have studied and/or have experience with.
HELib - GitHub page https://github.com/homenc/HElib
SEAL - GitHub page https://github.com/microsoft/SEAL
HEAAN - GitHub page https://github.com/snucrypto/HEAAN
Concrete - GitHub page https://github.com/zama-ai/concrete
certFHE - GitHub page https://github.com/certfhe
It is important to understand that while these libraries ease the process of writing FHE-based applications, this writing process requires significant knowledge and understanding of the underlying scheme, as the libraries are relatively low-level.
"Standard programming paradigms rely on some form of data-dependent execution branching such as the if/else statements
and loops.
FHE computations, on the other hand, are by definition data independent, or they would violate the privacy guarantees. Therefore, FHE computations are frequently conceptualized as circuits, i.e., gates (or operations) connected by wires, where follows the same steps, no matter what values the input has." [1]
FHE compilers
- ↑ A. Viand, P. Jattke, A. Hithnawi. SoK: Fully Homomorphic Encryption Compilers, https://arxiv.org/abs/2101.07078 .