Skip to main navigation Skip to search Skip to main content

HACCLE: Metaprogramming for secure multi-party computation

  • Yuyan Bao
  • , Kirshanthan Sundararajah
  • , Raghav Malik
  • , Qianchuan Ye
  • , Christopher Wagner
  • , Nouraldin Jaber
  • , Fei Wang
  • , Mohammad Hassan Ameri
  • , Donghang Lu
  • , Alexander Seto
  • , Benjamin Delaware
  • , Roopsha Samanta
  • , Aniket Kate
  • , Christina Garman
  • , Jeremiah Blocki
  • , Pierre David Letourneau
  • , Benoit Meister
  • , Jonathan Springer
  • , Tiark Rompf
  • , Milind Kulkarni
  • University of Waterloo
  • Purdue University
  • Reservoir Labs

Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › peer-review

6 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationGPCE 2021 - Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming
Subtitle of host publicationConcepts and Experiences, co-located with SPLASH 2021
EditorsEli Tilevich, Coen De Roover
PublisherAssociation for Computing Machinery, Inc
Pages130-143
Number of pages14
ISBN (Electronic)9781450391122
DOIs
StatePublished - Oct 17 2021
Event20th 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 - Virtual, Online, United States
Duration: Oct 17 2021 → Oct 18 2021

Publication series

NameGPCE 2021 - Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, co-located with SPLASH 2021

Conference

Conference20th 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
Country/TerritoryUnited States
CityVirtual, Online
Period10/17/21 → 10/18/21

Keywords

  • domain-specific language
  • metaprogramming
  • secure multi-party computation

Fingerprint

Dive into the research topics of 'HACCLE: Metaprogramming for secure multi-party computation'. Together they form a unique fingerprint.

Cite this