Homomorphic Encryption Explained: Protecting Data in Use for Security+
Encryption protects data at rest and in transit. The awkward gap has always been data in use — to compute on something, you normally have to decrypt it first, which means the data is exposed in memory to whoever controls the machine. Homomorphic encryption lets you perform calculations directly on encrypted data and get an encrypted result that, once decrypted, is correct. The processor never sees the plaintext. The cloud provider never sees the plaintext. Only the key holder does, and only at the very end. A Concrete Example Suppose you encrypt the numbers 5 and 3. You send both ciphertexts to an untrusted server and ask it to add them. It performs an operation on the ciphertexts — it has no idea what values they represent — and returns a third ciphertext. You decrypt it and get 8. The server computed a correct answer to a question it could not read, about data it could not see. That is the whole idea, and it sounds impossible until you see that some encryption schemes pres...