pub trait InnerIvInit: InnerUser + IvSizeUser + Sized {
    // Required method
    fn inner_iv_init(inner: Self::Inner, iv: &Iv<Self>) -> Self;

    // Provided methods
    fn inner_iv_slice_init(
        inner: Self::Inner,
        iv: &[u8]
    ) -> Result<Self, InvalidLength> { ... }
    fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self> { ... }
}
Expand description

Types which can be initialized from another type and additional initialization vector/nonce.

Usually used for initializing types from block ciphers.

Required Methods§

source

fn inner_iv_init(inner: Self::Inner, iv: &Iv<Self>) -> Self

Initialize value using inner and iv array.

Provided Methods§

source

fn inner_iv_slice_init( inner: Self::Inner, iv: &[u8] ) -> Result<Self, InvalidLength>

Initialize value using inner and iv slice.

source

fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self>

Generate random IV using the provided CryptoRng.

Object Safety§

This trait is not object safe.

Implementors§