feat(prover): Add Keccak precompile#519
Conversation
creation, VmAirs registration, and E2E test scaffold
verification and state_ptr ADD constraints
|
FYI: the spec is merged (#474) GL! |
|
Benchmark Results for modified programs 🚀
|
Codex Code Review
I couldn’t run the targeted tests here because |
Review: Keccak-f[1600] precompileThe implementation is solid — the permutation arithmetic, rho/pi/chi bus wiring, and test coverage all look correct. A few issues to address before merging: Medium
Low
|
|
Benchmark Results for unmodified programs 🚀
|
executor and AIR Mirror alignment + no-overflow in the AIR, dedup KECCAK_RC, fix chi indexer, and add a multi-call tiny-keccak cross-check test.
This PR adds the Keccak precompile. The permutation is implemented in the executor (
keccak_f1600, verified againsttiny-keccak) and proven by three chips:MEMWread+write ops for the 200-byte state, packs the state intoWord4Lhalves, and sends to the Keccak round bus.BITWISElookups (XOR_BYTE,AND_BYTE,HWSL,IS_BYTE) and polynomial constraints (IS_BITon the round-constant / rho-case selector bits, rnc equality, and the degree-3pimux).