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§fn write_alg_name(f: &mut Formatter<'_>) -> Result
fn write_alg_name(f: &mut Formatter<'_>) -> Result
Write algorithm name into
f.Source§impl BlockDecrypt for Threefish256
impl BlockDecrypt for Threefish256
Source§fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U32>)
fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U32>)
Decrypt data using backend provided to the rank-2 closure.
Source§fn decrypt_block_inout(
&self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn decrypt_block_inout( &self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Decrypt single
inout block.Source§fn decrypt_blocks_inout(
&self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn decrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Decrypt
inout blocks.Source§fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
Decrypt single block in-place.
Source§fn decrypt_block_b2b(
&self,
in_block: &GenericArray<u8, Self::BlockSize>,
out_block: &mut GenericArray<u8, Self::BlockSize>,
)
fn decrypt_block_b2b( &self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )
Decrypt
in_block and write result to out_block.Source§fn decrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
fn decrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
Decrypt blocks in-place.
Source§fn decrypt_blocks_b2b(
&self,
in_blocks: &[GenericArray<u8, Self::BlockSize>],
out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
) -> Result<(), NotEqualError>
fn decrypt_blocks_b2b( &self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>
Decrypt blocks buffer-to-buffer. Read more
Source§impl BlockEncrypt for Threefish256
impl BlockEncrypt for Threefish256
Source§fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U32>)
fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U32>)
Encrypt data using backend provided to the rank-2 closure.
Source§fn encrypt_block_inout(
&self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_block_inout( &self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt single
inout block.Source§fn encrypt_blocks_inout(
&self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_blocks_inout( &self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt
inout blocks.Source§fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§fn encrypt_block_b2b(
&self,
in_block: &GenericArray<u8, Self::BlockSize>,
out_block: &mut GenericArray<u8, Self::BlockSize>,
)
fn encrypt_block_b2b( &self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )
Encrypt
in_block and write result to out_block.Source§fn encrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
fn encrypt_blocks(&self, blocks: &mut [GenericArray<u8, Self::BlockSize>])
Encrypt blocks in-place.
Source§fn encrypt_blocks_b2b(
&self,
in_blocks: &[GenericArray<u8, Self::BlockSize>],
out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
) -> Result<(), NotEqualError>
fn encrypt_blocks_b2b( &self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>
Encrypt blocks buffer-to-buffer. Read more
Source§impl BlockSizeUser for Threefish256
impl BlockSizeUser for Threefish256
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§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
Available on crate feature zeroize only.
impl Drop for Threefish256
Available on crate feature
zeroize only.Source§impl KeyInit for Threefish256
Available on crate feature cipher only.
impl KeyInit for Threefish256
Available on crate feature
cipher only.Source§fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
Source§impl KeySizeUser for Threefish256
Available on crate feature cipher only.
impl KeySizeUser for Threefish256
Available on crate feature
cipher only.impl BlockCipher for Threefish256
Available on crate feature
cipher only.impl ZeroizeOnDrop for Threefish256
Available on crate feature
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 UnwindSafe for Threefish256
Blanket Implementations§
Source§impl<Alg> BlockDecryptMut for Algwhere
Alg: BlockDecrypt,
impl<Alg> BlockDecryptMut for Algwhere
Alg: BlockDecrypt,
Source§fn decrypt_with_backend_mut(
&mut self,
f: impl BlockClosure<BlockSize = <Alg as BlockSizeUser>::BlockSize>,
)
fn decrypt_with_backend_mut( &mut self, f: impl BlockClosure<BlockSize = <Alg as BlockSizeUser>::BlockSize>, )
Decrypt data using backend provided to the rank-2 closure.
Source§fn decrypt_block_inout_mut(
&mut self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn decrypt_block_inout_mut( &mut self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Decrypt single
inout block.Source§fn decrypt_blocks_inout_mut(
&mut self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn decrypt_blocks_inout_mut( &mut self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Decrypt
inout blocks.Source§fn decrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
fn decrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
Decrypt single block in-place.
Source§fn decrypt_block_b2b_mut(
&mut self,
in_block: &GenericArray<u8, Self::BlockSize>,
out_block: &mut GenericArray<u8, Self::BlockSize>,
)
fn decrypt_block_b2b_mut( &mut self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )
Decrypt
in_block and write result to out_block.Source§fn decrypt_blocks_mut(
&mut self,
blocks: &mut [GenericArray<u8, Self::BlockSize>],
)
fn decrypt_blocks_mut( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )
Decrypt blocks in-place.
Source§fn decrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[GenericArray<u8, Self::BlockSize>],
out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
) -> Result<(), NotEqualError>
fn decrypt_blocks_b2b_mut( &mut self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>
Decrypt blocks buffer-to-buffer. Read more
Source§impl<Alg> BlockEncryptMut for Algwhere
Alg: BlockEncrypt,
impl<Alg> BlockEncryptMut for Algwhere
Alg: BlockEncrypt,
Source§fn encrypt_with_backend_mut(
&mut self,
f: impl BlockClosure<BlockSize = <Alg as BlockSizeUser>::BlockSize>,
)
fn encrypt_with_backend_mut( &mut self, f: impl BlockClosure<BlockSize = <Alg as BlockSizeUser>::BlockSize>, )
Encrypt data using backend provided to the rank-2 closure.
Source§fn encrypt_block_inout_mut(
&mut self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_block_inout_mut( &mut self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt single
inout block.Source§fn encrypt_blocks_inout_mut(
&mut self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn encrypt_blocks_inout_mut( &mut self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Encrypt
inout blocks.Source§fn encrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
fn encrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)
Encrypt single block in-place.
Source§fn encrypt_block_b2b_mut(
&mut self,
in_block: &GenericArray<u8, Self::BlockSize>,
out_block: &mut GenericArray<u8, Self::BlockSize>,
)
fn encrypt_block_b2b_mut( &mut self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )
Encrypt
in_block and write result to out_block.Source§fn encrypt_blocks_mut(
&mut self,
blocks: &mut [GenericArray<u8, Self::BlockSize>],
)
fn encrypt_blocks_mut( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )
Encrypt blocks in-place.
Source§fn encrypt_blocks_b2b_mut(
&mut self,
in_blocks: &[GenericArray<u8, Self::BlockSize>],
out_blocks: &mut [GenericArray<u8, Self::BlockSize>],
) -> Result<(), NotEqualError>
fn encrypt_blocks_b2b_mut( &mut self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>
Encrypt blocks buffer-to-buffer. Read more
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)