当前位置: X-MOL 学术Form. Methods Syst. Des. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On compiling Boolean circuits optimized for secure multi-party computation
Formal Methods in System Design ( IF 0.7 ) Pub Date : 2017-09-14 , DOI: 10.1007/s10703-017-0300-0
Niklas Büscher , Martin Franz , Andreas Holzer , Helmut Veith , Stefan Katzenbeisser

Secure multi-party computation (MPC) allows two or more distrusting parties to jointly evaluate a function over private inputs. For a long time considered to be a purely theoretical concept, MPC transitioned into a practical and powerful tool to build privacy-enhancing technologies. However, the practicality of MPC is hindered by the difficulty to implement applications on top of the underlying cryptographic protocols. This is because the manual construction of efficient applications, which need to be represented as Boolean or arithmetic circuits, is a complex, error-prone, and time-consuming task. To facilitate the development of further privacy-enhancing technology, multiple compilers have been proposed that create circuits for MPC. Yet, almost all presented compilers only support domain specific languages or provide very limited optimization methods. In this work (this is an extended and revised version of the paper ‘Secure Two-party Computations in ANSI C’ (Holzer et al., in: ACM CCS, 2012) that reflects the progress in secure computation and describes the current optimization tool chain of CBMC-GC) we describe our compiler CBMC-GC that implements a complete tool chain from ANSI C to circuit. Moreover, we give a comprehensive overview of circuit minimization techniques, which we have identified and adapted for the creation of efficient circuits for MPC. With the help of these techniques, our compilation approach allows for a high level of abstraction from the cryptographic primitives used in MPC protocols, as well as the complex design of digital circuits. By using the model checker CBMC as a compiler frontend, we illustrate the link between MPC, formal methods, and digital logic design. Our experimental results illustrate the effectiveness of the implemented optimizations techniques for various example applications. In particular, compared with other state-of-the-art compilers, we show that CBMC-GC compiles circuits from the same source code that are up to four times smaller.

中文翻译:

关于编译为安全多方计算优化的布尔电路

安全多方计算 (MPC) 允许两个或多个不信任方共同评估私有输入的函数。在很长一段时间内,MPC 被认为是一个纯粹的理论概念,后来转变为一种实用且强大的工具来构建隐私增强技术。然而,MPC 的实用性受到在底层加密协议之上实现应用程序的困难的阻碍。这是因为手动构建需要表示为布尔或算术电路的高效应用程序是一项复杂、容易出错且耗时的任务。为了促进进一步隐私增强技术的发展,已经提出了多个编译器来为 MPC 创建电路。然而,几乎所有提出的编译器都只支持特定领域的语言或提供非常有限的优化方法。在这项工作中(这是论文“ANSI C 中的安全两方计算”(Holzer 等人,在:ACM CCS,2012 年)的扩展和修订版,反映了安全计算的进展并描述了当前的优化工具CBMC-GC 链)我们描述了我们的编译器 CBMC-GC,它实现了从 ANSI C 到电路的完整工具链。此外,我们对电路最小化技术进行了全面概述,我们已经确定并调整了这些技术以创建 MPC 的高效电路。在这些技术的帮助下,我们的编译方法允许对 MPC 协议中使用的加密原语以及数字电路的复杂设计进行高级别的抽象。通过使用模型检查器 CBMC 作为编译器前端,我们说明了 MPC、形式方法和数字逻辑设计之间的联系。我们的实验结果说明了对各种示例应用程序实施的优化技术的有效性。特别是,与其他最先进的编译器相比,我们表明 CBMC-GC 从相同的源代码编译电路,最多可缩小四倍。
更新日期:2017-09-14
down
wechat
bug