Trait nettle::mode::Mode

source ·
pub trait Mode {
    // Required methods
    fn block_size(&self) -> usize;
    fn encrypt(
        &mut self,
        iv: &mut [u8],
        dst: &mut [u8],
        src: &[u8]
    ) -> Result<()>;
    fn decrypt(
        &mut self,
        iv: &mut [u8],
        dst: &mut [u8],
        src: &[u8]
    ) -> Result<()>;
}
Expand description

Block cipher mode of operation.

Block modes govern how a block cipher processes data spanning multiple blocks.

Required Methods§

source

fn block_size(&self) -> usize

Block size of the underlying cipher in bytes.

source

fn encrypt(&mut self, iv: &mut [u8], dst: &mut [u8], src: &[u8]) -> Result<()>

Encrypt a single block src using the initialization vector iv to a ciphertext block dst.

Both iv and dst are updated. The buffer iv, dst and src are expected to be at least as large as the block size of the underlying cipher.

source

fn decrypt(&mut self, iv: &mut [u8], dst: &mut [u8], src: &[u8]) -> Result<()>

Decrypt a single ciphertext block src using the initialization vector iv to a plaintext block dst.

Both iv and dst are updated. The buffer iv, dst and src are expected to be at least as large as the block size of the underlying cipher.

Implementors§

source§

impl<C: Cipher> Mode for Cbc<C>

source§

impl<C: Cipher> Mode for Cfb<C>

source§

impl<C: Cipher> Mode for Ctr<C>