logo
pub trait BlockDecrypt: BlockSizeUser {
    fn decrypt_with_backend(
        &self,
        f: impl BlockClosure<BlockSize = Self::BlockSize>
    ); 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

Decrypt data using backend provided to the rank-2 closure.

Provided methods

Decrypt single inout block.

Decrypt inout blocks.

Decrypt single block in-place.

Decrypt in_block and write result to out_block.

Decrypt blocks in-place.

Decrypt blocks buffer-to-buffer.

Returns NotEqualError if provided in_blocks and out_blocks have different lengths.

This is supported on crate feature block-padding only.

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.

This is supported on crate feature block-padding only.

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.

This is supported on crate feature block-padding only.

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.

This is supported on crate features block-padding and alloc only.

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.

Implementations on Foreign Types

Implementors