Trait cipher::block::BlockCipher[][src]

pub trait BlockCipher {
    type BlockSize: ArrayLength<u8>;
    type ParBlocks: ArrayLength<Block<Self>>;
    fn encrypt_block(&self, block: &mut Block<Self>);
fn decrypt_block(&self, block: &mut Block<Self>); fn encrypt_blocks(&self, blocks: &mut ParBlocks<Self>) { ... }
fn encrypt_slice(&self, blocks: &mut [Block<Self>]) { ... }
fn decrypt_blocks(&self, blocks: &mut ParBlocks<Self>) { ... }
fn decrypt_slice(&self, blocks: &mut [Block<Self>]) { ... } }

The trait which defines in-place encryption and decryption over single block or several blocks in parallel.

Associated Types

type BlockSize: ArrayLength<u8>[src]

Size of the block in bytes

type ParBlocks: ArrayLength<Block<Self>>[src]

Number of blocks which can be processed in parallel by cipher implementation

Loading content...

Required methods

fn encrypt_block(&self, block: &mut Block<Self>)[src]

Encrypt block in-place

fn decrypt_block(&self, block: &mut Block<Self>)[src]

Decrypt block in-place

Loading content...

Provided methods

fn encrypt_blocks(&self, blocks: &mut ParBlocks<Self>)[src]

Encrypt several blocks in parallel using instruction level parallelism if possible.

If ParBlocks equals to 1 it’s equivalent to encrypt_block.

fn encrypt_slice(&self, blocks: &mut [Block<Self>])[src]

Encrypt a slice of blocks, leveraging parallelism when available.

fn decrypt_blocks(&self, blocks: &mut ParBlocks<Self>)[src]

Decrypt several blocks in parallel using instruction level parallelism if possible.

If ParBlocks equals to 1 it’s equivalent to decrypt_block.

fn decrypt_slice(&self, blocks: &mut [Block<Self>])[src]

Decrypt a slice of blocks, leveraging parallelism when available.

Loading content...

Implementors

impl<Alg: BlockCipher> BlockCipher for &Alg[src]

type BlockSize = Alg::BlockSize

type ParBlocks = Alg::ParBlocks

Loading content...