# What Is Homomorphic Encryption?

Homomorphic encryption is a form of encryption that permits users to perform computations on its encrypted data without first decrypting it. Its significance is to truly solve the problem of confidentiality when entrusting data and its operations to a third party.

**Homomorphism**

A homomorphism is a map between two algebraic structures (eg. Group, Ring, Vector space) of the same type, that preserves the operations of the structures. Mathematically speaking, this is an “operation preserving”.

**Main Types of Homomorphic Encryption**

The homomorphic encryption function refers to the encryption function of two plaintexts a and b that meet Dec(En(a)⊙En(b))=a⊕b, where En is the encryption operation, Dec is the decryption operation, ⊙, ⊕ Corresponding to operations on the plaintext and ciphertext domains respectively.

Currently, homomorphic encryption includes multiple types of encryption schemes according to the type and frequency of mathematical operations performed on its ciphertext.

*Partially Homomorphic Encryption (PHE)*only allows selected mathematical functions to be performed on encrypted values to help data remain confidential. This means that an operation can be performed an unlimited number of times on the ciphertext. Partial homomorphic encryption (about multiply operations) is the basis of the RSA encryption algorithm , RSA encryption is usually used to establish a secure connection via SSL/TLS. In addition, common algorithms that use partially homomorphic encryption schemes include ElGamal cryptosystem and Paillier cryptosystem.

2.* Somewhat homomorphic encryption(SHE)* supports limited operations (for example, addition or multiplication) up to a certain degree of complexity, but these operations can only be performed a certain number of times.

3.* Fully Homomorphic Encryption (FHE)*: It is the strongest notion of homomorphic encryption.

By helping to keep information secure and accessible, functionality can be aligned with privacy. This encryption scheme meets the properties of additive homomorphism and multiplication homomorphism at the same time, can use any effective computable function, and makes secure multi-party calculations more effective. Unlike other forms of homomorphic encryption, it can handle arbitrary calculations of ciphertext.

**Examples**

Take the cloud computing application scenario as an example. Alice uses the Cloud to process data with Homomorphic Encryption. The whole process is like:

- Alice encrypts the data. And send the encrypted data to Cloud;

2. The processing method of Alice submitting data to Cloud is represented by the function f here;

3. Cloud processes the data under function f and sends the processed result to Alice;

4. Alice decrypts the data and gets the result.

**Applications**

Homomorphic encryption technology has a wide range of applications in the calculation of ciphertext data in a distributed computing environment, such as cloud computing, multi-party secure computing, anonymous voting, ciphertext retrieval and anonymous access, etc.; homomorphic encryption technology also has corresponding applications in data privacy protection.

**Disadvantages**

The current difficulty of homomorphic encryption technology lies in efficiency and it is not easy to find an algorithm that meets the homomorphic encryption required.