CBMC-GC: An ANSI C Compiler for Secure Two-Party Computations

CBMC-GC: An ANSI C Compiler for Secure Two-Party Computations
复制标题

CBMC-GC:用于安全两方计算的 ANSI C 编译器

DOI:
--
复制
发表时间:
2014
期刊:
International Conference on Compiler Construction
影响因子:
--
通讯作者:
H. Veith
H. Veith
中科院分区:
--
文献类型:
--
作者:
M. Franz;Andreas Holzer;S. Katzenbeisser;C. Schallhart;H. Veith

文献摘要

被引文献

相似文献

安全两方计算(STC)是一种计算机安全范式,其中双方可以共同评估具有敏感输入数据的程序,这些数据由双方提供。在STC的安全保证下,任何一方在执行STC任务时都无法获知对方输入的任何信息。很长一段时间被认为是不切实际的,直到最近,STC只能用特定领域的语言或手工制作的布尔电路来实现特定的计算。我们的开源编译器CBMC-GC是第一个面向STC的ANSI C编译器。它将C程序转换成符合乱码电路要求的布尔电路,这是一种基于电路的通用STC方法。在这里,所得到的电路的大小起着至关重要的作用,因为每个STC步骤都涉及加密和网络传输,因此与在现代硬件架构上执行的计算相比,其速度非常慢。我们报告了新实现的电路优化技术,与CBMC-GC的原始版本相比,这些技术大大减少了电路尺寸。
Secure two-party computation (STC) is a computer security paradigm where two parties can jointly evaluate a program with sensitive input data, provided in parts from both parties. By the security guarantees of STC, neither party can learn any information on the other party’s input while performing the STC task. For a long time thought to be impractical, until recently, STC has only been implemented with domain-specific languages or hand-crafted Boolean circuits for specific computations. Our open-source compiler CBMC-GC is the first ANSI C compiler for STC. It turns C programs into Boolean circuits that fit the requirements of garbled circuits, a generic STC approach based on circuits. Here, the size of the resulting circuits plays a crucial role since each STC step involves encryption and network transfer and is therefore extremely slow when compared to computations performed on modern hardware architectures. We report on newly implemented circuit optimization techniques that substantially reduce the circuit sizes compared to the original release of CBMC-GC.