Last updated:
Homomorphic encryption is a cryptographic technique that allows mathematical operations and analysis to be performed on encrypted data without first decrypting it. When the result is decrypted, it matches the result of carrying out the corresponding operations on the original data. This lets a service process data for its owner without seeing the underlying information, including in environments such as cloud computing where the service provider may not be trusted with the plaintext.[1][2]
The idea of homomorphic encryption was envisioned in 1978 by Rivest, Adleman, and Dertouzos. In 2009, computer scientist Craig Gentry constructed the first fully homomorphic encryption scheme.[2]
Gentry compared the technique to manipulating objects inside a locked box using special gloves: computations can be performed on the contents, but only the holder of the secret key can open the box and extract the result.[2]
“Homomorphic” comes from Greek words meaning “same structure.” In mathematics, a group homomorphism is a map between groups that preserves the group operation; in homomorphic encryption, the relevant property is that operations on ciphertext correspond to operations on the underlying plaintext.[1]
A data owner can send encrypted data to a server, which computes on the ciphertext and returns an encrypted result for the owner to decrypt locally. Unlike conventional encrypted-data processing, this approach does not require the server to decrypt the data before analyzing or processing it.[2]
Schemes differ in which operations they support and how many operations can be applied. Partially homomorphic encryption (PHE) supports either addition or multiplication, but not both, and permits the supported operation to be repeated without a limit. Somewhat homomorphic encryption (SHE) supports both addition and multiplication, but only for a bounded number of operations. As operations accumulate, accuracy may deteriorate.[1][2]
Leveled fully homomorphic encryption permits an arbitrary number of computations when their sequence is specified in advance. Fully homomorphic encryption (FHE) permits an unlimited number of computations without requiring a predefined sequence, including computations that could be performed on plaintext.
These capabilities can support more complex tasks than PHE or SHE, but FHE’s computational expense can make applications impractical.[2]
RSA illustrates partial homomorphism for multiplication. In the described scheme, a message (m) is encrypted as (C = m^e \bmod n), where (e) is a public encryption exponent and (n) is the product of two suitably chosen large prime numbers. Multiplying ciphertexts for messages (m_1) and (m_2) produces the encryption of their product:
[ (m_1^e \bmod n)(m_2^e \bmod n) = ((m_1m_2)^e \bmod n). ]
Thus, multiplying the ciphertexts corresponds to multiplying the plaintext messages and encrypting the result.[1]
Homomorphic encryption can allow organizations to analyze sensitive data without disclosing the raw information to the service performing the computation.
Proposed uses include assessing disease risk from encrypted genetic data, analyzing hospital records for medical research, and training or running artificial intelligence and machine-learning algorithms on sensitive records.[2]
Other proposed applications include encrypted search, secure outsourcing of computation to cloud services, and analysis of data in ways that may help businesses meet privacy requirements such as the General Data Protection Regulation (GDPR).
In voting, encrypted choices could remain private while third parties verify totals; a partially homomorphic Paillier scheme can add encrypted votes. Supply-chain participants could also coordinate through backend systems using encrypted data without exposing sensitive raw information to contractors or vendors.[1][2]
Chainlink has also described a potential role for oracle networks in enabling artificial-intelligence algorithms to compute on encrypted data stored on blockchains in a secure, reliable, and decentralized way.[2]
Homomorphic encryption has higher computational overhead than conventional encryption, can increase processing time, and can produce larger ciphertexts.
The Splunk article describes RSA as slower and more costly than the Advanced Encryption Standard (AES), and notes that RSA is generally used for small pieces of data, such as keys, rather than large data blocks. More broadly, advances in algorithms, hardware acceleration, and open-source libraries are making homomorphic encryption more practical, while the technology remains computationally intensive and continues to develop toward wider adoption.[1]
The computational expense of FHE remains a barrier to many applications. Cost-effectiveness and scalability as areas requiring further research.[2]