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::Error as TransposeError;
pub use transpose::square_transpose;
pub use aes_field::*;
pub use binary_field::*;
pub use error::*;
pub use extension::*;
pub use ghash::*;
pub use packed_aes_field::*;
pub use packed_binary_field::*;
pub use packed_extension::*;
pub use packed_extension_ops::*;

Modules§

aes_field
arch
arithmetic_traits
as_packed_field
binary_field
byte_iteration
error
extension
field
ghash
Binary field implementation of GF(2^128) with a modulus of X^128 + X^7 + X^2 + X + 1. This is the GHASH field used in AES-GCM.
linear_transformation
packed
Traits for packed field elements which support SIMD implementations.
packed_aes_field
packed_binary_field
packed_extension
packed_extension_ops
transpose
util

Macros§

impl_packed_field_display

Traits§

Random
A value that can be randomly generated
UnderlierWithBitOps
Underlier type that supports bit arithmetic.
WithUnderlier
A type that is transparently backed by an underlier.

Functions§

mul_inv_x
mul_x

Type Aliases§

PackedBinaryGhash1x128b
PackedBinaryGhash2x128b
PackedBinaryGhash4x128b