Crate jf_poseidon2

Source
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§

Poseidon2Error
Poseidon2 Error type

Traits§

Poseidon2Params
Parameters required for a Poseidon2 permutation instance.