Struct block_modes::Pcbc [−][src]
pub struct Pcbc<C: BlockCipher + BlockEncrypt + BlockDecrypt, P: Padding> { /* fields omitted */ }
Propagating Cipher Block Chaining (PCBC) mode instance.
Implementations
impl<C, P> Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]
impl<C, P> Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]pub fn new(
cipher: C,
iv: &GenericArray<u8, <C as BlockCipher>::BlockSize>
) -> Self
[src]
cipher: C,
iv: &GenericArray<u8, <C as BlockCipher>::BlockSize>
) -> Self
Initialize PCBC
Trait Implementations
impl<C, P> BlockMode<C, P> for Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]
impl<C, P> BlockMode<C, P> for Pcbc<C, P> where
C: BlockCipher + BlockEncrypt + BlockDecrypt,
P: Padding,
[src]type IvSize = C::BlockSize
Initialization Vector size.
fn new(cipher: C, iv: &GenericArray<u8, C::BlockSize>) -> Self
[src]
fn encrypt_blocks(
&mut self,
blocks: &mut [GenericArray<u8, <C as BlockCipher>::BlockSize>]
)
[src]
&mut self,
blocks: &mut [GenericArray<u8, <C as BlockCipher>::BlockSize>]
)
fn decrypt_blocks(
&mut self,
blocks: &mut [GenericArray<u8, <C as BlockCipher>::BlockSize>]
)
[src]
&mut self,
blocks: &mut [GenericArray<u8, <C as BlockCipher>::BlockSize>]
)
fn new_fix(
key: &GenericArray<u8, <C as NewBlockCipher>::KeySize>,
iv: &GenericArray<u8, Self::IvSize>
) -> Self where
C: NewBlockCipher,
[src]
key: &GenericArray<u8, <C as NewBlockCipher>::KeySize>,
iv: &GenericArray<u8, Self::IvSize>
) -> Self where
C: NewBlockCipher,
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidKeyIvLength> where
C: NewBlockCipher,
[src]
C: NewBlockCipher,
fn encrypt(self, buffer: &mut [u8], pos: usize) -> Result<&[u8], BlockModeError>
[src]
fn decrypt(self, buffer: &mut [u8]) -> Result<&[u8], BlockModeError>
[src]
fn encrypt_vec(self, plaintext: &[u8]) -> Vec<u8>ⓘ
[src]
fn decrypt_vec(self, ciphertext: &[u8]) -> Result<Vec<u8>, BlockModeError>
[src]
impl<C: Clone + BlockCipher + BlockEncrypt + BlockDecrypt, P: Clone + Padding> Clone for Pcbc<C, P> where
C::BlockSize: Clone,
[src]
impl<C: Clone + BlockCipher + BlockEncrypt + BlockDecrypt, P: Clone + Padding> Clone for Pcbc<C, P> where
C::BlockSize: Clone,
[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]Auto Trait Implementations
impl<C, P> RefUnwindSafe for Pcbc<C, P> where
C: RefUnwindSafe,
P: RefUnwindSafe,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<C, P> RefUnwindSafe for Pcbc<C, P> where
C: RefUnwindSafe,
P: RefUnwindSafe,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<C, P> Unpin for Pcbc<C, P> where
C: Unpin,
P: Unpin,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<C, P> Unpin for Pcbc<C, P> where
C: Unpin,
P: Unpin,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<C, P> UnwindSafe for Pcbc<C, P> where
C: UnwindSafe,
P: UnwindSafe,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
impl<C, P> UnwindSafe for Pcbc<C, P> where
C: UnwindSafe,
P: UnwindSafe,
<<C as BlockCipher>::BlockSize as ArrayLength<u8>>::ArrayType: UnwindSafe,