论文标题
HACCLE:用于安全多方计算的元编程 - 扩展版本
HACCLE: Metaprogramming for Secure Multi-Party Computation -- Extended Version
论文作者
论文摘要
加密技术有可能使不信任的各方以根本新的方式进行协作,但是他们的实际实施构成了许多挑战。一类重要的加密技术被称为安全多方计算(MPC)。在现实情况下,开发安全的MPC应用程序需要广泛的知识,涵盖了密码学和系统的多个领域。尽管为特定应用程序得出解决方案的步骤通常很简单,但很难使实施效率高效,并且很难将这些相同的步骤应用于从头开始略有不同的应用程序。因此,设计平台以最少的精力来实施安全的MPC应用程序,并使用加密中的非专家可以使用的技术来实施安全的MPC应用程序。在本文中,我们介绍了专门针对MPC应用程序的haccle(高保证构图密码学:语言和环境)工具链。 Haccle包含一个嵌入式域特异性语言鱼叉,适用于没有加密专业知识的软件开发人员来编写基于MPC的程序,并将轻量级模块化登台(LMS)用于代码生成。鱼叉程序被编译为haccle中间表示(HIR)中代表的无环路,该电路是在不同的加密协议(例如秘密共享,同态加密或杂乱的电路)上作为抽象。不同加密协议的实现是我们工具链的不同后端。 HIR的可扩展设计使密码专家可以插入新的原始词和协议以实现计算。标准元编程技术的使用大大降低了开发工作。
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.