pub struct Threefish256 { /* private fields */ }Expand description
Threefish-256 block cipher.
Implementations§
Source§impl Threefish256
impl Threefish256
Sourcepub fn new_with_tweak(key: &[u8; 32], tweak: &[u8; 16]) -> Threefish256
pub fn new_with_tweak(key: &[u8; 32], tweak: &[u8; 16]) -> Threefish256
Create new block cipher instance with the given key and tweak.
Sourcepub fn new_with_tweak_u64(key: &[u64; 4], tweak: &[u64; 2]) -> Threefish256
pub fn new_with_tweak_u64(key: &[u64; 4], tweak: &[u64; 2]) -> Threefish256
Create new block cipher instance with the given key and tweak
represented in the form of array of u64s.
Sourcepub fn encrypt_block_u64(&self, block: &mut [u64; 4])
pub fn encrypt_block_u64(&self, block: &mut [u64; 4])
Encrypt block in the form of array of u64s
Sourcepub fn decrypt_block_u64(&self, block: &mut [u64; 4])
pub fn decrypt_block_u64(&self, block: &mut [u64; 4])
Decrypt block in the form of array of u64s
Trait Implementations§
Source§impl AlgorithmName for Threefish256
Available on crate feature cipher only.
impl AlgorithmName for Threefish256
Available on crate feature
cipher only.Source§impl BlockCipherDecBackend for Threefish256
Available on crate feature cipher only.
impl BlockCipherDecBackend for Threefish256
Available on crate feature
cipher only.Source§fn decrypt_block(&self, block: InOut<'_, '_, Block<Self>>)
fn decrypt_block(&self, block: InOut<'_, '_, Block<Self>>)
Decrypt single inout block.
Source§fn decrypt_par_blocks(
&self,
blocks: InOut<'_, '_, Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>>,
)
fn decrypt_par_blocks( &self, blocks: InOut<'_, '_, Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>>, )
Decrypt inout blocks in parallel.
Source§fn decrypt_tail_blocks(
&self,
blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
)
fn decrypt_tail_blocks( &self, blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>, )
Decrypt buffer of inout blocks. Length of the buffer MUST be smaller
than
Self::ParBlocksSize.Source§fn decrypt_block_inplace(&self, block: &mut Array<u8, Self::BlockSize>)
fn decrypt_block_inplace(&self, block: &mut Array<u8, Self::BlockSize>)
Decrypt single block in-place.
Source§fn decrypt_par_blocks_inplace(
&self,
blocks: &mut Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>,
)
fn decrypt_par_blocks_inplace( &self, blocks: &mut Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>, )
Decrypt blocks in parallel in-place.
Source§impl BlockCipherDecrypt for Threefish256
Available on crate feature cipher only.
impl BlockCipherDecrypt for Threefish256
Available on crate feature
cipher only.Source§fn decrypt_with_backend(
&self,
f: impl BlockCipherDecClosure<BlockSize = Self::BlockSize>,
)
fn decrypt_with_backend( &self, f: impl BlockCipherDecClosure<BlockSize = Self::BlockSize>, )
Decrypt data using backend provided to the rank-2 closure.
Source§fn decrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
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>>,
)
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>)
fn decrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
Decrypt single block in-place.
Source§impl BlockCipherEncBackend for Threefish256
Available on crate feature cipher only.
impl BlockCipherEncBackend for Threefish256
Available on crate feature
cipher only.Source§fn encrypt_block(&self, block: InOut<'_, '_, Block<Self>>)
fn encrypt_block(&self, block: InOut<'_, '_, Block<Self>>)
Encrypt single inout block.
Source§fn encrypt_par_blocks(
&self,
blocks: InOut<'_, '_, Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>>,
)
fn encrypt_par_blocks( &self, blocks: InOut<'_, '_, Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>>, )
Encrypt inout blocks in parallel.
Source§fn encrypt_tail_blocks(
&self,
blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
)
fn encrypt_tail_blocks( &self, blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>, )
Encrypt buffer of inout blocks. Length of the buffer MUST be smaller
than
Self::ParBlocksSize.Source§fn encrypt_block_inplace(&self, block: &mut Array<u8, Self::BlockSize>)
fn encrypt_block_inplace(&self, block: &mut Array<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§fn encrypt_par_blocks_inplace(
&self,
blocks: &mut Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>,
)
fn encrypt_par_blocks_inplace( &self, blocks: &mut Array<Array<u8, Self::BlockSize>, Self::ParBlocksSize>, )
Encrypt blocks in parallel in-place.
Source§impl BlockCipherEncrypt for Threefish256
Available on crate feature cipher only.
impl BlockCipherEncrypt for Threefish256
Available on crate feature
cipher only.Source§fn encrypt_with_backend(
&self,
f: impl BlockCipherEncClosure<BlockSize = Self::BlockSize>,
)
fn encrypt_with_backend( &self, f: impl BlockCipherEncClosure<BlockSize = Self::BlockSize>, )
Encrypt data using backend provided to the rank-2 closure.
Source§fn encrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
fn encrypt_block_inout(&self, block: InOut<'_, '_, Array<u8, Self::BlockSize>>)
Encrypt single
inout block.Source§fn encrypt_blocks_inout(
&self,
blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>,
)
fn encrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, Array<u8, Self::BlockSize>>, )
Encrypt
inout blocks.Source§fn encrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
fn encrypt_block(&self, block: &mut Array<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§impl BlockSizeUser for Threefish256
Available on crate feature cipher only.
impl BlockSizeUser for Threefish256
Available on crate feature
cipher only.Source§impl Clone for Threefish256
impl Clone for Threefish256
Source§fn clone(&self) -> Threefish256
fn clone(&self) -> Threefish256
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Threefish256
impl Debug for Threefish256
Source§impl Drop for Threefish256
impl Drop for Threefish256
Source§impl KeyInit for Threefish256
Available on crate feature cipher only.
impl KeyInit for Threefish256
Available on crate feature
cipher only.Source§impl KeySizeUser for Threefish256
Available on crate feature cipher only.
impl KeySizeUser for Threefish256
Available on crate feature
cipher only.Source§impl ParBlocksSizeUser for Threefish256
Available on crate feature cipher only.
impl ParBlocksSizeUser for Threefish256
Available on crate feature
cipher only.impl ZeroizeOnDrop for Threefish256
Available on crate features
zeroize only.Auto Trait Implementations§
impl Freeze for Threefish256
impl RefUnwindSafe for Threefish256
impl Send for Threefish256
impl Sync for Threefish256
impl Unpin for Threefish256
impl UnsafeUnpin for Threefish256
impl UnwindSafe for Threefish256
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more