WARNING: This is an academic proof-of-concept prototype and has not received careful code review. This implementation is NOT ready for production use.
Set up a python virtual environment (recommended) and install the dependencies
in requirements.txt
.
[TODO] pbd.py
TL;DR: run appropriate circuit in circuits file; and feed the results to cost_modeler.py.
Cherry-pick this commit into your ABY directory and rebuild ABY.
[TODO] Fix cost_modeler.py to differentiate between ABY/AgMPC
For convenience, you can use the predefined circuits in circuits
.
However, if you would like to generate your own circuits, use circuit.py
:
python3 circuit.py [-w=width] [-g=max_gates] [spec_file] [experiment_type]"
Experiment type can be either pbd
or ccd
.
For CCD, if width (circuit depth) is not a feature that was deemed significant from the PBD
experiment, fix call circuit.py
with w=0
.
To exclude features from the CCD experiment, delete the relevant gates in the spec file.
python3 run_compiler.py [input_file] [output_file]