Expand description
This is a wrapper around the Plonky3 p3_poseidon2_air used only for integration convenience to get around some complications with field-specific generics associated with Poseidon2. Currently it is only intended for use in OpenVM with BabyBear.
We do not recommend external use of this crate, and suggest using the p3_poseidon2_air crate directly.
Re-exports§
pub use openvm_stark_sdk::p3_baby_bear;
pub use p3_poseidon2;
pub use p3_poseidon2_air;
pub use p3_symmetric;
Structs§
- BABYBEAR_
BEGIN_ EXT_ CONSTS - BABYBEAR_
END_ EXT_ CONSTS - BABYBEAR_
PARTIAL_ CONSTS - Baby
Bear Poseidon2 Linear Layers - This type needs to implement GenericPoseidon2LinearLayers generic in F so that our Poseidon2SubAir can also be generic in F, but in reality each implementation of this struct’s functions should be field specific. To circumvent this, Poseidon2LinearLayers is generic in F but currently requires that F is BabyBear.
- Poseidon2
Air - Assumes the field size is at least 16 bits.
- Poseidon2
Config - Poseidon2
Constants - Poseidon2
External Layer - Poseidon2
Internal Layer - Poseidon2
SubChip SBOX_REGISTERS
affects the max constraint degree of the AIR. See p3_poseidon2_air for more details.
Enums§
Constants§
- BABY_
BEAR_ POSEIDO N2_ FULL_ ROUNDS - BABY_
BEAR_ POSEIDO N2_ HALF_ FULL_ ROUNDS - BABY_
BEAR_ POSEIDO N2_ PARTIAL_ ROUNDS - BABY_
BEAR_ POSEIDO N2_ SBOX_ DEGREE - POSEIDO
N2_ WIDTH
Traits§
- Permutation
- A permutation in the mathematical sense.
- Poseidon2
Matrix Config