#[non_exhaustive]pub enum AesOperation<'a> {
Show 17 variants
Aes128EcbEncrypt {
block: &'a mut [u8; 16],
key: &'a [u8; 16],
},
Aes128EcbDecrypt {
block: &'a mut [u8; 16],
key: &'a [u8; 16],
},
Aes128Cmac {
key: &'a [u8; 16],
data: &'a [u8],
out: &'a mut [u8; 16],
},
AesCcm128Encrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
plaintext: &'a [u8],
ciphertext: &'a mut [u8],
tag: &'a mut [u8; 16],
},
AesCcm128Decrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
ciphertext: &'a [u8],
plaintext: &'a mut [u8],
tag: &'a [u8; 16],
},
AesCcm8_128Encrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
plaintext: &'a [u8],
ciphertext: &'a mut [u8],
tag: &'a mut [u8; 8],
},
AesCcm8_128Decrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
ciphertext: &'a [u8],
plaintext: &'a mut [u8],
tag: &'a [u8; 8],
},
AesGcm128Encrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
plaintext: &'a [u8],
ciphertext: &'a mut [u8],
tag: &'a mut [u8; 16],
},
AesGcm128Decrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
ciphertext: &'a [u8],
plaintext: &'a mut [u8],
tag: &'a [u8; 16],
},
AesGcm256Encrypt {
key: &'a [u8; 32],
nonce: &'a [u8],
aad: &'a [u8],
plaintext: &'a [u8],
ciphertext: &'a mut [u8],
tag: &'a mut [u8; 16],
},
AesGcm256Decrypt {
key: &'a [u8; 32],
nonce: &'a [u8],
aad: &'a [u8],
ciphertext: &'a [u8],
plaintext: &'a mut [u8],
tag: &'a [u8; 16],
},
Aes128CbcEncrypt {
iv: &'a [u8; 16],
buffer: &'a mut [u8],
key: &'a [u8; 16],
},
Aes128CbcDecrypt {
iv: &'a [u8; 16],
block: &'a mut [u8],
key: &'a [u8; 16],
},
Aes256CbcEncrypt {
iv: &'a [u8; 16],
block: &'a mut [u8],
key: &'a [u8; 32],
},
Aes256CbcDecrypt {
iv: &'a [u8; 16],
block: &'a mut [u8],
key: &'a [u8; 32],
},
AesCcm4_128Encrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
plaintext: &'a [u8],
ciphertext: &'a mut [u8],
tag: &'a mut [u8; 4],
},
AesCcm4_128Decrypt {
key: &'a [u8; 16],
nonce: &'a [u8],
aad: &'a [u8],
ciphertext: &'a [u8],
plaintext: &'a mut [u8],
tag: &'a [u8; 4],
},
}Expand description
Discriminated union of all AES symmetric crypto operations.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Aes128EcbEncrypt
Aes128EcbDecrypt
Aes128Cmac
AesCcm128Encrypt
Fields
AesCcm128Decrypt
Fields
AesCcm8_128Encrypt
Fields
AesCcm8_128Decrypt
Fields
AesGcm128Encrypt
Fields
AesGcm128Decrypt
Fields
AesGcm256Encrypt
Fields
AesGcm256Decrypt
Fields
Aes128CbcEncrypt
Aes128CbcDecrypt
Aes256CbcEncrypt
Aes256CbcDecrypt
AesCcm4_128Encrypt
Fields
AesCcm4_128Decrypt
Auto Trait Implementations§
impl<'a> !UnwindSafe for AesOperation<'a>
impl<'a> Freeze for AesOperation<'a>
impl<'a> RefUnwindSafe for AesOperation<'a>
impl<'a> Send for AesOperation<'a>
impl<'a> Sync for AesOperation<'a>
impl<'a> Unpin for AesOperation<'a>
impl<'a> UnsafeUnpin for AesOperation<'a>
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