Trait cipher::InnerIvInit

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

    // Provided methods
    fn inner_iv_slice_init(
        inner: Self::Inner,
        iv: &[u8]
    ) -> Result<Self, InvalidLength> { ... }
    fn generate_iv(
        rng: impl CryptoRng + RngCore
    ) -> GenericArray<u8, Self::IvSize> { ... }
}
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: &GenericArray<u8, Self::IvSize>) -> 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) -> GenericArray<u8, Self::IvSize>

Generate random IV using the provided CryptoRng.

Implementors§