A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Homomorphic Encryption

Research Depth 101 in the knowledge graph I know this Set as goal
540prerequisites beneath it
See this on the map →
Lattice-Based CryptographyLearning with Errors (LWE)+1 more
fhe homomorphic bootstrapping noise-management gentry

Core Idea

Homomorphic encryption (HE) allows computation on encrypted data without decrypting it. Partially homomorphic schemes support one operation (RSA: multiplication; Paillier: addition). Fully homomorphic encryption (FHE), first achieved by Gentry (2009), supports arbitrary computations — both addition and multiplication, and therefore any circuit. The key technique is bootstrapping: using the scheme to homomorphically evaluate its own decryption circuit, refreshing noisy ciphertexts. Modern FHE schemes (BGV, BFV, CKKS, TFHE) are based on lattice problems (LWE/RLWE) and are ~10,000x slower than plaintext computation, but improving rapidly. Applications include private cloud computation, encrypted machine learning, and private database queries.

Explainer

Homomorphic encryption (HE) is the holy grail of encrypted computation: perform arbitrary computations on encrypted data without ever decrypting it. The cloud sees only ciphertexts, performs operations that correspond to additions and multiplications on the underlying plaintexts, and returns an encrypted result that only the data owner can decrypt. The cloud learns nothing — not the inputs, not the intermediate values, not the output. This enables private cloud computing, encrypted machine learning inference, and secure data analysis without trusting the compute provider.

The distinction between partial and full homomorphism is critical. Partially homomorphic schemes have existed for decades: RSA supports multiplication (E(a) * E(b) = E(ab)), Paillier supports addition (E(a) * E(b) = E(a+b)), and ElGamal supports multiplication. But supporting only one operation limits the computable functions to linear combinations (Paillier) or monomial products (RSA). Fully homomorphic encryption (FHE) supports both addition and multiplication, which is sufficient for any computation (since AND and XOR form a complete Boolean basis, and these correspond to multiplication and addition modulo 2).

Craig Gentry achieved the first FHE construction in 2009, solving a problem open since Rivest, Adleman, and Dertouzos posed it in 1978. The central challenge is noise growth: lattice-based ciphertexts carry a small error term that grows with each operation. Addition increases noise linearly, multiplication quadratically. After enough operations, the noise exceeds the decryption threshold and the ciphertext becomes garbled. Gentry's breakthrough was bootstrapping: homomorphically evaluating the scheme's own decryption circuit to "refresh" a noisy ciphertext into a fresh one with reduced noise. This requires the scheme to be powerful enough to compute its own decryption (a somewhat circular requirement that Gentry resolved using a technique called squashing). Bootstrapping converts a leveled HE scheme (supporting a fixed number of operations) into a fully homomorphic one (supporting arbitrary computations).

Modern FHE schemes — BGV, BFV, CKKS, and TFHE — are based on the Learning with Errors (LWE) and Ring-LWE problems, providing security believed to resist quantum attacks. BGV and BFV compute exact integer arithmetic (useful for database queries, financial computations). CKKS computes approximate real-number arithmetic (useful for machine learning, where small precision loss is acceptable). TFHE evaluates Boolean circuits gate by gate with fast bootstrapping (useful for arbitrary computations). Performance remains the main barrier: current FHE is roughly 10,000x slower than plaintext computation for optimized applications, with ciphertexts thousands of times larger than plaintexts. But the field is improving rapidly — hardware accelerators, better algorithms, and application-specific optimizations are making practical deployment feasible for specific use cases like encrypted inference, private set intersection, and confidential analytics.

Practice Questions 5 questions

Prerequisite Chain

Understanding ZeroThe Number ZeroCounting to FiveCounting to 10Counting to 20Counting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Number Bonds to 10Addition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersIntroduction to ExponentsOrder of OperationsInteger Order of OperationsVariable ExpressionsThe Distributive PropertyVariables and Expressions ReviewIntroduction to PolynomialsAdding and Subtracting PolynomialsMultiplying PolynomialsFactorialPermutationsCombinationsCounting Principles: Addition and Multiplication RulesIntroduction to Graph TheoryPropositional Logic FoundationsLogical EquivalencesBoolean AlgebraBoolean Type and Truth ValuesComparison Operators and Boolean TestsLogical Operators and Boolean AlgebraBoolean Algebra and Fundamental LawsLogic Gates FundamentalsImplementing Boolean Functions with GatesKarnaugh Map SimplificationCombinational Circuit DesignFlip-Flops and LatchesFinite State Machines (FSMs)Deterministic Finite Automata (DFA)Nondeterministic Finite Automata (NFA)Two-Way Finite AutomataNFA to DFA Conversion (Subset Construction)DFA Properties and Minimization AlgorithmsRegular Languages: Definition and CharacterizationContext-Free Grammars (CFGs)Pushdown Automata (PDA)Equivalence of CFGs and Pushdown AutomataClosure Properties of Context-Free LanguagesLimitations of Context-Free LanguagesPumping Lemma for Context-Free LanguagesTuring MachinesVariants of Turing Machines and EquivalenceNondeterministic Time Complexity and NPThe P vs. NP ProblemComplexity Class P: Polynomial TimeHash Functions and Collision ResistanceThe RSA CryptosystemComputational Hardness AssumptionsLattice-Based CryptographyLearning with Errors (LWE)Homomorphic Encryption

Longest path: 102 steps · 540 total prerequisite topics

Prerequisites (3)

Leads To (0)

No topics depend on this one yet.