A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption

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: transla...

Full description

Bibliographic Details
Main Author: Krastev, Aleksandar
Other Authors: Sanchez, Daniel
Format: Thesis
Published: Massachusetts Institute of Technology 2023
Online Access:https://hdl.handle.net/1721.1/151531
_version_ 1826207461423448064
author Krastev, Aleksandar
author2 Sanchez, Daniel
author_facet Sanchez, Daniel
Krastev, Aleksandar
author_sort Krastev, Aleksandar
collection MIT
description 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×.
first_indexed 2024-09-23T13:50:01Z
format Thesis
id mit-1721.1/151531
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T13:50:01Z
publishDate 2023
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1515312023-08-01T03:31:24Z A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption Krastev, Aleksandar Sanchez, Daniel Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science 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×. M.Eng. 2023-07-31T19:46:42Z 2023-07-31T19:46:42Z 2023-06 2023-06-06T16:35:08.910Z Thesis https://hdl.handle.net/1721.1/151531 Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) Copyright retained by author(s) https://creativecommons.org/licenses/by-sa/4.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Krastev, Aleksandar
A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title_full A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title_fullStr A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title_full_unstemmed A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title_short A Tensor Compiler for Simple and EfficientFully Homomorphic Encryption
title_sort tensor compiler for simple and efficientfully homomorphic encryption
url https://hdl.handle.net/1721.1/151531
work_keys_str_mv AT krastevaleksandar atensorcompilerforsimpleandefficientfullyhomomorphicencryption
AT krastevaleksandar tensorcompilerforsimpleandefficientfullyhomomorphicencryption