pub struct Gost89<S: Sbox> { /* private fields */ }
Expand description
Block cipher defined in GOST 28147-89 generic over S-box
Trait Implementations§
source§impl<S: Sbox> AlgorithmName for Gost89<S>
impl<S: Sbox> AlgorithmName for Gost89<S>
source§fn write_alg_name(f: &mut Formatter<'_>) -> Result
fn write_alg_name(f: &mut Formatter<'_>) -> Result
Write algorithm name into
f
.source§impl<S: Sbox> BlockDecrypt for Gost89<S>
impl<S: Sbox> BlockDecrypt for Gost89<S>
source§fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U8>)
fn decrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U8>)
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<S: Sbox> BlockEncrypt for Gost89<S>
impl<S: Sbox> BlockEncrypt for Gost89<S>
source§fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U8>)
fn encrypt_with_backend(&self, f: impl BlockClosure<BlockSize = U8>)
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
impl<S: Sbox> BlockCipher for Gost89<S>
impl<S: Sbox> ZeroizeOnDrop for Gost89<S>
Available on crate feature
zeroize
only.Auto Trait Implementations§
impl<S> RefUnwindSafe for Gost89<S>where S: RefUnwindSafe,
impl<S> Send for Gost89<S>where S: Send,
impl<S> Sync for Gost89<S>where S: Sync,
impl<S> Unpin for Gost89<S>where S: Unpin,
impl<S> UnwindSafe for Gost89<S>where S: UnwindSafe,
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