Expand description
Binary tower field implementations for use in Binius.
This library implements binary tower field arithmetic. The canonical binary field tower construction is specified in DP23, section 2.3. This is a family of binary fields with extension degree $2^{\iota}$ for any tower height $\iota$. Mathematically, we label these sets $T_{\iota}$.
Re-exports§
pub use field::Field;
pub use packed::PackedField;
pub use transpose::square_transpose;
pub use transpose::transpose_scalars;
pub use transpose::Error as TransposeError;
pub use aes_field::*;
pub use binary_field::*;
pub use error::*;
pub use extension::*;
pub use packed_aes_field::*;
pub use packed_binary_field::*;
pub use packed_extension::*;
pub use packed_extension_ops::*;
pub use polyval::*;
Modules§
- aes_
field - arch
- arithmetic_
traits - as_
packed_ field - binary_
field - byte_
iteration - error
- extension
- field
- linear_
transformation - packed
- Traits for packed field elements which support SIMD implementations.
- packed_
aes_ field - packed_
binary_ field - packed_
extension - packed_
extension_ ops - polyval
- Binary field implementation of GF(2^128) with a modulus of X^128 + X^127 + X^126 + 1.
- tower_
levels - transpose
- underlier
- util
Macros§
Structs§
- Byte
SlicedAE S2x16x64b - Byte
SlicedAE S2x32x64b - Byte
SlicedAE S2x64x64b - Byte
SlicedAE S4x16x32b - Byte
SlicedAE S4x32x32b - Byte
SlicedAE S4x64x32b - Byte
SlicedAE S8x16x16b - Byte
SlicedAE S8x32x16b - Byte
SlicedAE S8x64x16b - Byte
SlicedAE S16x8b - Byte
SlicedAE S16x16b - Byte
SlicedAE S16x16x8b - Byte
SlicedAE S16x32b - Byte
SlicedAE S16x32x8b - Byte
SlicedAE S16x64b - Byte
SlicedAE S16x64x8b - Byte
SlicedAE S16x128b - Byte
SlicedAE S32x8b - Byte
SlicedAE S32x16b - Byte
SlicedAE S32x32b - Byte
SlicedAE S32x64b - Byte
SlicedAE S32x128b - Byte
SlicedAE S64x8b - Byte
SlicedAE S64x16b - Byte
SlicedAE S64x32b - Byte
SlicedAE S64x64b - Byte
SlicedAE S64x128b - Transformation
Wrapper NxN - Packed transformation for byte-sliced fields with a scalar bigger than 8b.