Trait cipher::InnerIvInit

source ·
pub trait InnerIvInit: Sized + InnerUser + IvSizeUser {
    // 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.

Object Safety§

This trait is not object safe.

Implementors§