In cryptography, homomorphic encryption is encryption that has certain algebraic characteristics that make it switch with a mathematical operation, i.e. the deciphering of the result of this operation on encrypted data gives the same result as this operation on unencrypted data; this property allows calculations to be entrusted to an external agent, without the data or results being available to that agent.
An example of applying homomorphic encryption for computing delegation could be the case where a user would like to make an expensive calculation – which he does not necessarily have the resources to run it – and would like to use a cloud computing service that he does not necessarily trust to perform his calculations. Homomorphic encryption is an active area of research.
This feature is desirable in today’s communication system architectures. Homomorphic encryption would allow different services to be chained together without the need to expose the data of each of the services, for example, a chain of independent services of various companies could: 1) calculate the tax rate, 2) the exchange rate and 3) the sending of a commercial operation, without exposing the data of each of the services involved in the entire operation.4Homomorphic encryption systems are cryptographically malleable by design. Homomorphic ownership of some cryptographic systems or cryptosystems can be used to develop secure voting systems,5anti-collision hash functions, private information retrieval systems, and enable widespread use of cloud computing, ensuring the confidentiality of processed data.
---
An encryption system that is homomorphic in the sum or the product is said to be partially homomorphic. In the following examples, the notation E (x) is used to represent the encryption of the message x.
A homomorphic cipher that supports both the sum and the product (thus preserving the ring structure of the source texts) is known as fully homomorphic encryption, also known by the acronym FHE (Fully Homomorphic Encryption). Completely homomorphic systems have been described but are not yet efficient enough (fast) to be used in practical applications.
Using such schemas, any circuit can be homomorphically evaluated, allowing the construction of programs that can process input encrypted data and produce encrypted output data. Since these programs never decrypt input data, it can run on untrusted computers without the need to disclose the input data and its internal state. The existence of an efficient and fully homomorphic cryptographic system would have major practical implications for outsourcing private computing systems, for example in the context of cloud computing.
The principles underpinning homomorphic encryption can serve as a starting point for improving security systems (or applications) that store and manipulate personal or sensitive data. This protection guarantee derives from the ability of the homomorphic encryption system to perform arithmetic operations on encrypted data.