- OS: Linux (Recommended), macOS, or Windows (WSL2).
docker pull ufsirv/zkcec_image:v1We provide the two design in repo: adder_2x2 and mult_4x4.
Runs the default benchmark on the 2-bit adder.
docker run -it zkcec_imageRuns the default benchmark on the 4-bit multiplier.
docker run -it -e "-o -d mult_4x4" zkcec_image- To run with optimization, add
-o. - To run with alternative design, add
-d $(design_name). - To run on specific port, add
-p $(port_name).
If you want to evaluate other benchmarks, copy *.sorted.unfold, *.sorted, and *.info to zkcec/input.
Your can download the full benchmark for the experiments from our Google drive.
If you want test your own design, generate the refutation proof and infomation file using our CNF-GEN, and copy *.sorted.unfold, *.sorted, and *.info to ./input.
- Emp-tool (latest version)
- Emp-zk
- Emp-ot
- OpenSSL
- NTL
- pkg-config
- LibSodium
- gmp
First configure CMakeLists.txt to set the path to NTL lib and build:
cmake -B build
cmake --build build
Then runs the script:
bash run_experiment.sh- Evaluate 4-bit multiplers with optimization:
bash run_experiments.sh -d mult_4x4 -o- Evaluate AES S-box at port 1500:
bash run_experiments.sh -d sbox_aes -p 1500