Crate binius_field

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

binary_tower
impl_packed_field_display

Structs§

ByteSlicedAES2x16x64b
ByteSlicedAES2x32x64b
ByteSlicedAES2x64x64b
ByteSlicedAES4x16x32b
ByteSlicedAES4x32x32b
ByteSlicedAES4x64x32b
ByteSlicedAES8x16x16b
ByteSlicedAES8x32x16b
ByteSlicedAES8x64x16b
ByteSlicedAES16x8b
ByteSlicedAES16x16b
ByteSlicedAES16x16x8b
ByteSlicedAES16x32b
ByteSlicedAES16x32x8b
ByteSlicedAES16x64b
ByteSlicedAES16x64x8b
ByteSlicedAES16x128b
ByteSlicedAES32x8b
ByteSlicedAES32x16b
ByteSlicedAES32x32b
ByteSlicedAES32x64b
ByteSlicedAES32x128b
ByteSlicedAES64x8b
ByteSlicedAES64x16b
ByteSlicedAES64x32b
ByteSlicedAES64x64b
ByteSlicedAES64x128b
TransformationWrapperNxN
Packed transformation for byte-sliced fields with a scalar bigger than 8b.

Type Aliases§

PackedBinaryPolyval1x128b
PackedBinaryPolyval2x128b
PackedBinaryPolyval4x128b