Benchmarking the Poseidon and Rescue-Prime Permutations Using a Shared Halo2 Circuit Construction
Abstract
As zero-knowledge proof systems become increasingly prevalent, there is a need for arithmetic hash functions that operate efficiently over finite fields. Unlike hash functions that use bitwise operations, such as SHA-256, arithmetic hash functions use native field operations. When expressed as circuits over finite fields of large prime order, these arithmetic designs result in comparatively lower circuit complexity. Two prevalent examples of arithmetic hash functions are Poseidon and Rescue-Prime. In this work, we create Halo2 circuits for the Poseidon and Rescue-Prime permutations, derived from a shared circuit construction. We benchmark the resulting circuits and report low-level circuit metrics. Our comparative analysis highlights both the differences between the permutations and their tradeoffs in the context of Halo2 circuits. The shared circuit construction is also contributed as a controlled methodology for benchmarking permutations in Halo2 circuits. This work corresponds to the v1.0.1 release of the accompanying open-source implementation.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.