Porcupine: a synthesizing compiler for vectorized homomorphic encryption


연구 분야: Cryptography



학회: PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation


초록

Homomorphic encryption (HE) is a privacy-preserving technique that enables computation directly on encrypted data. Despite its promise, HE has seen limited use due to performance overheads and compilation challenges. Recent work has made significant advances to address the performance overheads but automatic compilation of efficient HE kernels remains relatively unexplored. This paper presents Porcupine, an optimizing compiler that generates vectorized HE code using program synthesis. HE poses three major compilation challenges: it only supports a limited set of SIMD-like operators, it uses long-vector operands, and decryption can fail if ciphertext noise growth is not managed properly. Porcupine captures the underlying HE operator behavior so that it can automatically reason about the complex trade-offs imposed by these challenges to generate optimized, verified HE kernels. To improve synthesis time, we propose a series of optimizations including a sketch design tailored to HE to narrow the program search space. We evaluate Porcupine using a set of kernels and show speedups of up to 52% (25% geometric mean) compared to heuristic-driven hand-optimized kernels. Analysis of Porcupine’s synthesized code reveals that optimal solutions are not always intuitive, underscoring the utility of automated reasoning in this domain.


Author Profile
Meghan Cowan

Facebook Reality Labs Research USA

United States
Author Profile
Deeksha Dangwal

Facebook Reality Labs Research USA

United States
Author Profile
Armin Alaghi

Facebook Reality Labs Research USA

United States

📄 논문 정보

발행 연도 2021년
인용수 24
출판 국가 United States
사이트 ACM
좋아요 수 0

연관 논문 목록 (347건)