Homomorphic Encryption

Enables computations on encrypted data without decryption.

Homomorphic encryption is a cryptographic technique that enables computations to be performed directly on ciphertext, producing an encrypted result that, when decrypted, is the same as the result of the computations performed on the original plaintext. This property makes it particularly useful for applications where data privacy is crucial, such as cloud computing and outsourced computations, as it allows third parties to process sensitive data without ever needing to decrypt it. There are different types of homomorphic encryption, including partially homomorphic encryption (PHE), somewhat homomorphic encryption (SHE), and fully homomorphic encryption (FHE). FHE is the most powerful, allowing an arbitrary number of additions and multiplications on the ciphertext.

        graph LR
  Center["Homomorphic Encryption"]:::main
  Pre_asymmetric_encryption["asymmetric-encryption"]:::pre --> Center
  click Pre_asymmetric_encryption "/terms/asymmetric-encryption"
  Pre_lattice_based_cryptography["lattice-based-cryptography"]:::pre --> Center
  click Pre_lattice_based_cryptography "/terms/lattice-based-cryptography"
  Rel_zero_knowledge_proof["zero-knowledge-proof"]:::related -.-> Center
  click Rel_zero_knowledge_proof "/terms/zero-knowledge-proof"
  Rel_secure_multi_party_computation_smpc["secure-multi-party-computation-smpc"]:::related -.-> Center
  click Rel_secure_multi_party_computation_smpc "/terms/secure-multi-party-computation-smpc"
  Rel_confidential_computing["confidential-computing"]:::related -.-> Center
  click Rel_confidential_computing "/terms/confidential-computing"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explain Like I'm 5

Imagine putting ingredients in a locked, transparent box. A chef can shake the box and mix the ingredients perfectly without ever having the key to open it. When you finally unlock the box, you have the finished salad, even though the chef never touched or saw the actual items.

🤓 Expert Deep Dive

Homomorphic encryption (HE) is a paradigm in cryptography that allows for the computation of functions on encrypted data. This means that a third party, such as a cloud service provider, can process encrypted data without needing access to the decryption key, thereby preserving data privacy. There are three main types: partially homomorphic encryption (PHE), somewhat homomorphic encryption (SHE), and fully homomorphic encryption (FHE).

PHE schemes support only one type of operation (either addition or multiplication) an unlimited number of times. Examples include Paillier (additive) and ElGamal (multiplicative).

SHE schemes support a limited number of both addition and multiplication operations. They are more versatile than PHE but still constrained in the complexity of computations they can perform.

FHE schemes, a significant breakthrough, allow for an arbitrary number of both addition and multiplication operations. This enables the execution of any computable function on encrypted data. The primary challenge with FHE has historically been its significant computational overhead and performance penalty compared to computations on plaintext. Modern FHE schemes, such as BGV, BFV, CKKS, and TFHE, have made substantial progress in reducing this overhead, making them increasingly viable for practical applications in areas like secure cloud computing, private machine learning, and confidential data analysis.

🔗 Related Terms

📚 Sources