RAMPARTS: A Programmer-Friendly System for Building Homomorphic Encryption Applications

David W. Archer, José Manuel Calderón Trilla, Jason Dagit, A. Malozemoff, Y. Polyakov, K. Rohloff, Gerard W. Ryan
{"title":"RAMPARTS: A Programmer-Friendly System for Building Homomorphic Encryption Applications","authors":"David W. Archer, José Manuel Calderón Trilla, Jason Dagit, A. Malozemoff, Y. Polyakov, K. Rohloff, Gerard W. Ryan","doi":"10.1145/3338469.3358945","DOIUrl":null,"url":null,"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.","PeriodicalId":332171,"journal":{"name":"Proceedings of the 7th ACM Workshop on Encrypted Computing & Applied Homomorphic Cryptography","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 7th ACM Workshop on Encrypted Computing & Applied Homomorphic Cryptography","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3338469.3358945","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31

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.
RAMPARTS:一个程序员友好的系统,用于构建同态加密应用
同态加密(HE)是一种新兴技术,可以在数据加密的同时对数据进行计算。同态加密的一个主要挑战是,它需要大量的专业知识来设计由原子HE操作构建的有意义和有用的程序。我们提出了RAMPARTS来应对这一挑战。RAMPARTS为在Julia(一种高级语言)中开发HE应用程序提供了一个环境,与通常用Julia编写“明文”应用程序的方式相同。RAMPARTS做出了以下三个贡献。首先,我们使用符号执行来自动构建优化的计算电路,其中电路大小和乘法深度都由编译器选择。其次,RAMPARTS自动为生成的电路选择HE参数,这通常由HE专家手动完成。第三,RAMPARTS自动为输入值选择明文编码,并执行输入和输出数据转换。非HE专家的程序员不容易执行这三个操作。因此,RAMPARTS使HE更广泛地被程序员使用。我们将我们的方法与Cingulata进行了比较,Cingulata是之前唯一已知的自动生成HE计算电路的系统。RAMPARTS生成的HE电路比Cingulata编写的电路效率高得多。例如,对于我们研究中用于性能评估的示例图像处理应用程序,我们用于密钥生成/电路编译和所有在线操作的运行时间要低一个数量级以上。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信