Why Homomorphic Encryption Still Isn’t Practical for Everyday Apps

Marcus Feldman

Marcus Feldman

July 9, 2026

Why Homomorphic Encryption Still Isn't Practical for Everyday Apps

Every few years, a cryptography breakthrough gets covered like it’s about to change everything overnight. Homomorphic encryption has been having one of those moments for over a decade now. The pitch is genuinely remarkable: a way to perform computations on encrypted data without ever decrypting it, so a cloud provider, a hospital, or a bank could crunch your most sensitive numbers without ever actually seeing them. No trust required. No exposure window. Just math doing what math does, on data it can never read.

I’ve spent most of my career on the unglamorous side of cryptography — building secure enclaves, key management systems, and the plumbing that keeps fintech infrastructure from leaking customer data. Homomorphic encryption (HE) comes up in almost every serious conversation about “processing data you can’t see.” And almost every time, after the initial excitement, the conversation ends the same way: it’s not ready, and it’s not ready for reasons that aren’t going away soon.

This isn’t a knock on the research. Fully homomorphic encryption is one of the most elegant ideas in modern cryptography, and the people building it are solving genuinely hard problems. But there’s a wide gap between “mathematically possible” and “something you’d ship in a product,” and that gap is where most of the breathless headlines quietly fall apart.

What Homomorphic Encryption Actually Promises

The basic idea dates back to a 1978 paper by Rivest, Adleman, and Dertouzos, who wondered whether you could design an encryption scheme where addition or multiplication on ciphertexts corresponded to addition or multiplication on the underlying plaintext. Partial versions of this — schemes that support one operation, like RSA supporting multiplication — have existed for decades. The real prize, fully homomorphic encryption (FHE), which supports arbitrary computation on encrypted data, wasn’t solved until Craig Gentry’s 2009 breakthrough using lattice-based cryptography.

Gentry’s scheme worked, but it was absurdly slow — early implementations were estimated to take trillions of times longer than the equivalent unencrypted computation. Since then, a parade of schemes (BGV, BFV, CKKS, TFHE, and others) have chipped away at that overhead, each optimized for different kinds of workloads: integers, real numbers, or boolean circuits. Performance has improved by literal orders of magnitude. And yet, more than 15 years after Gentry’s paper, you still can’t drop FHE into a typical web app and expect it to behave.

To understand why, you have to understand what the computation actually looks like under the hood — and why “orders of magnitude faster” still isn’t fast.

The Overhead Problem Nobody Fully Solves

Here’s the part that doesn’t show up in the press releases: FHE schemes encode plaintext values inside large polynomial rings, and every basic operation — even something as simple as adding two numbers — becomes an operation on enormous polynomials with thousands of coefficients. A single homomorphic multiplication can be thousands of times slower than its plaintext equivalent, and multiplications are where the real cost lives, because each one increases something called “noise” in the ciphertext.

That noise is the central headache of homomorphic encryption. Every FHE scheme encrypts your data with some intentional randomness baked in, and every operation you perform on the ciphertext adds a little more of it. Do too many multiplications in a row, and the noise eventually overwhelms the signal, making the ciphertext undecryptable. Schemes handle this with a process called “bootstrapping” — periodically refreshing the ciphertext to reduce its noise level — but bootstrapping is itself one of the most computationally expensive operations in the entire scheme. It’s the equivalent of needing to stop your car every ten miles to rebuild the engine before continuing.

The result is a nasty tradeoff. You can choose parameters that avoid frequent bootstrapping, but that means using enormous ciphertext sizes and correspondingly larger memory and bandwidth costs. Or you tune for smaller ciphertexts and accept far more bootstrapping operations. Either way, you’re paying a tax that has no equivalent in the unencrypted world, and that tax scales with how complex your computation is — not just how much data you have.

Close-up of a padlock icon overlaid on flowing binary code and mathematical equations, representing the computational overhead inside encrypted operations

Where the Overhead Actually Shows Up

Numbers help make this concrete. Benchmarks for CKKS, one of the more practical schemes for real-number arithmetic, show homomorphic additions running perhaps 10 to 100 times slower than plaintext equivalents — survivable for some workloads. But homomorphic multiplication of ciphertexts routinely runs several thousand times slower, and operations like comparisons or divisions, which have to be approximated through polynomial tricks since FHE schemes fundamentally only support addition and multiplication, can be slower still.

Training or running inference on a neural network — something people love to cite as a target use case for “private machine learning” — involves millions of multiply-accumulate operations. Even a small model that takes milliseconds to run in plaintext can take minutes or hours under FHE, depending on the scheme and parameters. Ciphertext sizes compound the problem: a single encrypted 32-bit integer under many FHE schemes can balloon to tens or hundreds of kilobytes, meaning a request that would be a few bytes in plaintext turns into megabytes of network traffic once encrypted.

This is why almost every real HE deployment you’ll find today is narrow and specialized: computing an aggregate statistic across encrypted medical records, running a single logistic regression for private genomic risk scoring, or doing basic encrypted matching for advertising measurement. These are use cases chosen specifically because the computation is shallow — few multiplications, modest precision requirements, and workloads that can tolerate running as an offline batch job rather than a live request.

The Parts That Don’t Show Up in Demos

Performance is the headline problem, but it’s not the only one. A few others rarely get airtime:

  • Precision and approximation. Schemes like CKKS work with approximate arithmetic, meaning results carry rounding error that compounds across operations. For financial or medical applications where exact answers matter, this is a real constraint, not a rounding footnote.
  • Circuit design complexity. You can’t just “port” existing code to run under FHE. Comparisons, branching logic, and loops with data-dependent bounds — completely ordinary things in normal software — have to be redesigned as fixed-depth arithmetic circuits, often by cryptography specialists, not application developers.
  • Key and parameter management. Choosing secure parameters that also perform reasonably requires real cryptographic expertise; get it wrong and you either leak security guarantees or tank performance further.
  • Multi-party scenarios get harder, not easier. Many proposed use cases (collaborative fraud detection across banks, joint research across hospitals) require multiple parties to hold key material, which introduces coordination and trust problems that pure single-key FHE doesn’t solve on its own — that’s usually where multi-party computation or threshold cryptography gets bolted on, adding another layer of engineering.

None of these are permanently unsolvable. Hardware acceleration — FPGAs and ASICs purpose-built for lattice arithmetic — is a genuinely promising direction, and companies including Intel, Duality, and several well-funded startups are actively building silicon aimed at exactly this problem. Compiler projects like Microsoft’s SEAL, Zama’s Concrete, and IBM’s HElib have made huge strides in making FHE more approachable for engineers who aren’t cryptographers by training. But “promising direction” and “ready for your app’s checkout flow” are very different claims, and it’s worth being honest about which one is actually true today.

A second close-up view of encrypted binary data streams with mathematical formulas, illustrating the layered complexity of homomorphic computation

What Actually Solves These Problems Today

The uncomfortable truth for HE evangelists is that most of the problems it promises to solve already have cheaper, boring solutions that get deployed instead. Trusted execution environments — Intel SGX, AMD SEV, ARM TrustZone — let you run ordinary code on encrypted memory with a hardware-backed guarantee that even the cloud provider can’t peek inside, at a fraction of the performance cost. They come with their own tradeoffs (side-channel attacks against SGX have been a persistent research theme), but for most “process data without seeing it” use cases, they’re the pragmatic answer companies actually ship.

For statistical queries across siloed data, differential privacy and secure multi-party computation (MPC) protocols frequently get the job done with far less overhead than FHE, especially when the parties involved are willing to run an interactive protocol rather than needing the strict non-interactivity that makes FHE attractive. And for a huge share of “sensitive data processing” problems, the actual answer is simpler still: minimize what data you collect, encrypt it at rest and in transit with standard, fast, well-understood cryptography, and enforce strict access controls. Most data breaches aren’t failures of cryptographic theory — they’re failures of access management, and no amount of homomorphic math fixes a leaked credential.

Where Homomorphic Encryption Is Actually Earning Its Keep

None of this means HE is a dead end — it means it’s a specialist’s tool being marketed like a general one. Private set intersection for ad conversion measurement, where companies like Google and Meta already use HE-adjacent techniques to measure ad performance without directly sharing user-level data between parties, is a real, shipped use case. Encrypted genomic risk scoring pilots at research hospitals are real. Some financial institutions use HE for narrow fraud-signal sharing across institutions without exposing raw transaction data. In every one of these, the computation is small, the tolerance for latency is high, and the value of privacy is high enough to justify the overhead.

That’s the actual shape of homomorphic encryption’s future for the next several years: not a replacement for TLS or database encryption in your average app, but a targeted tool for a shrinking list of high-value, low-throughput problems where no cheaper alternative gives you the same guarantee. Hardware acceleration will keep shrinking that overhead, and I expect certain narrow categories — private analytics on tightly scoped aggregate data, specific machine learning inference tasks with shallow models — to become commercially practical within the next five to ten years.

The Bottom Line for Builders

If you’re evaluating homomorphic encryption for a product decision today, the questions that actually matter are boring ones: how deep is your computation, how latency-tolerant is your use case, and is there a cheaper primitive — a TEE, an MPC protocol, or plain old access control — that gets you 90% of the privacy guarantee for 1% of the engineering cost? For the overwhelming majority of applications, the answer points away from FHE, not toward it.

That’s not a failure of the research. It’s just what happens when a genuinely hard mathematical problem meets the real constraints of production systems — latency budgets, memory limits, and engineers who need to ship this quarter, not this decade. Homomorphic encryption will keep getting faster, and the list of things it’s practical for will keep growing. It’s just a much shorter list than the headlines suggest, and it will probably stay that way for a while yet.

More articles for you