Trait cipher::InnerIvInit

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

    // Provided methods
    fn inner_iv_slice_init(
        inner: Self::Inner,
        iv: &[u8],
    ) -> Result<Self, InvalidLength> { ... }
    fn generate_iv_with_rng(
        rng: &mut impl CryptoRngCore,
    ) -> Result<Array<u8, Self::IvSize>, Error> { ... }
}
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: &Array<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_with_rng( rng: &mut impl CryptoRngCore, ) -> Result<Array<u8, Self::IvSize>, Error>

Available on crate feature rand_core only.

Generate random IV using the provided CryptoRngCore.

Object Safety§

This trait is not object safe.

Implementors§