pub struct Aes { /* private fields */ }Available on (crate features
aes or tdes) and crate feature aes only.Expand description
Advanced Encryption Standard (AES) low-level block cipher.
Supports 128-bit, 192-bit, and 256-bit keys.
Implementations§
Source§impl Aes
impl Aes
Sourcepub fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
pub fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create a new AES block cipher instance.
Supports key whose length is 16-bytes (128-bit), 24-bytes (192-bits), or 32-bytes
(256-bits).
§Errors
Returns InvalidLength if the length of key is not any of the above.
Trait Implementations§
Source§impl BlockCipherDecrypt for Aes
impl BlockCipherDecrypt for Aes
Source§fn decrypt_blocks(&self, blocks: &mut [Block])
fn decrypt_blocks(&self, blocks: &mut [Block])
Decrypt blocks in-place.
Source§fn decrypt_with_backend(
&self,
f: impl BlockCipherDecClosure<BlockSize = Self::BlockSize>,
)
fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = Self::BlockSize>, )
Decrypt data using backend provided to the rank-2 closure.
Source§fn decrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
fn decrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
Decrypt single
inout block.Source§fn decrypt_blocks_inout(
&self,
blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
)
fn decrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>, )
Decrypt
inout blocks.Source§fn decrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
fn decrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
Decrypt single block in-place.
Source§impl BlockCipherEncrypt for Aes
impl BlockCipherEncrypt for Aes
Source§fn encrypt_blocks(&self, blocks: &mut [Block])
fn encrypt_blocks(&self, blocks: &mut [Block])
Encrypt blocks in-place.
Source§fn encrypt_with_backend(
&self,
f: impl BlockCipherEncClosure<BlockSize = Self::BlockSize>,
)
fn encrypt_with_backend( &self, f: impl BlockCipherEncClosure<BlockSize = Self::BlockSize>, )
Encrypt data using backend provided to the rank-2 closure.
Source§fn encrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
fn encrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
Encrypt single
inout block.Source§fn encrypt_blocks_inout(
&self,
blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
)
fn encrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>, )
Encrypt
inout blocks.Source§fn encrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
fn encrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§impl BlockSizeUser for Aes
impl BlockSizeUser for Aes
Auto Trait Implementations§
impl Freeze for Aes
impl RefUnwindSafe for Aes
impl Send for Aes
impl Sync for Aes
impl Unpin for Aes
impl UnsafeUnpin for Aes
impl UnwindSafe for Aes
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