binius_field/arch/portable/
packed_aes_128.rs

1// Copyright 2024-2025 Irreducible Inc.
2
3use super::{
4	packed::PackedPrimitiveType, packed_arithmetic::impl_tower_constants,
5	packed_macros::impl_broadcast,
6};
7use crate::{
8	aes_field::AESTowerField8b,
9	arch::portable::packed_macros::{portable_macros::*, *},
10	arithmetic_traits::{
11		impl_invert_with, impl_mul_alpha_with, impl_mul_with, impl_square_with,
12		impl_transformation_with_strategy,
13	},
14};
15
16define_packed_binary_fields!(
17	underlier: u128,
18	packed_fields: [
19		packed_field {
20			name: PackedAESBinaryField16x8b,
21			scalar: AESTowerField8b,
22			alpha_idx: _,
23			mul: (PairwiseTableStrategy),
24			square: (PairwiseTableStrategy),
25			invert: (PairwiseTableStrategy),
26			mul_alpha: (PairwiseTableStrategy),
27			transform: (PackedStrategy),
28		},
29	]
30);
31
32impl_tower_constants!(AESTowerField8b, u128, 0x00d300d300d300d300d300d300d300d3);