BlockSizeUser

Trait BlockSizeUser 

pub trait BlockSizeUser {
    type BlockSize: ArrayLength<u8> + 'static;

    // Provided method
    fn block_size() -> usize { ... }
}
Expand description

Types which process data in blocks.

Required Associated Types§

type BlockSize: ArrayLength<u8> + 'static

Size of the block in bytes.

Provided Methods§

fn block_size() -> usize

Return block size in bytes.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl BlockSizeUser for Aes128

§

impl BlockSizeUser for Aes192

§

impl BlockSizeUser for Aes256

§

impl BlockSizeUser for Aes128Dec

§

impl BlockSizeUser for Aes128Enc

§

impl BlockSizeUser for Aes192Dec

§

impl BlockSizeUser for Aes192Enc

§

impl BlockSizeUser for Aes256Dec

§

impl BlockSizeUser for Aes256Enc

§

impl BlockSizeUser for Blake2bVarCore

§

impl BlockSizeUser for Blake2sVarCore

§

impl BlockSizeUser for CShake128Core

§

impl BlockSizeUser for CShake128ReaderCore

§

impl BlockSizeUser for CShake256Core

§

impl BlockSizeUser for CShake256ReaderCore

§

impl BlockSizeUser for ChaCha20LegacyCore

§

impl BlockSizeUser for Keccak224Core

§

impl BlockSizeUser for Keccak256Core

§

impl BlockSizeUser for Keccak256FullCore

§

impl BlockSizeUser for Keccak384Core

§

impl BlockSizeUser for Keccak512Core

§

impl BlockSizeUser for Sha3_224Core

§

impl BlockSizeUser for Sha3_256Core

§

impl BlockSizeUser for Sha3_384Core

§

impl BlockSizeUser for Sha3_512Core

§

impl BlockSizeUser for Sha256VarCore

§

impl BlockSizeUser for Sha512VarCore

§

impl BlockSizeUser for Shake128Core

§

impl BlockSizeUser for Shake128ReaderCore

§

impl BlockSizeUser for Shake256Core

§

impl BlockSizeUser for Shake256ReaderCore

§

impl BlockSizeUser for TurboShake128Core

§

impl BlockSizeUser for TurboShake128ReaderCore

§

impl BlockSizeUser for TurboShake256Core

§

impl BlockSizeUser for TurboShake256ReaderCore

§

impl<C, F> BlockSizeUser for CtrCore<C, F>
where C: BlockEncryptMut + BlockCipher, F: CtrFlavor<<C as BlockSizeUser>::BlockSize>,

Source§

impl<D> BlockSizeUser for HmacCore<D>
where D: CoreProxy, <D as CoreProxy>::Core: HashMarker + UpdateCore + FixedOutputCore<BufferKind = Eager> + BufferKindUser + Default + Clone, <<D as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,

Source§

type BlockSize = <<D as CoreProxy>::Core as BlockSizeUser>::BlockSize

Source§

impl<H, S, B> BlockSizeUser for Lioness<H, S, B>
where H: KeySizeUser + OutputSizeUser, S: KeySizeUser + IvSizeUser, B: ArrayLength<u8> + IsGreater<<S as KeySizeUser>::KeySize, Output = B1>, <H as OutputSizeUser>::OutputSize: IsEqual<<S as KeySizeUser>::KeySize, Output = B1> + Mul<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, <H as KeySizeUser>::KeySize: IsEqual<<S as KeySizeUser>::KeySize, Output = B1>, <S as IvSizeUser>::IvSize: Mul<UInt<UInt<UTerm, B1>, B0>>, <<H as OutputSizeUser>::OutputSize as Mul<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>>::Output: ArrayLength<u8>, <<S as IvSizeUser>::IvSize as Mul<UInt<UInt<UTerm, B1>, B0>>>::Output: ArrayLength<u8>,

Source§

impl<R> BlockSizeUser for SalsaCore<R>
where R: Unsigned,

Source§

impl<R> BlockSizeUser for XSalsaCore<R>
where R: Unsigned,

§

impl<R> BlockSizeUser for ChaChaCore<R>
where R: Unsigned,

§

impl<R> BlockSizeUser for XChaChaCore<R>
where R: Unsigned,

§

impl<T> BlockSizeUser for &T
where T: BlockSizeUser,

§

impl<T> BlockSizeUser for &mut T
where T: BlockSizeUser,

§

impl<T> BlockSizeUser for CoreWrapper<T>
where T: BufferKindUser + HashMarker, <T as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <<T as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,

§

impl<T, OutSize, O> BlockSizeUser for CtVariableCoreWrapper<T, OutSize, O>
where T: VariableOutputCore, OutSize: ArrayLength<u8> + IsLessOrEqual<<T as OutputSizeUser>::OutputSize>, <OutSize as IsLessOrEqual<<T as OutputSizeUser>::OutputSize>>::Output: NonZero, <T as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <<T as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,

Implementors§