pub trait BlockDecrypt: BlockSizeUser {
    // Required method
    fn decrypt_with_backend(
        &self,
        f: impl BlockClosure<BlockSize = Self::BlockSize>,
    );
    // Provided methods
    fn decrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>) { ... }
    fn decrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>) { ... }
    fn decrypt_block(&self, block: &mut Block<Self>) { ... }
    fn decrypt_block_b2b(
        &self,
        in_block: &Block<Self>,
        out_block: &mut Block<Self>,
    ) { ... }
    fn decrypt_blocks(&self, blocks: &mut [Block<Self>]) { ... }
    fn decrypt_blocks_b2b(
        &self,
        in_blocks: &[Block<Self>],
        out_blocks: &mut [Block<Self>],
    ) -> Result<(), NotEqualError> { ... }
    fn decrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>(
        &self,
        data: InOutBuf<'inp, 'out, u8>,
    ) -> Result<&'out [u8], UnpadError> { ... }
    fn decrypt_padded<'a, P: Padding<Self::BlockSize>>(
        &self,
        buf: &'a mut [u8],
    ) -> Result<&'a [u8], UnpadError> { ... }
    fn decrypt_padded_b2b<'a, P: Padding<Self::BlockSize>>(
        &self,
        in_buf: &[u8],
        out_buf: &'a mut [u8],
    ) -> Result<&'a [u8], UnpadError> { ... }
    fn decrypt_padded_vec<P: Padding<Self::BlockSize>>(
        &self,
        buf: &[u8],
    ) -> Result<Vec<u8>, UnpadError> { ... }
}Expand description
Decrypt-only functionality for block ciphers.
Required Methods§
Sourcefn decrypt_with_backend(
    &self,
    f: impl BlockClosure<BlockSize = Self::BlockSize>,
)
 
fn decrypt_with_backend( &self, f: impl BlockClosure<BlockSize = Self::BlockSize>, )
Decrypt data using backend provided to the rank-2 closure.
Provided Methods§
Sourcefn decrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>)
 
fn decrypt_block_inout(&self, block: InOut<'_, '_, Block<Self>>)
Decrypt single inout block.
Sourcefn decrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>)
 
fn decrypt_blocks_inout(&self, blocks: InOutBuf<'_, '_, Block<Self>>)
Decrypt inout blocks.
Sourcefn decrypt_block(&self, block: &mut Block<Self>)
 
fn decrypt_block(&self, block: &mut Block<Self>)
Decrypt single block in-place.
Sourcefn decrypt_block_b2b(&self, in_block: &Block<Self>, out_block: &mut Block<Self>)
 
fn decrypt_block_b2b(&self, in_block: &Block<Self>, out_block: &mut Block<Self>)
Decrypt in_block and write result to out_block.
Sourcefn decrypt_blocks(&self, blocks: &mut [Block<Self>])
 
fn decrypt_blocks(&self, blocks: &mut [Block<Self>])
Decrypt blocks in-place.
Sourcefn decrypt_blocks_b2b(
    &self,
    in_blocks: &[Block<Self>],
    out_blocks: &mut [Block<Self>],
) -> Result<(), NotEqualError>
 
fn decrypt_blocks_b2b( &self, in_blocks: &[Block<Self>], out_blocks: &mut [Block<Self>], ) -> Result<(), NotEqualError>
Decrypt blocks buffer-to-buffer.
Returns NotEqualError if provided in_blocks and out_blocks
have different lengths.
Sourcefn decrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>(
    &self,
    data: InOutBuf<'inp, 'out, u8>,
) -> Result<&'out [u8], UnpadError>
 
fn decrypt_padded_inout<'inp, 'out, P: Padding<Self::BlockSize>>( &self, data: InOutBuf<'inp, 'out, u8>, ) -> Result<&'out [u8], UnpadError>
Decrypt input and unpad it. Returns resulting ciphertext slice.
Returns UnpadError if padding is malformed or if input length is
not multiple of Self::BlockSize.
Sourcefn decrypt_padded<'a, P: Padding<Self::BlockSize>>(
    &self,
    buf: &'a mut [u8],
) -> Result<&'a [u8], UnpadError>
 
fn decrypt_padded<'a, P: Padding<Self::BlockSize>>( &self, buf: &'a mut [u8], ) -> Result<&'a [u8], UnpadError>
Decrypt input and unpad it in-place. Returns resulting ciphertext slice.
Returns UnpadError if padding is malformed or if input length is
not multiple of Self::BlockSize.
Sourcefn decrypt_padded_b2b<'a, P: Padding<Self::BlockSize>>(
    &self,
    in_buf: &[u8],
    out_buf: &'a mut [u8],
) -> Result<&'a [u8], UnpadError>
 
fn decrypt_padded_b2b<'a, P: Padding<Self::BlockSize>>( &self, in_buf: &[u8], out_buf: &'a mut [u8], ) -> Result<&'a [u8], UnpadError>
Decrypt input and unpad it buffer-to-buffer. Returns resulting ciphertext slice.
Returns UnpadError if padding is malformed or if input length is
not multiple of Self::BlockSize.
Sourcefn decrypt_padded_vec<P: Padding<Self::BlockSize>>(
    &self,
    buf: &[u8],
) -> Result<Vec<u8>, UnpadError>
 
fn decrypt_padded_vec<P: Padding<Self::BlockSize>>( &self, buf: &[u8], ) -> Result<Vec<u8>, UnpadError>
Decrypt input and unpad it in a newly allocated Vec. Returns resulting ciphertext Vec.
Returns UnpadError if padding is malformed or if input length is
not multiple of Self::BlockSize.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.