Paper 2019/988
RAMPARTS: A Programmer-Friendly System for Building Homomorphic Encryption Applications
David W. Archer, Jose Manuel Calderon Trilla, Jason Dagit, Alex J. Malozemoff, Yuriy Polyakov, Kurt Rohloff, and Gerard Ryan
Abstract
Homomorphic Encryption (HE) is an emerging technology that enables computing on data while the data is encrypted. A major challenge with homomorphic encryption is that it takes extensive expert knowledge to design meaningful and useful programs that are constructed from atomic HE operations. We present RAMPARTS to address this challenge. RAMPARTS provides an environment for developing HE applications in Julia, a high-level language, the same way as ``cleartext'' applications are typically written in Julia. RAMPARTS makes the following three contributions. First, we use symbolic execution to automate the construction of an optimized computation circuit where both the circuit size and multiplicative depth are chosen by the compiler. Second, RAMPARTS automatically selects the HE parameters for the generated circuit, which is typically done manually by an HE expert. Third, RAMPARTS automatically selects the plaintext encoding for input values, and performs input and output data transformations. These three operations are not easily performed by programmers who are not HE experts. Thus, RAMPARTS makes HE more widely available and usable by the the population of programmers. We compare our approach with Cingulata, the only previously known system that automatically generates circuits for HE computations. The HE circuits generated by RAMPARTS are significantly more efficient than the circuits compiled by Cingulata. For instance, our runtimes for key generation/circuit compilation and all online operations are more than one order of magnitude lower for a sample image processing application used for performance evaluation in our study.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Published elsewhere. Minor revision. WAHC 2019 – 7th Workshop on Encrypted Computing & Applied Homomorphic Cryptography
- Keywords
- Homomorphic encryptionAutomatic arithmetic circuit generationLattice-based cryptographyUsable security and privacy
- Contact author(s)
- polyakov @ njit edu
- History
- 2019-09-03: revised
- 2019-09-02: received
- See all versions
- Short URL
- https://ia.cr/2019/988
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2019/988, author = {David W. Archer and Jose Manuel Calderon Trilla and Jason Dagit and Alex J. Malozemoff and Yuriy Polyakov and Kurt Rohloff and Gerard Ryan}, title = {{RAMPARTS}: A Programmer-Friendly System for Building Homomorphic Encryption Applications}, howpublished = {Cryptology {ePrint} Archive, Paper 2019/988}, year = {2019}, url = {https://eprint.iacr.org/2019/988} }