[−][src]Trait blowfish::BlockCipher
The trait which defines in-place encryption and decryption over single block or several blocks in parallel.
Associated Types
type KeySize: ArrayLength<u8>
Key size in bytes with which cipher guaranteed to be initialized
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 new(key: &GenericArray<u8, Self::KeySize>) -> Self
Create new block cipher instance from key with fixed size.
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 new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>
Create new block cipher instance from key with variable size.
Default implementation will accept only keys with length equal to
KeySize
, but some ciphers can accept range of key lengths.
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 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
.
Implementors
impl<T: ByteOrder> BlockCipher for Blowfish<T>
[src]
impl<T: ByteOrder> BlockCipher for Blowfish<T>
type KeySize = U56
type BlockSize = U8
type ParBlocks = U1
fn new(key: &GenericArray<u8, U56>) -> Self
[src]
fn new(key: &GenericArray<u8, U56>) -> Self
fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>
[src]
fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>
fn encrypt_block(&self, block: &mut GenericArray<u8, U8>)
[src]
fn encrypt_block(&self, block: &mut GenericArray<u8, U8>)
fn decrypt_block(&self, block: &mut GenericArray<u8, U8>)
[src]
fn decrypt_block(&self, block: &mut GenericArray<u8, U8>)
fn encrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
fn encrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
fn decrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
fn decrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)