Skip to main content
This is unreleased documentation for the main (development) branch of crypto-glue.

BlockCipherDecrypt

Trait BlockCipherDecrypt 

Source
pub trait BlockCipherDecrypt: BlockSizeUser {
    // Required method
    fn decrypt_with_backend(
        &self,
        f: impl BlockCipherDecClosure<BlockSize = Self::BlockSize>,
    );

    // Provided methods
    fn decrypt_block_inout(
        &self,
        block: InOut<'_, '_, Array<u8, Self::BlockSize>>,
    ) { ... }
    fn decrypt_blocks_inout(
        &self,
        blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
    ) { ... }
    fn decrypt_block(&self, block: &mut Array<u8, Self::BlockSize>) { ... }
    fn decrypt_block_b2b(
        &self,
        in_block: &Array<u8, Self::BlockSize>,
        out_block: &mut Array<u8, Self::BlockSize>,
    ) { ... }
    fn decrypt_blocks(&self, blocks: &mut [Array<u8, Self::BlockSize>]) { ... }
    fn decrypt_blocks_b2b(
        &self,
        in_blocks: &[Array<u8, Self::BlockSize>],
        out_blocks: &mut [Array<u8, Self::BlockSize>],
    ) -> Result<(), NotEqualError> { ... }
}
Expand description

Decrypt-only functionality for block ciphers.

Required Methods§

Source

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

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

Provided Methods§

Source

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

Decrypt single inout block.

Source

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

Decrypt inout blocks.

Source

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

Decrypt single block in-place.

Source

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

Decrypt in_block and write result to out_block.

Source

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

Decrypt blocks in-place.

Source

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

Decrypt blocks buffer-to-buffer.

§Errors

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 BlockCipherDecrypt for Aes128

Source§

fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>, )

Source§

impl BlockCipherDecrypt for Aes192

Source§

fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>, )

Source§

impl BlockCipherDecrypt for Aes128Dec

Source§

fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>, )

Source§

impl BlockCipherDecrypt for Aes192Dec

Source§

fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>, )

Source§

impl BlockCipherDecrypt for Aes256Dec

Source§

fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>, )

Source§

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

Implementors§