In very simple words, Homomorphic Encryption (HE) is an encryption scheme that lets us compute on encrypted data/cipher text.

Generally Encryption Schemes have 3 methods/functions -:

1. Key Generation

2. Encryption

3. Decryption

But, Homomorphic Encryption comes with an *additional capability* to compute on encrypted data. More sophisticatedly, HE has an additional **"Evaluation operation"** that computes any arbitrary function f on cipher-text.

Let's understand it better with a scenario given below:

- Alice has data m. She needs to compute some arbitrary function F over m. She does not have the capability/resources to compute F over m.
- She does not want to take any risk with data m. So, she encrypts m with public key pk. She sends Enc(m) along with F over to the server.
- The evaluation function has to be performed on the cloud. Evaluation operation in HE computes Function F over the Encrypted data i.e. F(C) i.e. F(Enc(m)).

`Result at Cloud = F(C)`

- This result is sent back to Alice. But what Alice Needs is F(m) and not F(c).
**This is where the core property of HE comes in.**

###### In HE,

`The Evaluation of F over C = Encryption of F(m)`

.

F(C) = E(F(x))*This means, when you compute function F on ciphertext C, you get the encrypted form of computing F over plain text m.* - Therefore, When Alice receives Result = F(C), she gets Enc(F(m)) which is decrypted to know F(m).

HE can be defined in one line as an encryption scheme with the following property:F(E(x)) = E(F(x))

*F is the function that we need to compute on data.*

*E referes to Encryption. x is plain text.*

I hope this clears the basic idea of Homomorphic Encryption (HE).

There’s more to come about Homomorphic Encryption . Stay updated.