Homomorphic Encryption

#FHE

Definition of HE

How

History

1978: Rivest, Adleman, Dertouzos "On Data Banks and Privacy Homomorphisms"

2009: Gentry "Fully Homomorphic Encryption Using Ideal Lattices"

Quantum kills all HE schemes using abelian groups!

Thm. [Watrous] Let G be a solvable (e.g., abelian) group given by generators. There is a poly-time quantum algorithm to compute |G| (with small error prob.)

The attack [Armknecht et al. '14]:

  1. Encryption of 0 (group identity) are a subgroup H of C
  2. Compute generators h1,,ht of H by encrypting 0's
  3. Challenge ciphertext cH iff |h1,,hk|=|c,h1,,hk|

Why Noise Accumulates in FHE

  1. Encryption Process:
  1. Homomorphic Operations:
  1. Repeated Operations:

Bootstrapping

Bootstrapping in Fully Homomorphic Encryption (FHE) is a technique used to refresh the ciphertext to prevent it from becoming too noisy during computation.

  1. Noise Accumulation:
    • Each homomorphic operation (addition or multiplication) adds a certain amount of noise to the ciphertext. As more operations are performed, the noise increases.
    • If the noise exceeds a certain threshold, the ciphertext becomes undecipherable, meaning the decryption will fail to produce the correct result.
  2. Bootstrapping:
    • Bootstrapping is a process where a noisy ciphertext is decrypted and then re-encrypted, but this is done homomorphically.
    • The key idea is to use a homomorphic encryption scheme that can evaluate its decryption function. By doing this, the ciphertext is “refreshed,” meaning the noise level is reduced, and further computations can be performed on it.
      • Decryption Circuit: The FHE scheme can evaluate the decryption circuit on a ciphertext using another ciphertext that encrypts the secret key. This process produces a new ciphertext with reduced noise.
  3. Implementation Steps:
    • Evaluate Decryption Homomorphically: Given a ciphertext c and an encrypted secret key sk_enc, the FHE scheme evaluates the decryption function homomorphically:
      • D(c, sk_enc), resulting in a new ciphertext c' that encrypts the same plaintext but with less noise.
    • Re-encryption: The result of the homomorphic decryption is re-encrypted to produce a fresh ciphertext.
  4. Benefits of Bootstrapping:
    • Unlimited Computations: By periodically applying bootstrapping, it is possible to perform an unlimited number of homomorphic operations without worrying about the noise level becoming too high.
    • Maintain Ciphertext Integrity: Bootstrapping ensures that the ciphertext remains valid and decryptable throughout extensive computations.