Trait block_modes::IvState [−][src]
pub trait IvState<C, P>: BlockMode<C, P> where
C: BlockCipher,
P: Padding, { fn iv_state(&self) -> GenericArray<u8, Self::IvSize>; }
Trait for a BlockMode, used to obtain the current state in the form of an IV that can initialize a BlockMode later and resume the original operation.
The IV value SHOULD be used for resuming operations only and MUST NOT be exposed to attackers. Failing to comply with this requirement breaks unpredictability and opens attack venues (see e.g. 1, sec. 3.6.2).
Required methods
fn iv_state(&self) -> GenericArray<u8, Self::IvSize>
[src]
Returns the IV needed to process the following block. This value MUST NOT be exposed to attackers.
Implementors
impl<C, P> IvState<C, P> for Cbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]
impl<C, P> IvState<C, P> for Cbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]impl<C, P> IvState<C, P> for Cfb8<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]
impl<C, P> IvState<C, P> for Cfb8<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]impl<C, P> IvState<C, P> for Cfb<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]
impl<C, P> IvState<C, P> for Cfb<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]impl<C, P> IvState<C, P> for Ige<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
C::BlockSize: Add,
Sum<<C as BlockCipher>::BlockSize, <C as BlockCipher>::BlockSize>: ArrayLength<u8>,
[src]
impl<C, P> IvState<C, P> for Ige<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
C::BlockSize: Add,
Sum<<C as BlockCipher>::BlockSize, <C as BlockCipher>::BlockSize>: ArrayLength<u8>,
[src]impl<C, P> IvState<C, P> for Ofb<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]
impl<C, P> IvState<C, P> for Ofb<C, P> where
C: BlockCipher + BlockEncrypt,
P: Padding,
[src]impl<C, P> IvState<C, P> for Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]
impl<C, P> IvState<C, P> for Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]