pub trait KeyIvInit: KeySizeUser + IvSizeUser + Sized {
    fn new(key: &Key<Self>, iv: &Iv<Self>) -> Self;

    fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
    fn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self> { ... }
    fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self> { ... }
    fn generate_key_iv(rng: impl CryptoRng + RngCore) -> (Key<Self>, Iv<Self>) { ... }
}
Expand description

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

Required Methods§

Create new value from fixed length key and nonce.

Provided Methods§

Create new value from variable length key and nonce.

Available on crate feature rand_core only.

Generate random key using the provided CryptoRng.

Examples found in repository?
src/lib.rs (line 217)
216
217
218
    fn generate_key_iv(mut rng: impl CryptoRng + RngCore) -> (Key<Self>, Iv<Self>) {
        (Self::generate_key(&mut rng), Self::generate_iv(&mut rng))
    }
Available on crate feature rand_core only.

Generate random IV using the provided CryptoRng.

Examples found in repository?
src/lib.rs (line 217)
216
217
218
    fn generate_key_iv(mut rng: impl CryptoRng + RngCore) -> (Key<Self>, Iv<Self>) {
        (Self::generate_key(&mut rng), Self::generate_iv(&mut rng))
    }
Available on crate feature rand_core only.

Generate random key and nonce using the provided CryptoRng.

Implementors§