Homomorphic encryption
A homomorphic encryption (HE) scheme allows computation on encrypted data: given and , one can produce for in some function class , without decrypting. A fully homomorphic encryption (FHE) scheme supports arbitrary polynomial-time functions. The first FHE construction was given by Gentry — Gen09.
Syntax
A homomorphic encryption scheme is a tuple of efficient algorithms with respect to message space and a supported function class :
- outputs a public key and secret key,
- encrypts a message under the public key,
- decrypts a ciphertext under the secret key,
- homomorphically evaluates on ciphertexts, producing such that .
Properties
Correctness
For all and all , decryption of the evaluated ciphertext returns the correct output:
Security
A homomorphic encryption scheme is IND-CPA secure if the standard PKE semantic security game is satisfied: no efficient adversary can distinguish from for any . (IND-CCA2 security is incompatible with non-trivial homomorphism: applies to the challenge ciphertext and queries the decryption oracle on the result — folklore. IND-CCA1-secure FHE is known, e.g. from LWE in the ROM — CRRV17.)
Variations
Partially homomorphic encryption (PHE)
Supports homomorphism over a restricted class: only additions or only multiplications, but not both.
Additively homomorphic encryption
Supports only additions, e.g. Paillier from DCR — Pai99.
Multiplicatively homomorphic encryption
Supports only multiplications, e.g. ElGamal — ElGamal85, IND-CPA under DDH — TY98. Unpadded RSA is multiplicatively homomorphic but deterministic, hence not IND-CPA secure — standard.
Somewhat homomorphic encryption (SHE)
Supports both additions and multiplications, but only up to a bounded number (bounded by the multiplicative depth of the circuit).
Bootstrappable SHE
An SHE scheme is bootstrappable if contains its own decryption circuit augmented by one NAND gate, for all ciphertexts — Gen09.
Leveled fully homomorphic encryption
Supports all polynomial-size circuits of depth at most , where is fixed at key generation. Leveled FHE from LWE — BV11; without bootstrapping — BGV12.
Fully homomorphic encryption (FHE)
Supports arbitrary polynomial-time computation via bootstrapping: a special homomorphic evaluation of the decryption circuit that refreshes the noise in a ciphertext. First construction based on ideal lattices — Gen09.
Compact FHE
An FHE scheme is compact if there is a polynomial such that every ciphertext output by has length at most , independent of the evaluated function — BV11. Gentry’s original FHE is compact.
Strongly homomorphic encryption
An HE scheme is strongly homomorphic if is distribution-preserving: for all and , the output of on fresh encryptions is statistically close to a fresh encryption — BL13.
Other results
- Circular security + Bootstrappable SHE ⇒ HE
- LWE ⇒ Leveled fully homomorphic encryption
- Ring-LWE ⇒ Unkeyed DEPIR
- DCR ⇒ Additively homomorphic encryption
- DDH ⇒ Multiplicatively homomorphic encryption
- Strongly homomorphic encryption ⇒ RE
- No reduction from NP to HE
- Circular security: bootstrapped FHE publishes an encryption of its own secret key — Gen09; security in this setting is circular security. IND-CPA security does not imply it in general — KW16, AP16 — and whether LWE implies it for the LWE-based FHE schemes is open.
- Single-hop FHE with IV-CCA security (strictly stronger than CCA1) in the standard model from circular-secure LWE — YYS25
Participates in
Builds on Homomorphic encryption
- Additively homomorphic encryption ⇒ MPC with preprocessing (BDOZ) (via Additively homomorphic encryption)
- Circular security + Bootstrappable SHE ⇒ HE (via Bootstrappable SHE)
- SHE ⇒ MPC with preprocessing (SPDZ) (via Somewhat homomorphic encryption (SHE))
- Strongly homomorphic encryption ⇒ RE (via Strongly homomorphic encryption)
- MMap + Leveled FHE ⇒ iO (via Leveled fully homomorphic encryption)
- Additively homomorphic encryption + Sparse LPN ⇒ SHE (via Additively homomorphic encryption)
- Bootstrappable SHE ⇒ Leveled FHE (via Bootstrappable SHE)
Produces Homomorphic encryption
- Circular security + LWE ⇒ HE
- Circular security + Bootstrappable SHE ⇒ HE
- -th Composite Residuosity ⇒ Additively homomorphic encryption (via Additively homomorphic encryption)
- DCR ⇒ Additively homomorphic encryption (via Additively homomorphic encryption)
- DDH + Sparse Learning Parity with Noise ⇒ Somewhat homomorphic encryption (SHE) (via Somewhat homomorphic encryption (SHE))
- DDH ⇒ Multiplicatively homomorphic encryption (via Multiplicatively homomorphic encryption)
- LWE ⇒ Leveled fully homomorphic encryption (via Leveled fully homomorphic encryption)
- Additively homomorphic encryption + Sparse LPN ⇒ SHE (via Somewhat homomorphic encryption (SHE))
- QR ⇒ Additively homomorphic encryption (via Additively homomorphic encryption)
- Bootstrappable SHE ⇒ Leveled FHE (via Leveled fully homomorphic encryption)
Barriers