[−][src]Trait threefish_cipher::BlockCipher
The trait which defines in-place encryption and decryption over single block or several blocks in parallel.
Associated Types
type BlockSize: ArrayLength<u8>
Size of the block in bytes
type ParBlocks: ArrayLength<GenericArray<u8, Self::BlockSize>>
Number of blocks which can be processed in parallel by cipher implementation
Required methods
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
Encrypt block in-place
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
Decrypt block in-place
Provided methods
fn encrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
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 [GenericArray<u8, Self::BlockSize>])
Encrypt a slice of blocks, leveraging parallelism when available.
fn decrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
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 [GenericArray<u8, Self::BlockSize>])
Decrypt a slice of blocks, leveraging parallelism when available.
Implementors
impl BlockCipher for Threefish256
[src]
type BlockSize = U32
type ParBlocks = U1
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
impl BlockCipher for Threefish512
[src]
type BlockSize = U64
type ParBlocks = U1
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
impl BlockCipher for Threefish1024
[src]
type BlockSize = U128
type ParBlocks = U1
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
impl<'_, Alg> BlockCipher for &'_ Alg where
Alg: BlockCipher,
[src]
Alg: BlockCipher,
type BlockSize = <Alg as BlockCipher>::BlockSize
type ParBlocks = <Alg as BlockCipher>::ParBlocks
pub fn encrypt_block(
&self,
block: &mut GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>
)
[src]
&self,
block: &mut GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>
)
pub fn decrypt_block(
&self,
block: &mut GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>
)
[src]
&self,
block: &mut GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>
)
pub fn encrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>, <&'_ Alg as BlockCipher>::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>, <&'_ Alg as BlockCipher>::ParBlocks>
)
pub fn decrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>, <&'_ Alg as BlockCipher>::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, <&'_ Alg as BlockCipher>::BlockSize>, <&'_ Alg as BlockCipher>::ParBlocks>
)