Computing on encrypted data
The revolutionary idea
Since the very beginning of cryptography, one rule seemed absolute: to use a piece of data, you must first decrypt it. Homomorphic encryption breaks this rule.
The revolutionary idea
A homomorphic encryption scheme makes it possible to perform computations directly on encrypted data, without ever decrypting it. Once the result is decrypted, you obtain exactly the same value as if the computation had been carried out on the plaintext data.
In other words, the encryption "lets operations through." You can add or multiply messages hidden inside their ciphertexts, and recover at the end the sum or the product of the plaintext messages.
An intuitive example
Imagine an encryption function E and its decryption function D. The scheme is homomorphic for addition if, for two messages m1 and m2:
D( E(m1) ⊕ E(m2) ) = m1 + m2
The ⊕ operation is performed on the ciphertexts, without knowing m1, m2, or the decryption key. The result stays encrypted; only the holder of the private key will be able to read m1 + m2 at the end.
The game-changing scenario: the untrusted cloud
The flagship use case is delegated computation. You hold sensitive data (medical records, financial data) and you want to entrust a heavy computation to a powerful cloud service — but you do not trust it to see your data in the clear.
YOU (have the key) CLOUD (untrusted)
----------------- ------------------
plaintext data
|
[encrypt] ---- send ----> encrypted data
|
[compute on ciphertext]
|
plaintext result <--- return --- encrypted result
^
[decrypt]
The cloud receives only encrypted data, performs the requested computation, and returns a result that is still encrypted. It has never seen a single piece of data in the clear. Back on your side, you decrypt and obtain the correct result.
Why it is powerful
Confidentiality is preserved during processing, not only at rest or in transit. This is a major difference: classical encryption protects stored or transmitted data, but it must be decrypted in order to be processed. Homomorphic encryption protects the data even during computation.
This opens the door to services that work on our information without ever accessing it: a search engine that does not know what you are looking for, a medical analysis service that does not see your health data.
In summary
Homomorphic encryption makes it possible to compute directly on encrypted data: the decrypted result is identical to the one you would have obtained on the plaintext data. Its flagship application is computation delegated to an untrusted cloud, which processes the data without ever seeing it, thereby preserving confidentiality during processing.

