pub struct Encryptor<C>where
C: BlockEncryptMut + BlockCipher,{ /* private fields */ }
Expand description
CBC mode encryptor.
Trait Implementations§
Source§impl<C> AlgorithmName for Encryptor<C>
impl<C> AlgorithmName for Encryptor<C>
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> BlockEncryptMut for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> BlockEncryptMut for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§fn encrypt_with_backend_mut(
&mut self,
f: impl BlockClosure<BlockSize = Self::BlockSize>,
)
fn encrypt_with_backend_mut( &mut self, f: impl BlockClosure<BlockSize = Self::BlockSize>, )
Encrypt data using backend provided to the rank-2 closure.
Source§fn encrypt_block_inout_mut(
&mut self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_block_inout_mut( &mut self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt single
inout
block.Source§fn encrypt_blocks_inout_mut(
&mut self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_blocks_inout_mut( &mut self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt
inout
blocks.Source§fn encrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
fn encrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§fn encrypt_block_b2b_mut(
&mut self,
in_block: &GenericArray<u8, Self::BlockSize>,
out_block: &mut GenericArray<u8, Self::BlockSize>,
)
fn encrypt_block_b2b_mut( &mut self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )
Encrypt
in_block
and write result to out_block
.Source§fn encrypt_blocks_mut(
&mut self,
blocks: &mut [GenericArray<u8, Self::BlockSize>],
)
fn encrypt_blocks_mut( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )
Encrypt blocks in-place.
Source§fn encrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[GenericArray<u8, Self::BlockSize>],
out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
) -> Result<(), NotEqualError>
fn encrypt_blocks_b2b_mut( &mut self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>
Encrypt blocks buffer-to-buffer. Read more
Source§impl<C> BlockSizeUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> BlockSizeUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§type BlockSize = <C as BlockSizeUser>::BlockSize
type BlockSize = <C as BlockSizeUser>::BlockSize
Size of the block in bytes.
Source§fn block_size() -> usize
fn block_size() -> usize
Return block size in bytes.
Source§impl<C> InnerIvInit for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> InnerIvInit for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§fn inner_iv_init(cipher: C, iv: &Iv<Self>) -> Self
fn inner_iv_init(cipher: C, iv: &Iv<Self>) -> Self
Initialize value using
inner
and iv
array.Source§fn inner_iv_slice_init(
inner: Self::Inner,
iv: &[u8],
) -> Result<Self, InvalidLength>
fn inner_iv_slice_init( inner: Self::Inner, iv: &[u8], ) -> Result<Self, InvalidLength>
Initialize value using
inner
and iv
slice.Source§impl<C> InnerUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> InnerUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§impl<C> IvSizeUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> IvSizeUser for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§impl<C> IvState for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
impl<C> IvState for Encryptor<C>where
C: BlockEncryptMut + BlockCipher,
Source§impl<C: BlockCipher + BlockEncryptMut + BlockDecrypt + BlockSizeUser> UnalignedBytesEncryptMut for Encryptor<C>
impl<C: BlockCipher + BlockEncryptMut + BlockDecrypt + BlockSizeUser> UnalignedBytesEncryptMut for Encryptor<C>
Source§fn proc_tail(
&self,
blocks: &mut InOutBuf<'_, '_, Block<Self>>,
tail: &mut InOutBuf<'_, '_, u8>,
) -> Result<(), TailError>
fn proc_tail( &self, blocks: &mut InOutBuf<'_, '_, Block<Self>>, tail: &mut InOutBuf<'_, '_, u8>, ) -> Result<(), TailError>
In many cases, plaintext and ciphertext input is not divisible by the block size, and padding is often used.
In practical use, however, this is not always done, and the termination may be handled by, for example, XOR.
This trait and fn [
proc_tail
] divides the input into aligned blocks and an unaligned part([tail
]),
and then applies appropriate user-specified processing to the [tail
].Source§fn encrypt_bytes_inout_mut<'inp, 'out>(
&mut self,
data: InOutBuf<'inp, 'out, u8>,
) -> Result<&'out [u8], TailError>
fn encrypt_bytes_inout_mut<'inp, 'out>( &mut self, data: InOutBuf<'inp, 'out, u8>, ) -> Result<&'out [u8], TailError>
Encrypt
inout
bytes slice.Auto Trait Implementations§
impl<C> Freeze for Encryptor<C>
impl<C> RefUnwindSafe for Encryptor<C>where
C: RefUnwindSafe,
<<C as BlockSizeUser>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<C> Send for Encryptor<C>where
C: Send,
impl<C> Sync for Encryptor<C>where
C: Sync,
impl<C> Unpin for Encryptor<C>
impl<C> UnwindSafe for Encryptor<C>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> KeyIvInit for T
impl<T> KeyIvInit for T
Source§fn new(
key: &GenericArray<u8, <T as KeySizeUser>::KeySize>,
iv: &GenericArray<u8, <T as IvSizeUser>::IvSize>,
) -> T
fn new( key: &GenericArray<u8, <T as KeySizeUser>::KeySize>, iv: &GenericArray<u8, <T as IvSizeUser>::IvSize>, ) -> T
Create new value from fixed length key and nonce.
Source§fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<T, InvalidLength>
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<T, InvalidLength>
Create new value from variable length key and nonce.