binius_field/
lib.rs

1// Copyright 2023-2025 Irreducible Inc.
2
3#![warn(rustdoc::missing_crate_level_docs)]
4
5//! Binary tower field implementations for use in Binius.
6//!
7//! This library implements binary tower field arithmetic. The canonical binary field tower
8//! construction is specified in [DP23], section 2.3. This is a family of binary fields with
9//! extension degree $2^{\iota}$ for any tower height $\iota$. Mathematically, we label these sets
10//! $T_{\iota}$.
11//!
12//! [DP23]: https://eprint.iacr.org/2023/1784
13
14pub mod aes_field;
15pub mod arch;
16pub mod arithmetic_traits;
17pub mod binary_field;
18mod binary_field_arithmetic;
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 extension::*;
41pub use field::Field;
42pub use ghash::*;
43pub use packed::PackedField;
44pub use packed_aes_field::*;
45pub use packed_binary_field::*;
46pub use packed_extension::*;
47pub use packed_extension_ops::*;
48pub use packed_ghash::*;
49pub use random::Random;
50pub use transpose::square_transpose;
51pub use underlier::{Divisible, UnderlierWithBitOps, WithUnderlier};