liveBook · Manning

Homomorphic encryption

As explained in Real-World Cryptography

Homomorphic encryption is encryption that permits specified computations on ciphertexts whose decrypted results correspond to computations on the underlying plaintexts.

Imagine sending encrypted medical records to a cloud service that can analyze them without seeing the records. Homomorphic encryption makes that possible: computation happens on ciphertexts, and decrypting the result reveals the corresponding computation on the plaintexts. section 15.2 section 15.2.5

Fully homomorphic encryption (FHE) supports arbitrary programs by combining additions and multiplications on encrypted values. The private-key owner alone decrypts the result; the computing service handles only ciphertexts. section 15.0 section 15.2

Homomorphic schemes differ by the operations and depth they support:

  • Partially homomorphic encryption supports one operation, such as addition or multiplication. section 15.2.1
  • Somewhat homomorphic encryption supports one operation extensively and the other only a few times. section 15.2.2
  • Leveled homomorphic encryption supports both operations up to a bounded number of layers. section 15.2.2
  • Fully homomorphic encryption supports unlimited additions and multiplications in principle. section 15.2.2

Each encrypted operation increases noise. Once noise passes a threshold, decryption fails. Bootstrapping refreshes the ciphertext by evaluating a decryption circuit on an encrypted form of the secret key, converting a leveled scheme into an FHE scheme. section 15.2.2 section 15.2.3

A restricted RSA example

With textbook RSA, multiplying a ciphertext by nᵉ produces a ciphertext that decrypts to n × message. This demonstrates multiplicative homomorphism, but RSA cannot combine arbitrary additions and multiplications; padding deliberately removes this behavior in practice. section 15.2.1

Encrypted cloud services

Potential applications include scanning encrypted email for spam, analyzing DNA without exposing genetic data, and querying an encrypted database on the server. FHE remains extremely slow, so somewhat homomorphic encryption may be the more efficient choice for limited tasks. section 15.2.5

Figure 15.6 Fully homomorphic encryption (FHE) is an encryption scheme that allows for arbitrary computations over encrypted content. Only the owner of the key can decrypt the result of the computation.

Use the diagram to trace encrypted inputs entering an untrusted service, arbitrary computation occurring over ciphertexts, and only the key owner decrypting the output. section 15.2

How Real-World Cryptography covers it

How deep it goes
Explains scheme types, noise growth, bootstrapping, RSA’s limitation, and a simplified learning-with-errors construction without implementation detail.
Examples
Uses RSA multiplication, encrypted spam detection, private genetic research, and encrypted database queries as concrete examples.
What it assumes
Assumes familiarity with RSA and learning with errors while introducing homomorphic computation and bootstrapping conceptually.
What you can do after
Evaluate/understand when encrypted computation fits a privacy-preserving cloud use case and when performance limits favor a weaker scheme.
How it connects
Connects homomorphic encryption with RSA, public-key encryption, learning with errors, secure multi-party computation, and cloud computing.

Also explained in

Compare how 2 books explain homomorphic encryption →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.