TOPICS
Search

Homomorphic Encryption


Homomorphic encryption is encryption that allows a computation on plaintext to be performed through a corresponding computation on ciphertext, without first decrypting the data (Rivest et al. 1978, pp. 172-173; Numberphile 2016). For an allowed binary operation * on plaintext, a corresponding operation  degrees on ciphertext must be computable without the decryption key and return valid ciphertext. It must satisfy

 D(c_1 degreesc_2)=D(c_1)*D(c_2),

where D denotes decryption and c_1 and c_2 are valid ciphertexts for which the operation is supported. This homomorphism condition does not by itself establish cryptographic security.

For example, for valid keys the unpadded RSA cryptosystem encrypts integer representatives a and b, with 0<=a<n and 0<=b<n, using E(x)=x^e (mod n). The identity

 (ab)^e=a^eb^e  (modn)

shows that multiplication of ciphertexts modulo n encrypts the product of their plaintexts modulo n (Rivest et al. 1978, pp. 175-176). This preserves multiplication, but does not in general preserve addition.


See also

Cipher, Homomorphism, RSA Cryptosystem

Explore with Wolfram|Alpha

References

Numberphile. "Was Your Vote Counted? (Feat. Homomorphic Encryption)." Nov. 7, 2016. https://www.youtube.com/watch?v=BYRTvoZ3Rho.Rivest, R. L.; Adleman, L.; and Dertouzos, M. L. "On Data Banks and Privacy Homomorphisms." In Foundations of Secure Computation (Ed. R. A. DeMillo, D. P. Dobkin, A. K. Jones, and R. J. Lipton). New York: Academic Press, pp. 169-177, 1978. https://people.csail.mit.edu/rivest/pubs/RAD78.pdf.

Cite this as:

Weisstein, Eric W. "Homomorphic Encryption." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/HomomorphicEncryption.html

Subject classifications