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 byte_iteration;
19pub mod error;
20pub mod extension;
21pub mod field;
22pub mod ghash;
23pub mod linear_transformation;
24mod macros;
25pub mod packed;
26pub mod packed_aes_field;
27pub mod packed_binary_field;
28pub mod packed_extension;
29pub mod packed_extension_ops;
30mod packed_ghash;
31mod random;
32#[cfg(test)]
33mod tests;
34mod tracing;
35pub mod transpose;
36mod underlier;
37pub mod util;
38
39pub use aes_field::*;
40pub use binary_field::*;
41pub use error::*;
42pub use extension::*;
43pub use field::Field;
44pub use ghash::*;
45pub use packed::PackedField;
46pub use packed_aes_field::*;
47pub use packed_binary_field::*;
48pub use packed_extension::*;
49pub use packed_extension_ops::*;
50pub use packed_ghash::*;
51pub use random::Random;
52pub use transpose::{Error as TransposeError, square_transpose};
53pub use underlier::{UnderlierWithBitOps, WithUnderlier};