A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
Author(s)
Krastev, Aleksandar
DownloadThesis PDF (766.3Kb)
Advisor
Sanchez, Daniel
Terms of use
Metadata
Show full item recordAbstract
Fully Homomorphic Encryption (FHE) enables computing on encrypted data, letting clients securely offload computation to untrusted servers. Though FHE is slow on CPUs, hardware acceleration enables large FHE programs, like deep neural networks. Unfortunately, FHE is extremely hard to program: translating even modest applications into efficient FHE programs takes months of work by experts. This is because FHE requires packing encrypted data into large vectors (tens of thousands of elements long), FHE provides limited operations on these vectors, and these operations have unintuitive performance tradeoffs.
We address FHE’s programmability challenges with the Fhelipe FHE compiler. Fhelipe exposes a simple, numpy-style programming interface for working on tensors. Tensors cover key domains that map well to FHE, like machine learning and linear algebra. By leveraging tensor semantics and through several novel techniques, Fhelipe is the first compiler to produce efficient FHE programs that use large vectors well. Fhelipe automates all aspects of FHE programming, including bootstrap placement.
We evaluate Fhelipe on both a state-of-the-art FHE accelerator and a CPU. Fhelipe matches or exceeds the performance of large hand-optimized FHE applications, like deep neural networks, and outperforms state-of-the-art FHE compilers by gmean 24.5×. At the same time, Fhelipe dramatically simplifies programming, reducing code size by 10×–34×.
Date issued
2023-06Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology