This repository contains a halo2 circuit for creating a proof of keccakf evaluations on multiple inputs. It uses only custom gates with no lookups or copy constraints.
The circuit is based on the keccak_stark
implementation from Plonky2/Starky.
cargo t -r -- --nocapture
cargo t -r -- --nocapture bench_keccak
sudo --preserve-env cargo flamegraph --no-default-features --features halo2-pse --output profile/flamegraph-single.svg --unit-test -- bench_keccak
sudo --preserve-env cargo flamegraph --output profile/flamegraph.svg --unit-test -- bench_keccak
The circuit can be compiled with three different backends
Switch between each of the backends by running:
cargo t -r --no-default-features --features halo2-zcash -- --nocapture