TY - GEN
T1 - HACCLE
T2 - 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2021, co-located with the ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH 2021
AU - Bao, Yuyan
AU - Sundararajah, Kirshanthan
AU - Malik, Raghav
AU - Ye, Qianchuan
AU - Wagner, Christopher
AU - Jaber, Nouraldin
AU - Wang, Fei
AU - Ameri, Mohammad Hassan
AU - Lu, Donghang
AU - Seto, Alexander
AU - Delaware, Benjamin
AU - Samanta, Roopsha
AU - Kate, Aniket
AU - Garman, Christina
AU - Blocki, Jeremiah
AU - Letourneau, Pierre David
AU - Meister, Benoit
AU - Springer, Jonathan
AU - Rompf, Tiark
AU - Kulkarni, Milind
N1 - Publisher Copyright:
© 2021 Owner/Author.
PY - 2021/10/17
Y1 - 2021/10/17
N2 - Cryptographic techniques have the potential to enable distrusting parties to collaborate in fundamentally new ways, but their practical implementation poses numerous challenges. An important class of such cryptographic techniques is known as Secure Multi-Party Computation (MPC). Developing Secure MPC applications in realistic scenarios requires extensive knowledge spanning multiple areas of cryptography and systems. And while the steps to arrive at a solution for a particular application are often straightforward, it remains difficult to make the implementation efficient, and tedious to apply those same steps to a slightly different application from scratch. Hence, it is an important problem to design platforms for implementing Secure MPC applications with minimum effort and using techniques accessible to non-experts in cryptography. In this paper, we present the HACCLE (High Assurance Compositional Cryptography: Languages and Environments) toolchain, specifically targeted to MPC applications. HACCLE contains an embedded domain-specific language Harpoon, for software developers without cryptographic expertise to write MPC-based programs, and uses Lightweight Modular Staging (LMS) for code generation. Harpoon programs are compiled into acyclic circuits represented in HACCLE's Intermediate Representation (HIR) that serves as an abstraction over different cryptographic protocols such as secret sharing, homomorphic encryption, or garbled circuits. Implementations of different cryptographic protocols serve as different backends of our toolchain. The extensible design of HIR allows cryptographic experts to plug in new primitives and protocols to realize computation. And the use of standard metaprogramming techniques lowers the development effort significantly. We have implemented Harpoon and HACCLE, and used them to program interesting applications (e.g., secure auction) and key computation components of Secure MPC applications (e.g., matrix-vector multiplication and merge sort). We show that the performance is improved by using our optimization strategies and heuristics.
AB - Cryptographic techniques have the potential to enable distrusting parties to collaborate in fundamentally new ways, but their practical implementation poses numerous challenges. An important class of such cryptographic techniques is known as Secure Multi-Party Computation (MPC). Developing Secure MPC applications in realistic scenarios requires extensive knowledge spanning multiple areas of cryptography and systems. And while the steps to arrive at a solution for a particular application are often straightforward, it remains difficult to make the implementation efficient, and tedious to apply those same steps to a slightly different application from scratch. Hence, it is an important problem to design platforms for implementing Secure MPC applications with minimum effort and using techniques accessible to non-experts in cryptography. In this paper, we present the HACCLE (High Assurance Compositional Cryptography: Languages and Environments) toolchain, specifically targeted to MPC applications. HACCLE contains an embedded domain-specific language Harpoon, for software developers without cryptographic expertise to write MPC-based programs, and uses Lightweight Modular Staging (LMS) for code generation. Harpoon programs are compiled into acyclic circuits represented in HACCLE's Intermediate Representation (HIR) that serves as an abstraction over different cryptographic protocols such as secret sharing, homomorphic encryption, or garbled circuits. Implementations of different cryptographic protocols serve as different backends of our toolchain. The extensible design of HIR allows cryptographic experts to plug in new primitives and protocols to realize computation. And the use of standard metaprogramming techniques lowers the development effort significantly. We have implemented Harpoon and HACCLE, and used them to program interesting applications (e.g., secure auction) and key computation components of Secure MPC applications (e.g., matrix-vector multiplication and merge sort). We show that the performance is improved by using our optimization strategies and heuristics.
KW - domain-specific language
KW - metaprogramming
KW - secure multi-party computation
UR - https://www.scopus.com/pages/publications/85120900990
U2 - 10.1145/3486609.3487205
DO - 10.1145/3486609.3487205
M3 - Conference contribution
AN - SCOPUS:85120900990
T3 - GPCE 2021 - Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, co-located with SPLASH 2021
SP - 130
EP - 143
BT - GPCE 2021 - Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming
A2 - Tilevich, Eli
A2 - De Roover, Coen
PB - Association for Computing Machinery, Inc
Y2 - 17 October 2021 through 18 October 2021
ER -