Skip to main content

Crate p3_binary_dft

Crate p3_binary_dft 

Source
Expand description

§p3-binary-dft

An additive NTT over F_2-linear subspaces of the Plonky3 binary tower fields, the characteristic-2 analogue of a multiplicative-coset DFT. The domain S_ℓ is spanned by the first ℓ vectors of the Cantor basis added to p3-binary-field, and evaluation over it is computed by the Lin–Chung–Han (LCH) transform.

Part of Plonky3, dual-licensed under MIT and Apache 2.0.

Structs§

AdditiveRsEncoder
Reed–Solomon over the additive NTT domain.
LchNtt
The Lin–Chung–Han additive NTT over the Cantor-basis domain.
NaiveAdditiveNtt
Reference additive NTT.
PolyBasisNtt
LchNtt over BinaryField128, with the data held in the polynomial basis throughout.

Traits§

AdditiveNtt
An additive NTT: evaluation of the novel polynomial basis on an F_2-linear subspace.
ButterflyField
A field the additive transform has a butterfly kernel for.
EncodableLevel
A tower level this crate encodes over, together with the encoder it picks for that level.

Functions§

domain_point
The index-th point of the additive NTT domain, Σ_r bit_r(index) · v_r.
domain_point_steps
The increments of domain_point(index << 1) as index runs upwards from zero.
interleaved_encode_batch
Reed–Solomon encode a message held one folding column at a time.
subfield_encode_batch
Reed–Solomon encode a subfield message over the additive NTT domain.
subfield_ntt_batch
Evaluate each column of a subfield message on the subspace of the wider level.
subspace_polynomial
The subspace polynomial W_j of S_j, defined by W_0(x) = x and W_j(x) = W_{j−1}(x)² + W_{j−1}(x).