pub struct CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,{ /* private fields */ }
Expand description
Generic core CMAC instance, which operates over blocks.
Trait Implementations§
source§impl<C> AlgorithmName for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName,
Block<C>: Dbl,
impl<C> AlgorithmName for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, Block<C>: Dbl,
source§fn write_alg_name(f: &mut Formatter<'_>) -> Result
fn write_alg_name(f: &mut Formatter<'_>) -> Result
Write algorithm name into
f
.source§impl<C> BlockSizeUser for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> BlockSizeUser for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
§fn block_size() -> usize
fn block_size() -> usize
Return block size in bytes.
source§impl<C> BufferKindUser for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> BufferKindUser for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
§type BufferKind = Lazy
type BufferKind = Lazy
Block buffer kind over which type operates.
source§impl<C> Clone for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone + Clone,
Block<C>: Dbl,
impl<C> Clone for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone + Clone, Block<C>: Dbl,
source§impl<C> Debug for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName,
Block<C>: Dbl,
impl<C> Debug for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, Block<C>: Dbl,
source§impl<C> Drop for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
Available on crate feature zeroize
only.
impl<C> Drop for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
Available on crate feature
zeroize
only.source§impl<C> FixedOutputCore for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
C::BlockSize: IsLess<U256>,
Le<C::BlockSize, U256>: NonZero,
impl<C> FixedOutputCore for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl, C::BlockSize: IsLess<U256>, Le<C::BlockSize, U256>: NonZero,
source§fn finalize_fixed_core(
&mut self,
buffer: &mut Buffer<Self>,
out: &mut Output<Self>
)
fn finalize_fixed_core( &mut self, buffer: &mut Buffer<Self>, out: &mut Output<Self> )
Finalize state using remaining data stored in the provided block buffer,
write result into provided array and leave
self
in a dirty state.source§impl<C> InnerInit for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> InnerInit for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
source§fn inner_init(cipher: C) -> Self
fn inner_init(cipher: C) -> Self
Initialize value from the
inner
.source§impl<C> InnerUser for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> InnerUser for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
source§impl<C> OutputSizeUser for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> OutputSizeUser for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
§type OutputSize = <C as BlockSizeUser>::BlockSize
type OutputSize = <C as BlockSizeUser>::BlockSize
Size of the output in bytes.
§fn output_size() -> usize
fn output_size() -> usize
Return output size in bytes.
source§impl<C> Reset for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> Reset for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
source§impl<C> UpdateCore for CmacCore<C>where
C: BlockCipher + BlockEncryptMut + Clone,
Block<C>: Dbl,
impl<C> UpdateCore for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
source§fn update_blocks(&mut self, blocks: &[Block<Self>])
fn update_blocks(&mut self, blocks: &[Block<Self>])
Update state using the provided data blocks.
impl<C> MacMarker for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone, Block<C>: Dbl,
impl<C> ZeroizeOnDrop for CmacCore<C>where C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop, Block<C>: Dbl,
Available on crate feature
zeroize
only.