Skip to main content

BlockDecrypt

Trait BlockDecrypt 

Source
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<'_, '_, GenericArray<u8, Self::BlockSize>>,
    ) { ... }
    fn decrypt_blocks_inout(
        &self,
        blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
    ) { ... }
    fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>) { ... }
    fn decrypt_block_b2b(
        &self,
        in_block: &GenericArray<u8, Self::BlockSize>,
        out_block: &mut GenericArray<u8, Self::BlockSize>,
    ) { ... }
    fn decrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>]) { ... }
    fn decrypt_blocks_b2b(
        &self,
        in_blocks: &[GenericArray<u8, Self::BlockSize>],
        out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
    ) -> Result<(), NotEqualError> { ... }
}
Expand description

Decrypt-only functionality for block ciphers.

Required Methods§

Source

fn decrypt_with_backend( &self, f: impl BlockClosure<BlockSize = Self::BlockSize>, )

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

Provided Methods§

Source

fn decrypt_block_inout( &self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )

Decrypt single inout block.

Source

fn decrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )

Decrypt inout blocks.

Source

fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)

Decrypt single block in-place.

Source

fn decrypt_block_b2b( &self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )

Decrypt in_block and write result to out_block.

Source

fn decrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])

Decrypt blocks in-place.

Source

fn decrypt_blocks_b2b( &self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>

Decrypt blocks buffer-to-buffer.

Returns NotEqualError if provided in_blocks and out_blocks have different lengths.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<Alg> BlockDecrypt for &Alg
where Alg: BlockDecrypt,

Source§

fn decrypt_with_backend( &self, f: impl BlockClosure<BlockSize = <&Alg as BlockSizeUser>::BlockSize>, )

Implementors§