Struct lpc55_hal::drivers::aes::Aes [−][src]
pub struct Aes<'a, Size: KeySize> { /* fields omitted */ }
Implementations
impl<'a, Size: KeySize> Aes<'a, Size>
[src]
impl<'a, Size: KeySize> Aes<'a, Size>
[src]pub fn new(
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>,
mode: Mode
) -> Self
[src]
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>,
mode: Mode
) -> Self
New AES struct implementing block-cipher
.
pub fn new_decrypt(
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>
) -> Self
[src]
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>
) -> Self
New AES starting in decryption mode
pub fn new_encrypt(
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>
) -> Self
[src]
hashcrypt: &'a mut Hashcrypt<Enabled>,
key: Key<Size>
) -> Self
New AES starting in encryption mode
pub fn prime_for_decryption(&self)
[src]
Optionally, configure peripheral for decryption ahead of time.
pub fn prime_for_encryption(&self)
[src]
Optionally, configure peripheral for encryption ahead of time.
Methods from Deref<Target = Hashcrypt<Enabled>>
pub fn sha1<'a>(&'a mut self) -> Sha1<'a>
[src]
SHA-1, as in RustCrypto digest
trait
pub fn sha256<'a>(&'a mut self) -> Sha256<'a>
[src]
SHA-256, as in RustCrypto digest
trait
pub fn aes128<'a>(&'a mut self, key: &[u8; 16]) -> Aes128<'a>
[src]
AES-128 “ECB”, as in RustCrypto block-cipher
trait
pub fn aes192<'a>(&'a mut self, key: &[u8; 24]) -> Aes192<'a>
[src]
AES-192 “ECB”, as in RustCrypto block-cipher
trait
pub fn aes256<'a>(&'a mut self, key: &[u8; 32]) -> Aes256<'a>
[src]
AES-256 “ECB”, as in RustCrypto block-cipher
trait
pub fn puf_aes<'a>(&'a mut self) -> Aes256<'a>
[src]
AES “ECB” with PUF key, for use as in RustCrypto block-cipher
trait
DOES NOT PROPERLY CHECK IF PUF AES KEY IS SETUP YET! TODO: have user pass in some token signaling PUF AES key is setup
Trait Implementations
impl<'a, Size: KeySize> BlockCipher for Aes<'a, Size>
[src]
impl<'a, Size: KeySize> BlockCipher for Aes<'a, Size>
[src]impl<'a, Size: KeySize> BlockDecrypt for Aes<'a, Size>
[src]
impl<'a, Size: KeySize> BlockDecrypt for Aes<'a, Size>
[src]fn decrypt_block(&self, block: &mut Block<Self>)
[src]
pub fn decrypt_par_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
pub fn decrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
[src]
impl<'a, Size: KeySize> BlockEncrypt for Aes<'a, Size>
[src]
impl<'a, Size: KeySize> BlockEncrypt for Aes<'a, Size>
[src]fn encrypt_block(&self, block: &mut Block<Self>)
[src]
pub fn encrypt_par_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
pub fn encrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
[src]
Auto Trait Implementations
impl<'a, Size> Unpin for Aes<'a, Size> where
<Size as ArrayLength<u8>>::ArrayType: Unpin,
impl<'a, Size> Unpin for Aes<'a, Size> where
<Size as ArrayLength<u8>>::ArrayType: Unpin,
Blanket Implementations
impl<Alg> BlockDecryptMut for Alg where
Alg: BlockDecrypt,
[src]
impl<Alg> BlockDecryptMut for Alg where
Alg: BlockDecrypt,
[src]pub fn decrypt_block_mut(
&mut self,
block: &mut GenericArray<u8, <Alg as BlockCipher>::BlockSize>
)
[src]
&mut self,
block: &mut GenericArray<u8, <Alg as BlockCipher>::BlockSize>
)
impl<Alg> BlockEncryptMut for Alg where
Alg: BlockEncrypt,
[src]
impl<Alg> BlockEncryptMut for Alg where
Alg: BlockEncrypt,
[src]pub fn encrypt_block_mut(
&mut self,
block: &mut GenericArray<u8, <Alg as BlockCipher>::BlockSize>
)
[src]
&mut self,
block: &mut GenericArray<u8, <Alg as BlockCipher>::BlockSize>
)
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self