pub struct Aes128 { /* private fields */ }Expand description
AES-128 块密码实例。
Implementations§
Source§impl Aes128
impl Aes128
Sourcepub fn encrypt_block(&self, block: &mut [u8; 16])
pub fn encrypt_block(&self, block: &mut [u8; 16])
就地加密一个块(掩码全扫描,P1 余留优化:SubBytes 以
sub_bytes 单次扫描同时服务全部 16 字节——累加器内层
16 字节比较/选择被 LLVM 向量化为宽 SIMD,实测约为逐字节
扫描的 3 倍。位切片电路的平面操作数按“批“固定,单块仅
占 1/64 lane,实测反而慢 2×,故单块保持掩码路径。
Sourcepub fn decrypt_block(&self, block: &mut [u8; 16])
pub fn decrypt_block(&self, block: &mut [u8; 16])
就地解密一个块(等价逆变换;DRBG 与 GCM 只需加密方向)。
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Aes128
impl RefUnwindSafe for Aes128
impl Send for Aes128
impl Sync for Aes128
impl Unpin for Aes128
impl UnsafeUnpin for Aes128
impl UnwindSafe for Aes128
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more