Trait cipher::BlockEncrypt
source · pub trait BlockEncrypt: BlockSizeUser + Sized {
// Required method
fn encrypt_with_backend(
&self,
f: impl BlockClosure<BlockSize = Self::BlockSize>,
);
// Provided methods
fn encrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>) { ... }
fn encrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>) { ... }
fn encrypt_block(&self, block: &mut Block<Self>) { ... }
fn encrypt_block_b2b(
&self,
in_block: &Block<Self>,
out_block: &mut Block<Self>,
) { ... }
fn encrypt_blocks(&self, blocks: &mut [Block<Self>]) { ... }
fn encrypt_blocks_b2b(
&self,
in_blocks: &[Block<Self>],
out_blocks: &mut [Block<Self>],
) -> Result<(), NotEqualError> { ... }
fn encrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>(
&self,
data: InOutBufReserved<'inp, 'out, u8>,
) -> Result<&'out [u8], PadError> { ... }
fn encrypt_padded<'a, P: Padding<Self::BlockSize>>(
&self,
buf: &'a mut [u8],
msg_len: usize,
) -> Result<&'a [u8], PadError> { ... }
fn encrypt_padded_b2b<'a, P: Padding<Self::BlockSize>>(
&self,
msg: &[u8],
out_buf: &'a mut [u8],
) -> Result<&'a [u8], PadError> { ... }
fn encrypt_padded_vec<P: Padding<Self::BlockSize>>(
&self,
msg: &[u8],
) -> Vec<u8> { ... }
}
Expand description
Encrypt-only functionality for block ciphers.
Required Methods§
sourcefn encrypt_with_backend(
&self,
f: impl BlockClosure<BlockSize = Self::BlockSize>,
)
fn encrypt_with_backend( &self, f: impl BlockClosure<BlockSize = Self::BlockSize>, )
Encrypt data using backend provided to the rank-2 closure.
Provided Methods§
sourcefn encrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>)
fn encrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>)
Encrypt single inout
block.
sourcefn encrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>)
fn encrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>)
Encrypt inout
blocks.
sourcefn encrypt_block(&self, block: &mut Block<Self>)
fn encrypt_block(&self, block: &mut Block<Self>)
Encrypt single block in-place.
sourcefn encrypt_block_b2b(&self, in_block: &Block<Self>, out_block: &mut Block<Self>)
fn encrypt_block_b2b(&self, in_block: &Block<Self>, out_block: &mut Block<Self>)
Encrypt in_block
and write result to out_block
.
sourcefn encrypt_blocks(&self, blocks: &mut [Block<Self>])
fn encrypt_blocks(&self, blocks: &mut [Block<Self>])
Encrypt blocks in-place.
sourcefn encrypt_blocks_b2b(
&self,
in_blocks: &[Block<Self>],
out_blocks: &mut [Block<Self>],
) -> Result<(), NotEqualError>
fn encrypt_blocks_b2b( &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.
sourcefn encrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>(
&self,
data: InOutBufReserved<'inp, 'out, u8>,
) -> Result<&'out [u8], PadError>
fn encrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>( &self, data: InOutBufReserved<'inp, 'out, u8>, ) -> Result<&'out [u8], PadError>
Pad input and encrypt. Returns resulting ciphertext slice.
Returns PadError
if length of output buffer is not sufficient.
sourcefn encrypt_padded<'a, P: Padding<Self::BlockSize>>(
&self,
buf: &'a mut [u8],
msg_len: usize,
) -> Result<&'a [u8], PadError>
fn encrypt_padded<'a, P: Padding<Self::BlockSize>>( &self, buf: &'a mut [u8], msg_len: usize, ) -> Result<&'a [u8], PadError>
Pad input and encrypt in-place. Returns resulting ciphertext slice.
Returns PadError
if length of output buffer is not sufficient.
Object Safety§
This trait is not object safe.