IvSizeUser

Trait IvSizeUser 

pub trait IvSizeUser {
    type IvSize: ArrayLength<u8> + 'static;

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

Types which use initialization vector (nonce) for initialization.

Generally it’s used indirectly via KeyIvInit or [InnerIvInit].

Required Associated Types§

type IvSize: ArrayLength<u8> + 'static

Initialization vector size in bytes.

Provided Methods§

fn iv_size() -> usize

Return IV 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 IvSizeUser for ChaCha20LegacyCore

§

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

Source§

impl<H, S, B> IvSizeUser 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>, <H as KeySizeUser>::KeySize: IsEqual<<S as KeySizeUser>::KeySize, Output = B1>, <S as IvSizeUser>::IvSize: Mul<UInt<UInt<UTerm, B1>, B0>>, <<S as IvSizeUser>::IvSize as Mul<UInt<UInt<UTerm, B1>, B0>>>::Output: ArrayLength<u8>,

Source§

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

Source§

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

§

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

§

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

§

impl<T> IvSizeUser for StreamCipherCoreWrapper<T>

§

type IvSize = <T as IvSizeUser>::IvSize

Implementors§

Source§

impl<T> IvSizeUser for IvKey<T>
where T: KeyIvInit,