[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3338469.3358945acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article
Public Access

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

Published: 11 November 2019 Publication History

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.

References

[1]
2018. Cingulata. (2018). https://github.com/CEA-LIST/Cingulata
[2]
2018. The Crucible Symbolic Simulator. (2018). https://github.com/GaloisInc/crucible
[3]
2018. TFHE: Fast Fully Homomorphic Encryption Library over the Torus. (2018).https://github.com/tfhe/tfhe
[4]
2018. The Z3 Theorem Prover. (2018). https://github.com/Z3Prover/z3
[5]
David W. Archer, Jose Manuel Calderon Trilla, Jason Dagit, Alex J. Malozemoff, Yuriy Polyakov, Kurt Rohloff, and Gerard Ryan. 2019. RAMPARTS: A Programmer-Friendly System for Building Homomorphic Encryption Applications. Cryptology ePrint Archive, Report 2019/988. (2019). https://eprint.iacr.org/2019/988.
[6]
Seiko Arita and Shota Nakasato. 2016. Fully Homomorphic Encryption for Point Numbers. Cryptology ePrint Archive, Report 2016/402. (2016). http://eprint.iacr.org/2016/402.
[7]
Louis J. M. Aslett, Pedro M. Esperancca, and Chris C. Holmes. 2015. A review of homomorphic encryption and software tools for encrypted statistical machine learning. arXiv preprint 1508.06574. (2015). https://arxiv.org/abs/1508.06574.
[8]
Assaf Ben-David, Noam Nisan, and Benny Pinkas. 2008. FairplayMP: a system for secure multi-party computation. In ACM CCS 08, Peng Ning, Paul F. Syverson, and Somesh Jha (Eds.). ACM Press, 257--266.
[9]
Richard S. Bird. 2011. A simple division-free algorithm for computing determinants. Inform. Process. Lett., Vol. 111, 21 (2011), 1072--1074.
[10]
Dan Bogdanov, Sven Laur, and Jan Willemson. 2008. Sharemind: A Framework for Fast Privacy-Preserving Computations. In ESORICS 2008 (LNCS), Sushil Jajodia and Javier López (Eds.), Vol. 5283. Springer, Heidelberg, 192--206.
[11]
Joppe W. Bos, Kristin Lauter, and Michael Naehrig. 2014. Private predictive analysis on encrypted medical data. Journal of Biomedical Informatics, Vol. 50 (2014), 234--243.
[12]
Zvika Brakerski. 2012. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP. In CRYPTO 2012 (LNCS ), Reihaneh Safavi-Naini and Ran Canetti (Eds.), Vol. 7417. Springer, Heidelberg, 868--886.
[13]
Robert Brayton and Alan Mishchenko. 2010. ABC: An Academic Industrial-strength Verification Tool. In CAV.
[14]
Cristian Cadar, Daniel Dunbar, and Dawson R. Engler. 2008. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In OSDI, Vol. 8. 209--224.
[15]
Sergiu Carpov, Pascal Aubry, and Renaud Sirdey. 2018. A Multi-start Heuristic for Multiplicative Depth Minimization of Boolean Circuits. In Combinatorial Algorithms, Ljiljana Brankovic, Joe Ryan, and William F. Smyth (Eds.). Springer International Publishing, Cham, 275--286.
[16]
Sergiu Carpov, Paul Dubrulle, and Renaud Sirdey. 2015. Armadillo: A Compilation Chain for Privacy Preserving Applications. In Proceedings of the 3rd International Workshop on Security in Cloud Computing (SCC '15). ACM, New York, NY, USA, 13--19. https://doi.org/10.1145/2732516.2732520
[17]
Craig Costello, Cédric Fournet, Jon Howell, Markulf Kohlweiss, Benjamin Kreuter, Michael Naehrig, Bryan Parno, and Samee Zahur. 2015. Geppetto: Versatile Verifiable Computation. In 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 253--270. https://doi.org/10.1109/SP.2015.23
[18]
Nathan Dowlin, Ran Gilad-Bachrach, Kim Laine, Kristin Lauter, Michael Naehrig, and John Wernsing. 2017. Manual for using homomorphic encryption for bioinformatics. Proc. IEEE, Vol. 105, 3 (2017), 552--567.
[19]
Junfeng Fan and Frederik Vercauteren. 2012. Somewhat Practical Fully Homomorphic Encryption. Cryptology ePrint Archive, Report 2012/144. (2012). http://eprint.iacr.org/2012/144.
[20]
Ran Gilad-Bachrach, Nathan Dowlin, Kim Laine, Kristin Lauter, Micahel Naehrig, and John Wernsing. 2016. Cryptonets: Applying neural networks to encrypted data with high throughput and accuracy. In International Conference on Machine Learning. 201--210.
[21]
Shai Halevi, Yuriy Polyakov, and Victor Shoup. 2019. An Improved RNS Variant of the BFV Homomorphic Encryption Scheme. In Topics in Cryptology -- CT-RSA 2019, Mitsuru Matsui (Ed.). Springer International Publishing, Cham, 83--105.
[22]
Shai Halevi and Victor Shoup. 2018. HElib. (2018). https://github.com/shaih/HElib
[23]
Chiraag Juvekar, Vinod Vaikuntanathan, and Anantha Chandrakasan. 2018. GAZELLE: A Low Latency Framework for Secure Neural Network Inference. In 27th USENIX Security Symposium (USENIX Security 18).
[24]
Andrey Kim, Yongsoo Song, Miran Kim, Keewoo Lee, and Jung Hee Cheon. 2018. Logistic Regression Model Training based on the Approximate Homomorphic Encryption. Cryptology ePrint Archive, Report 2018/254. (2018). https://eprint.iacr.org/2018/254.
[25]
Volodymyr Kuznetsov, Johannes Kinder, Stefan Bucur, and George Candea. 2012. Efficient state merging in symbolic execution. ACM Sigplan Notices, Vol. 47, 6 (2012), 193--204.
[26]
Kim Laine, Hao Chen, and Rachel Player. 2018. Simple Encrypted Arithmetic Library. (2018). https://sealcrypto.org
[27]
Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, and Elaine Shi. 2015. ObliVM: A Programming Framework for Secure Computation. In 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 359--376. https://doi.org/10.1109/SP.2015.29
[28]
Dahlia Malkhi, Noam Nisan, Benny Pinkas, and Yaron Sella. 2004. Fairplay--A Secure Two-Party Computation System. USENIX Security Symposium, Vol. 4. San Diego, CA, USA, 9.
[29]
Kartik Nayak, Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, and Elaine Shi. 2015. GraphSC: Parallel Secure Computation Made Easy. 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 377--394. https://doi.org/10.1109/SP.2015.30
[30]
Bryan Parno, Jon Howell, Craig Gentry, and Mariana Raykova. 2013. Pinocchio: Nearly Practical Verifiable Computation. In 2013 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 238--252.
[31]
Yuriy Polyakov, Kurt Rohloff, and Gerard W. Ryan. Accessed August 2019. PALISADE Lattice Cryptography Library. (Accessed August 2019). https://palisade-crypto.org/
[32]
Aseem Rastogi, Matthew A. Hammer, and Michael Hicks. 2014. Wysteria: A Programming Language for Generic, Mixed-Mode Multiparty Computations. In 2014 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 655--670. https://doi.org/10.1109/SP.2014.48
[33]
Kurt Rohloff, David B. Cousins, and Daniel Sumorok. 2017. Scalable, Practical VoIP Teleconferencing With End-to-End Homomorphic Encryption. IEEE Transactions on Information Forensics and Security, Vol. 12, 5 (May 2017), 1031--1041.
[34]
Samee Zahur and David Evans. 2015. Obliv-C: A Language for Extensible Data-Oblivious Computation. Cryptology ePrint Archive, Report 2015/1153. (2015). http://eprint.iacr.org/2015/1153.

Cited By

View all
  • (2024)Optimizing Ciphertext Management for Faster Fully Homomorphic Encryption Computation2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546534(1-6)Online publication date: 25-Mar-2024
  • (2024)Juliet: A Configurable Processor for Computing on Encrypted DataIEEE Transactions on Computers10.1109/TC.2024.341675273:9(2335-2349)Online publication date: Sep-2024
  • (2024)Privacy Set: Privacy-Authority-Aware Compiler for Homomorphic Encryption on Edge-Cloud SystemIEEE Internet of Things Journal10.1109/JIOT.2024.343735611:21(35167-35184)Online publication date: 1-Nov-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WAHC'19: Proceedings of the 7th ACM Workshop on Encrypted Computing & Applied Homomorphic Cryptography
November 2019
74 pages
ISBN:9781450368292
DOI:10.1145/3338469
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 November 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automatic arithmetic circuit generation
  2. homomorphic encryption
  3. lattice-based cryptography
  4. usable security and privacy

Qualifiers

  • Research-article

Funding Sources

  • IARPA

Conference

CCS '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 6 of 17 submissions, 35%

Upcoming Conference

CCS '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)155
  • Downloads (Last 6 weeks)29
Reflects downloads up to 01 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Optimizing Ciphertext Management for Faster Fully Homomorphic Encryption Computation2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546534(1-6)Online publication date: 25-Mar-2024
  • (2024)Juliet: A Configurable Processor for Computing on Encrypted DataIEEE Transactions on Computers10.1109/TC.2024.341675273:9(2335-2349)Online publication date: Sep-2024
  • (2024)Privacy Set: Privacy-Authority-Aware Compiler for Homomorphic Encryption on Edge-Cloud SystemIEEE Internet of Things Journal10.1109/JIOT.2024.343735611:21(35167-35184)Online publication date: 1-Nov-2024
  • (2024)Unraveling building sector carbon mechanisms: Critique and solutionsRenewable and Sustainable Energy Reviews10.1016/j.rser.2024.114873205(114873)Online publication date: Nov-2024
  • (2024)HeSUN: Homomorphic Encryption for Secure Unbounded Neural Network InferenceSecurity and Privacy in Communication Networks10.1007/978-3-031-64948-6_21(413-438)Online publication date: 13-Oct-2024
  • (2023)Optimizing Homomorphic Evaluation Circuits by Program Synthesis and Time-bounded Exhaustive SearchACM Transactions on Programming Languages and Systems10.1145/359162245:3(1-37)Online publication date: 23-Sep-2023
  • (2023)Coyote: A Compiler for Vectorizing Encrypted Arithmetic CircuitsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582057(118-133)Online publication date: 25-Mar-2023
  • (2023)Silph: A Framework for Scalable and Accurate Generation of Hybrid MPC Protocols2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179397(848-863)Online publication date: May-2023
  • (2023)RPU: The Ring Processing Unit2023 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS57527.2023.00034(272-282)Online publication date: Apr-2023
  • (2023)PyTFHE: An End-to-End Compilation and Execution Framework for Fully Homomorphic Encryption Applications2023 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS57527.2023.00012(24-34)Online publication date: Apr-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media