.v
) describing the function.
You can utilize the free-XOR optimized implementations of common arithmetic and logical operations provided in the syn_lib. .v
). It supports synthesis with Synopsys Design Compiler or Yosys-ABC..v
) to a circuit description file compatible with the respective framework
following the instructions inside Verilog2SCD, Verilog2EMP or Verilog2BMR
for executing with TinyGarble, EMP Toolkit, and Semi-Honest-BMR respectively.Detailed instruction for each step is provided inside the respective directories.
The Benchmarks directory contains implementations of benchmark functions for 2-party GC. For multi-party benchmarks visit here.
[1] Ebrahim M. Songhori, Siam U. Hussain, Ahmad-Reza Sadeghi, Thomas Schneider and Farinaz Koushanfar, "TinyGarble: Highly Compressed and Scalable Sequential Garbled Circuits." Security and Privacy, 2015 IEEE Symposium on May, 2015.
[2] Xiao Wang and Alex J. Malozemoff and Jonathan Katz. "EMP-toolkit: Efficient MultiParty computation toolkit.", 2016.
[3] Ben-Efraim, Aner, Yehuda Lindell, and Eran Omri. "Optimizing semi-honest secure multiparty computation for the internet." Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016.