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

