1 research outputs found
HACCLE: An Ecosystem for Building Secure Multi-Party Computations
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). In an effort to provide an
ecosystem for building secure MPC applications using higher degrees of
automation, we present the HACCLE (High Assurance Compositional Cryptography:
Languages and Environments) toolchain. The HACCLE toolchain contains an
embedded domain-specific language (Harpoon) for software developers without
cryptographic expertise to write MPC-based programs. 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.We have implemented HACCLE, and used it
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