pub struct Threefish512 { /* private fields */ }Expand description
Threefish-512 block cipher.
Implementations§
Source§impl Threefish512
impl Threefish512
Sourcepub fn new_with_tweak(key: &[u8; 64], tweak: &[u8; 16]) -> Threefish512
pub fn new_with_tweak(key: &[u8; 64], tweak: &[u8; 16]) -> Threefish512
Create new block cipher instance with the given key and tweak.
Sourcepub fn new_with_tweak_u64(key: &[u64; 8], tweak: &[u64; 2]) -> Threefish512
pub fn new_with_tweak_u64(key: &[u64; 8], tweak: &[u64; 2]) -> Threefish512
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; 8])
pub fn encrypt_block_u64(&self, block: &mut [u64; 8])
Encrypt block in the form of array of u64s
Sourcepub fn decrypt_block_u64(&self, block: &mut [u64; 8])
pub fn decrypt_block_u64(&self, block: &mut [u64; 8])
Decrypt block in the form of array of u64s
Trait Implementations§
Source§impl AlgorithmName for Threefish512
Available on crate feature cipher only.
impl AlgorithmName for Threefish512
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 Threefish512
impl BlockDecrypt for Threefish512
Source§fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U64>)
fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U64>)
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 Threefish512
impl BlockEncrypt for Threefish512
Source§fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U64>)
fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U64>)
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 Threefish512
impl BlockSizeUser for Threefish512
Source§impl Clone for Threefish512
impl Clone for Threefish512
Source§fn clone(&self) -> Threefish512
fn clone(&self) -> Threefish512
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 Threefish512
impl Debug for Threefish512
Source§impl Drop for Threefish512
Available on crate feature zeroize only.
impl Drop for Threefish512
Available on crate feature
zeroize only.Source§impl KeyInit for Threefish512
Available on crate feature cipher only.
impl KeyInit for Threefish512
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 Threefish512
Available on crate feature cipher only.
impl KeySizeUser for Threefish512
Available on crate feature
cipher only.impl BlockCipher for Threefish512
Available on crate feature
cipher only.impl ZeroizeOnDrop for Threefish512
Available on crate feature
zeroize only.Auto Trait Implementations§
impl Freeze for Threefish512
impl RefUnwindSafe for Threefish512
impl Send for Threefish512
impl Sync for Threefish512
impl Unpin for Threefish512
impl UnwindSafe for Threefish512
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)