Expand description
The Poseidon2 permutation.
§Available instances
We have implemented Poseidon2 instances: (field, state_size)
- (Bls12_381::Fr, 2), (Bls12_381::Fr, 3)
- (Bn254::Fr, 3)
This implementation was based upon the following resources:
- https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2.rs
- https://eprint.iacr.org/2023/323.pdf
- https://github.com/Plonky3/Plonky3/blob/main/poseidon2/
Modules§
- constants
- Poseidon2 Constants copied from https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/
- crhf
- Collision-resistant Hash Function (CRHF) based on Poseidon2 permutation
- sponge
- Poseidon2-based Cryptographic Sponge
Macros§
- define_
poseidon2_ params - macros to derive instances that implements
trait Poseidon2Params
Structs§
- Poseidon2
- A Poseidon2 permutation family https://eprint.iacr.org/2023/323
Enums§
- Poseidon2
Error - Poseidon2 Error type
Traits§
- Poseidon2
Params - Parameters required for a Poseidon2 permutation instance.