Homomorphic encryption (HE) is a privacy-preserving technology that enables computational workloads to be performed directly on encrypted data. HE enables secure remote computation, as cloud service providers can compute on data without viewing highly sensitive content. But despite its appeal, performance and programmability challenges remain a barrier to HE’s widespread adoption.
Realizing the potential of homomorphic encryption (HE) will likely require developing a compiler; that can translate a plaintext, unencrypted codebase into encrypted code on the fly. In a step toward this, researchers at Facebook, New York University, and Stanford created Porcupine, a “synthesizing compiler” for HE. They say it results in speedups of up to 51% compared to heuristic-driven, entirely hand-optimized code.
Given a reference of a plaintext code, Porcupine synthesizes HE code that performs the same computation, the researchers explain. Internally, Porcupine models instruction noise, latency, behavior, and HE program semantics with a component called Quill. Quill enables Porcupine to reason about and searches for HE kernels that are verifiably correct; while minimizing the code’s latency and noise accumulation. The result is a suite that automates and optimizes the mapping and scheduling of plaintext to homomorphic encryption (HE) code.
Experiments of Porcupine for Homomorphic Encryption
In experiments, the researchers evaluated Porcupine using a range of image processing and linear algebra programs. According to the researchers, for small programs, Porcupine was able to find the same optimized implementations as hand-written baselines. And on larger, more complex programs, Porcupine discovered optimizations like factorization and even application-specific optimizations involving separable filters.
“Our results demonstrate the efficacy and generality of our synthesis-based compilation approach and further motivates the benefits of automated reasoning in HE for both performance and productivity,” the researchers wrote. “Porcupine abstracts away the details of constructing correct HE computation so that application designers can concentrate on other design considerations.”
Enthusiasm for homomorphic encryption (HE) has given rise to a cottage industry of startups aiming to bring it to production systems. Newark, New Jersey-based Duality Technologies, which recently attracted funding from one of Intel’s venture capital arms, pitches its HE platform as a privacy-preserving solution for “numerous” enterprises, particularly those in regulated industries. Banks can conduct privacy-enhanced financial crime investigations across institutions, so goes the company’s sales pitch, while scientists can tap it to collaborate on research involving patient records.
But HE offers no magic bullet. Even leading techniques can calculate only polynomial functions — a nonstarter for the many activation functions in machine learning that are non-polynomial. Plus, operations on encrypted data can involve only additions and multiplications of integers; which poses a challenge in cases where learning algorithms require floating-point computations.