Expand description
Poseidon hash function with 55 full rounds, 0 partial rounds, sbox 7, a state of 3 elements and constraints of degree 7
Modules§
- columns
- The column layout will be as follow, supposing a state size of 3 elements:
- interpreter
- Implement an interpreter for a specific instance of the Poseidon inner permutation.
The Poseidon construction is defined in the paper “Poseidon: A New Hash
Function”.
The Poseidon instance works on a state of size
STATE_SIZE
and is designed to work only with full rounds. As a reminder, the Poseidon permutation is a mapping fromF^STATE_SIZE
toF^STATE_SIZE
. The user is responsible to provide the correct number of full rounds for the given field and the state. Also, it is hard-coded that the substitution is7
. The user must verify that7
is coprime withp - 1
wherep
is the order the field. The constants and matrix can be generated the fileposeidon/src/pasta/params.sage