Struct threefish::Threefish512
source · 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 u64
s.
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 u64
s
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 u64
s
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 copy 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 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§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 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
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