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

An IND-CPA-secure scheme is additively homomorphic if its message space is a group , with determined by , its ciphertexts lie in a set of strings of a fixed length that contains every encryption, decryption is perfectly correct, and decrypts to for all . The constructions of PIR — Ste98 — and of collision-resistant hashing — IKO05 — from such schemes use the fixed ciphertext length. Examples are Paillier’s scheme from DCR — Pai99 — and Goldwasser–Micali over — GM84.

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), and is compact: there is a polynomial such that every ciphertext output by on has length at most , independent of — Gen09. Without compactness the notion is trivial (see Compact FHE).

Bootstrappable SHE

An SHE scheme is bootstrappable if it compactly evaluates its own decryption circuit augmented by one NAND gate: for all ciphertexts output by or , the circuit lies in , and on it outputs a ciphertext of length at most the compactness bound — Gen09.

Circular-secure bootstrappable SHE

A bootstrappable SHE scheme is circular secure if it remains IND-CPA-secure when its public key is published together with encryptions, under that key, of the bits of its own secret key — Gen09. This is circular security of the scheme itself; circular security of some other scheme does not give it.

Leveled fully homomorphic encryption

Supports all polynomial-size circuits of depth at most , where is fixed at key generation, and evaluated ciphertexts have length bounded by a polynomial in and , independent of the circuit’s size, a relaxation of the definition of BGV12 and Gen09, which require one decryption circuit for every . Leveled FHE follows from LWE with sub-exponential modulus-to-noise ratio, together with polynomial-ratio LWE in a smaller dimension — BV11; without bootstrapping, at a ratio exponential in the depth — BGV12; and from LWE with polynomial modulus-to-noise ratio — BV14.

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, IND-CPA-secure and supporting every polynomial-size circuit, 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. Without compactness the notion is trivial: from any IND-CPA-secure PKE, let return together with its input ciphertexts and let decryption decrypt the inputs and evaluate — standard.

Strongly homomorphic encryption

An IND-CPA-secure public-key bit-encryption scheme is strongly homomorphic for a boolean function that is not constant, not a projection or its negation, and not an AND or OR of literals (so not NAND or NOR either), if its evaluator for is distribution-preserving: for all , the output of on fresh encryptions is statistically close to a fresh encryption — BL13.

Other results

Participates in

Builds on Homomorphic encryption

Produces Homomorphic encryption

Barriers