Trait cipher::KeyIvInit

source ·
pub trait KeyIvInit: KeySizeUser + IvSizeUser + Sized {
    // Required method
    fn new(
        key: &GenericArray<u8, Self::KeySize>,
        iv: &GenericArray<u8, Self::IvSize>
    ) -> Self;

    // Provided methods
    fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
    fn generate_key(
        rng: impl CryptoRng + RngCore
    ) -> GenericArray<u8, Self::KeySize> { ... }
    fn generate_iv(
        rng: impl CryptoRng + RngCore
    ) -> GenericArray<u8, Self::IvSize> { ... }
    fn generate_key_iv(
        rng: impl CryptoRng + RngCore
    ) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::IvSize>) { ... }
}
Expand description

Types which can be initialized from key and initialization vector (nonce).

Required Methods§

source

fn new( key: &GenericArray<u8, Self::KeySize>, iv: &GenericArray<u8, Self::IvSize> ) -> Self

Create new value from fixed length key and nonce.

Provided Methods§

source

fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength>

Create new value from variable length key and nonce.

source

fn generate_key( rng: impl CryptoRng + RngCore ) -> GenericArray<u8, Self::KeySize>

Generate random key using the provided CryptoRng.

source

fn generate_iv(rng: impl CryptoRng + RngCore) -> GenericArray<u8, Self::IvSize>

Generate random IV using the provided CryptoRng.

source

fn generate_key_iv( rng: impl CryptoRng + RngCore ) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::IvSize>)

Generate random key and nonce using the provided CryptoRng.

Implementors§