CBMC-GC

CBMC-GC is a compiler for C programs in the context of secure two-party computation (STC). It compiles a C program that specifies a secure computation into a circuit which can be read in by an STC platform, which then performs the secure computation between two parties A and B:

cbmc-gc-tool-chain

At the beginning of the compilation CBMC-GC translates the given C program into an intermediate representation featuring a simplified set of control statements. This program in intermediate representation is then translated into a circuit by symbolically executing the program. In order to perform the symbolic execution CBMC-GC unrolls loops and recursive function calls up to a predetermined bound. This bound is either determined automatically via an internal static analysis of the program or is given by the user in case CBMC-GC is not able to discover the bound. During the symbolic execution each statement gets translated into a subcircuit which represents the semantics of the respective statement, the input wires to these subcircuits thereby represent the current program state and the output wires represent the next program state after the effect of the statement was applied to the current program state. Find more details in “Secure Two-party Computations in ANSI C”.

People

Martin Franz

Martin Franz
CrypTool Project

Andreas Holzer

Andreas Holzer
TU Wien

Nikolaos P. Karvelas

Nikolaos P. Karvelas
CASED, TU Darmstadt

Stefan Katzenbeisser

Stefan Katzenbeisser
CASED, TU Darmstadt

Helmut Veith

Helmut Veith
TU Wien

Project Page

The latest details on this project can be found on the CBMC-GC page of Stefan Katzenbeisser’s group at TU Darmstadt.

Mailing List

Register here.

Downloads (outdated)

CC’14 Presentation (07. April 2014)
cbmc-gc-v0.9.3.tar.gz (28. March 2014)
cbmc-gc-v0.9.3_upd1.pdf (Updated documentation, includes description of CBMC-GC’s circuit format) (30. November 2014)
cbmc-gc-v0.8.tar.gz (14. May 2013)
cbmc-gc-v0.8.pdf (Documentation) (14. May 2013)
CCS’12 Presentation (18. October 2012)

Workshop: PETShop’13

We co-organized the PETShop’13 workshop at CCS in Berlin: http://forsyte.at/petshop-2013/!

Publications

2014
[4] CBMC-GC: An ANSI C Compiler for Secure Two-Party Computations
Martin Franz, Andreas Holzer, Stefan Katzenbeisser, Christian Schallhart, Helmut Veith
Compiler Construction - 23rd International Conference, CC 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014. Proceedings (Albert Cohen, ed.), volume 8409 of Lecture Notes in Computer Science, pages 244-249, 2014, Springer.
[bibtex] [pdf] [doi]
2013
[3] Challenges in Compiler Construction for Secure Two-Party Computation
Andreas Holzer, Nikolaos P. Karvelas, Stefan Katzenbeisser, Helmut Veith, Martin Franz
(Martin Franz, Andreas Holzer, Rupak Majumdar, Bryan Parno, Helmut Veith, eds.), pages 3-6, 2013, ACM.
[bibtex] [pdf] [doi]
[2] The first workshop on language support for privacy-enhancing technologies (PETShop'13)
Martin Franz, Andreas Holzer, Rupak Majumdar, Bryan Parno, Helmut Veith
ACM Conference on Computer and Communications Security (Ahmad-Reza Sadeghi, Virgil D. Gligor, Moti Yung, eds.), pages 1485-1486, 2013, ACM.
[bibtex] [pdf] [doi]
2012
[1] Secure Two-party Computations in ANSI C
Andreas Holzer, Martin Franz, Stefan Katzenbeisser, Helmut Veith
ACM Conference on Computer and Communications Security, pages 772-783, 2012, ACM Press.
[bibtex] [pdf] [doi]

Partners

Logo ARiSE CASED Logo TU Darmstadt Logo TU Wien

Contact

Address:
Andreas Holzer
Technische Universität Wien
Institut für Logic and Computation 192/4
Favoritenstraße 9–11
1040 Wien
Austria

Room: HD 03 13 (how to get there)
Phone: +43 (1) 58801 – 184 67
Email: ta.etysrofnull@rezloh
Web: http://forsyte.at/~holzer/

Latest News

FORSYTE’s 2018 paper awards

FORSYTE has had a quite successful year: Adrian Rebola Pardo and his co-authors received the IJCAR best paper award for their paper Extended Resolution Simulates DRAT, Mitra Tabaei Befrouei and her co-authors received an OOPSLA 2018 Distinguished Paper award for their paper Randomized Testing of Distributed Systems with Probabilistic Guarantees, and Thomas Pani received the […]

Continue reading

OOPSLA Distinguished Paper Award

Mitra Tabaei Befrouei and her co-authors from MPI-SWS Burcu Kulahcioglu Ozkan, Rupak Majumdar, and Filip Niksic, received an OOPSLA’18 Distinguished Paper Award for their contribution “Randomized Testing of Distributed Systems with Probabilistic Guarantees” (Open Access article). Congratulations!

Continue reading

Zvonimir Rakamiric visiting FORSYTE

Prof. Zvonimir Rakamiric from the School of Computing at the University of Utah is spending his sabbatical with the FORSYTE group at TU Wien. He is generously sponsored by the Wolfgang Pauli Institute and a Pauli Fellow.

Continue reading

Helmut Veith Stipend Award Ceremony

The Vice Rector for Academic Affairs of TU Wien, Kurt Matyas, will award the scholarship recipient of the Helmut Veith Stipend at the award ceremony on Friday, April 06, 2018 in the Kontaktraum, starting at 17:05.

Continue reading

Full news archive