A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
Name
krastev-alexalex-meng-eecs-2023-thesis.pdf
Description
Thesis PDF
Size
766.33 KB
Format
Adobe PDF
Checksum (MD5)
864fcb694f68c9f7add369fd8e44ff61
Author(s)
Krastev, Aleksandar
Advisor(s)
Sanchez, Daniel
Date Issued
June 2023
Publisher
Massachusetts Institute of Technology
Abstract
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×.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Copyright retained by author(s)
Persistent DSpace Link