Module kimchi::circuits::polynomials::poseidon
source · Expand description
This module implements the Poseidon constraint polynomials.
Structs
- Implementation of the Poseidon gate Poseidon quotient poly contribution computation
f^7 + c(x) - f(wx)
Conjunction of:
Constants
- Number of PLONK rows required to implement Poseidon
- Number of rounds
- Number of rows
- Width of the sponge
- The order in a row in which we store states before and after permutations
Functions
generate_witness(row, params, witness_cols, input)
uses a sponge initialized withparams
to generate a witness for starting at rowrow
inwitness_cols
, and with inputinput
.- Given a Poseidon round from 0 to 4 (inclusive), returns the columns (as a range) that are used in this round.