GPCE 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Mon 18 Oct 2021 09:15 - 09:30 at Zurich C - SLE/GPCE Session 5 Chair(s): Eelco Visser
Mon 18 Oct 2021 17:15 - 17:30 at Zurich C - SLE/GPCE Session 5 Chair(s): Paddy Krishnan

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 laborious, it remains difficult to make the implementation efficient, and cumbersome to apply those same steps to a slightly different application from scratch. Hence, it is an important problem to design a programming language and a compiler toolchain for 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. The toolchain contains an embedded domain-specific language (Harpoon) for software developers without cryptographic expertise to write MPC-based programs, and uses \emph{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 for implementing a computation using 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 computations. And the use of standard metaprogramming techniques lowers the development effort significantly.

We have implemented Harpoon and HACCLE, and used them to program interesting algorithms and applications (e.g., secure auction, matrix-vector multiplication, and merge sort). We show that the performance is improved by using our optimization strategies and heuristics.

Mon 18 Oct

Displayed time zone: Central Time (US & Canada) change

09:00 - 10:20
SLE/GPCE Session 5SLE / GPCE at Zurich C +8h
Chair(s): Eelco Visser Delft University of Technology
09:00
15m
Talk
Type-safe generation of modules in applicative and generative stylesVirtual
GPCE
Yuhi Sato University of Tsukuba, Yukiyoshi Kameyama University of Tsukuba
09:15
15m
Talk
HACCLE: Metaprogramming for Secure Multi-Party ComputationVirtual
GPCE
Yuyan Bao Purdue University, Kirshanthan Sundararajah Purdue University, Raghav Malik Purdue University, Qianchuan Ye Purdue University, Christopher Wagner Purdue University, Nouraldin Jaber Purdue University, Fei Wang Purdue University, Mohammad Hassan Ameri Purdue university, Donghang Lu Purdue University, Alexander Seto Purdue University, Benjamin Delaware Purdue University, Roopsha Samanta Purdue University, Aniket Kate Purdue University, Christina Garman Purdue University, Jeremiah Blocki Purdue University, Pierre-David Letourneau Reservoir Labs, Benoit Meister Reservoir Labs, Jonathan Springer Reservoir Labs, Tiark Rompf Purdue University, Milind Kulkarni Purdue University
09:30
15m
Talk
Multi-Stage Programming with Generative and Analytical MacrosVirtualGPCE Best Paper Award
GPCE
09:45
15m
Talk
Metaprogramming with CombinatorsVirtual
GPCE
Mahshid Shahmohammadian Drexel University, Geoffrey Mainland Drexel University
10:00
20m
Live Q&A
Discussion, Questions and Answers
SLE

17:00 - 18:20
SLE/GPCE Session 5GPCE / SLE at Zurich C
Chair(s): Paddy Krishnan Oracle Labs, Australia
17:00
15m
Talk
Type-safe generation of modules in applicative and generative stylesVirtual
GPCE
Yuhi Sato University of Tsukuba, Yukiyoshi Kameyama University of Tsukuba
17:15
15m
Talk
HACCLE: Metaprogramming for Secure Multi-Party ComputationVirtual
GPCE
Yuyan Bao Purdue University, Kirshanthan Sundararajah Purdue University, Raghav Malik Purdue University, Qianchuan Ye Purdue University, Christopher Wagner Purdue University, Nouraldin Jaber Purdue University, Fei Wang Purdue University, Mohammad Hassan Ameri Purdue university, Donghang Lu Purdue University, Alexander Seto Purdue University, Benjamin Delaware Purdue University, Roopsha Samanta Purdue University, Aniket Kate Purdue University, Christina Garman Purdue University, Jeremiah Blocki Purdue University, Pierre-David Letourneau Reservoir Labs, Benoit Meister Reservoir Labs, Jonathan Springer Reservoir Labs, Tiark Rompf Purdue University, Milind Kulkarni Purdue University
17:30
15m
Talk
Multi-Stage Programming with Generative and Analytical MacrosVirtualGPCE Best Paper Award
GPCE
17:45
15m
Talk
Metaprogramming with CombinatorsVirtual
GPCE
Mahshid Shahmohammadian Drexel University, Geoffrey Mainland Drexel University
18:00
20m
Live Q&A
Discussion, Questions and Answers
SLE