Skip to main content

Crate p3_monty_31

Crate p3_monty_31 

Source

Modules§

dft
An implementation of the FFT for MontyField31

Structs§

GenericPoseidon1LinearLayersMonty31
Generic Poseidon1 linear layers for MontyField31.
GenericPoseidon2LinearLayersMonty31
An implementation of the matrix multiplications in the internal and external layers of Poseidon2.
MdsMatrixMontyField31
MontyField31
Poseidon1ExternalLayerMonty31
The external (full round) layer of the Poseidon1 permutation for Monty31 fields.
Poseidon1InternalLayerMonty31
The internal (partial round) layer of the Poseidon1 permutation for Monty31 fields.
Poseidon2ExternalLayerMonty31
The external layers of the Poseidon2 permutation for Monty31 fields.
Poseidon2InternalLayerMonty31
The internal layers of the Poseidon2 permutation for Monty31 fields.

Traits§

BarrettParameters
BarrettParameters contains constants needed for the Barrett reduction used in the MDS code.
BinomialExtensionData
TODO: This should be deleted long term once we have improved our API for defining extension fields. This allows us to implement Binomial Extensions over Monty31 fields.
FieldParameters
FieldParameters contains constants and methods needed to imply PrimeCharacteristicRing, Field and PrimeField32 for MontyField31.
InternalLayerBaseParameters
Trait which handles the Poseidon2 internal layers.
InternalLayerParameters
MDSUtils
A collection of circulant MDS matrices saved using their left most column.
MontyParameters
MontyParameters contains the prime P along with constants needed to convert elements into and out of MONTY form. The MONTY constant is assumed to be a power of 2.
PackedMontyParameters
PackedMontyParameters contains constants needed for MONTY operations for packings of Monty31 fields.
PartialRoundBaseParameters
Trait for Poseidon1 partial round scalar operations.
PartialRoundParameters
RelativelyPrimePower
An integer D such that gcd(D, p - 1) = 1.
TrinomialQuinticData
Data for a quintic extension using the trinomial polynomial X^5 + X^2 - 1.
TwoAdicData
TwoAdicData contains constants needed to imply TwoAdicField for Monty31 fields.