Trait crypto_common::KeyIvInit [−][src]
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
Provided methods
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable length key and nonce.
fn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self>
fn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self>
This is supported on crate feature
rand_core
only.Generate random key using the provided CryptoRng
.
fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self>
fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self>
This is supported on crate feature
rand_core
only.Generate random IV using the provided CryptoRng
.