binius_field/
lib.rs

1// Copyright 2023-2025 Irreducible Inc.
2
3//! Binary tower field implementations for use in Binius.
4//!
5//! This library implements binary tower field arithmetic. The canonical binary field tower
6//! construction is specified in [DP23], section 2.3. This is a family of binary fields with
7//! extension degree $2^{\iota}$ for any tower height $\iota$. Mathematically, we label these sets
8//! $T_{\iota}$.
9//!
10//! [DP23]: https://eprint.iacr.org/2023/1784
11
12pub mod aes_field;
13pub mod arch;
14pub mod arithmetic_traits;
15pub mod as_packed_field;
16pub mod binary_field;
17mod binary_field_arithmetic;
18pub mod error;
19pub mod extension;
20pub mod field;
21pub mod ghash;
22pub mod linear_transformation;
23mod macros;
24pub mod packed;
25pub mod packed_aes_field;
26pub mod packed_binary_field;
27pub mod packed_extension;
28pub mod packed_extension_ops;
29mod packed_ghash;
30mod random;
31#[cfg(test)]
32mod tests;
33mod tracing;
34pub mod transpose;
35mod underlier;
36pub mod util;
37
38pub use aes_field::*;
39pub use binary_field::*;
40pub use error::*;
41pub use extension::*;
42pub use field::Field;
43pub use ghash::*;
44pub use packed::PackedField;
45pub use packed_aes_field::*;
46pub use packed_binary_field::*;
47pub use packed_extension::*;
48pub use packed_extension_ops::*;
49pub use packed_ghash::*;
50pub use random::Random;
51pub use transpose::{Error as TransposeError, square_transpose};
52pub use underlier::{DivisIterable, UnderlierWithBitOps, WithUnderlier};