Title
On compiling Boolean circuits optimized for secure multi-party computation.
Abstract
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, ) 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.
Year
DOI
Venue
2017
https://doi.org/10.1007/s10703-017-0300-0
Formal Methods in System Design
Keywords
Field
DocType
Secure multi-party computation,Compiler,Logic synthesis
Logic synthesis,Boolean circuit,Secure multi-party computation,Programming language,ANSI C,Cryptographic protocol,Computer science,Cryptographic primitive,Theoretical computer science,Compiler,Circuit minimization for Boolean functions
Journal
Volume
Issue
ISSN
51
2
0925-9856
Citations 
PageRank 
References 
2
0.36
33
Authors
5
Name
Order
Citations
PageRank
Niklas Büscher1474.58
Martin Franz220.36
Andreas Holzer319713.62
Helmut Veith42476140.58
Stefan Katzenbeisser51844143.68