CBMC-GC – Boolean Circuit Compiler for Secure Multi-party Computation


15. April 2018 – Updated version released. Major changes:

  • Fixed a bug in the circuit conversion tool for the Bristol format
  • Bugfixes
  • New code location: Code (Gitlab.org)

8. May 2017 – Updated version released. Major changes:

  • Improved building blocks (previous version accidentially contained inefficent building blocks)
  • Circuit can be exported to the Bristol, Fairplay's SHDL, or the JustGarble format
  • Numerous fixes

31. March 2017 – CBMC-GC v2.0 has been released. Changes/Features:

  • Circuits can be optimized for minimal depth (see our paper for details)
  • Rewritten code base with clear separation between CBMC and CBMC-GC
  • Improved compilation results
  • Adapter to the ABY MPC framework (Yao's Garbled Circuits and GMW)
  • Circuit simulator that allows automatized testing of circuits against code compiled with gcc


CBMC-GC creates Boolean circuits from ANSI-C code optimized for secure computation. The compiled circuits can then be used in any TPC/MPC framework to perform privacy-preserving computations. CBMC-GC allows to compile circuits either with minimal size (e.g., for their application in Yao's Garbled Circuits style protocols) or with minimal depth (e.g., for their application in GMW style protocols).


The most recent release v2.0 can be downloaded directly from here.

(The original release and documentation of CBMC-GC can be found here)

  • Niklas Büscher (contact on questions)
  • Martin Franz
  • Andreas Holzer
  • Stefan Katzenbeisser
  • David Kretzmer
  • Helmut Veith
  • Alina Weber