Homomorphic encryption is a form of public-key encryption where one can perform a specific algebraic operation on the plaintext by performing an (possibly different) algebraic operation on the ciphertext. For example, knowing only C1 = (x) and C2 = (y), but not x, y, one may be able to get (x + y) by calculating C1 × C2. A homomorphic encryption scheme allows a third party to operate on encrypted values without knowing the plaintext.
Depending on the intended application, the homomorphic property can be seen as a positive or negative attribute of the cryptosystem. Homomorphic encryption schemes are malleable by design. On the other hand, the ability to enable manipulating ciphertexts without being able to decrypt can be very useful in some applications.
A fully homomorphic encryption scheme enables one to perform operations on the ciphertext to achieve both addition and multiplication on the enclosed plaintext. This enables one to compute arbitrary functions on...
- 1.Gentry C. Fully homomorphic encryption using ideal lattices. In: Proceedings of the 41st Annual ACM Symposium on Theory of Computing; 2009. p. 169–78.Google Scholar
- 2.Paillier P. Public-key cryptosystems based on composite degree residuosity classes. In: Advances in Cryptology: Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques; 1999. p. 223–38.Google Scholar
- 3.van Dijk M, Gentry C, Halevi S, Vaikuntanathan V. Fully homomorphic encryption over the integers. In: Advances in Cryptology: Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques; 2010. p. 24–43.Google Scholar