Trait cipher::BlockEncryptMut
source · pub trait BlockEncryptMut: BlockSizeUser + Sized {
fn encrypt_with_backend_mut(
&mut self,
f: impl BlockClosure<BlockSize = Self::BlockSize>
);
fn encrypt_block_inout_mut(&mut self, block: InOut<'_, '_, Block<Self>>) { ... }
fn encrypt_blocks_inout_mut(&mut self, blocks: InOutBuf<'_, '_, Block<Self>>) { ... }
fn encrypt_block_mut(&mut self, block: &mut Block<Self>) { ... }
fn encrypt_block_b2b_mut(
&mut self,
in_block: &Block<Self>,
out_block: &mut Block<Self>
) { ... }
fn encrypt_blocks_mut(&mut self, blocks: &mut [Block<Self>]) { ... }
fn encrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[Block<Self>],
out_blocks: &mut [Block<Self>]
) -> Result<(), NotEqualError> { ... }
}Expand description
Encrypt-only functionality for block ciphers and modes with mutable access to self.
The main use case for this trait is blocks modes, but it also can be used
for hardware cryptographic engines which require &mut self access to an
underlying hardware peripheral.
Required Methods
sourcefn 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.
Provided Methods
sourcefn encrypt_block_inout_mut(&mut self, block: InOut<'_, '_, Block<Self>>)
fn encrypt_block_inout_mut(&mut self, block: InOut<'_, '_, Block<Self>>)
Encrypt single inout block.
sourcefn encrypt_blocks_inout_mut(&mut self, blocks: InOutBuf<'_, '_, Block<Self>>)
fn encrypt_blocks_inout_mut(&mut self, blocks: InOutBuf<'_, '_, Block<Self>>)
Encrypt inout blocks.
sourcefn encrypt_block_mut(&mut self, block: &mut Block<Self>)
fn encrypt_block_mut(&mut self, block: &mut Block<Self>)
Encrypt single block in-place.
sourcefn encrypt_block_b2b_mut(
&mut self,
in_block: &Block<Self>,
out_block: &mut Block<Self>
)
fn encrypt_block_b2b_mut(
&mut self,
in_block: &Block<Self>,
out_block: &mut Block<Self>
)
Encrypt in_block and write result to out_block.
sourcefn encrypt_blocks_mut(&mut self, blocks: &mut [Block<Self>])
fn encrypt_blocks_mut(&mut self, blocks: &mut [Block<Self>])
Encrypt blocks in-place.
sourcefn encrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[Block<Self>],
out_blocks: &mut [Block<Self>]
) -> Result<(), NotEqualError>
fn encrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[Block<Self>],
out_blocks: &mut [Block<Self>]
) -> Result<(), NotEqualError>
Encrypt blocks buffer-to-buffer.
Returns NotEqualError if provided in_blocks and out_blocks
have different lengths.