pub trait KeyIvInit:
Sized
+ KeySizeUser
+ IvSizeUser {
// Required method
fn new(key: &Array<u8, Self::KeySize>, iv: &Array<u8, Self::IvSize>) -> Self;
// Provided methods
fn weak_key_test(
_key: &Array<u8, Self::KeySize>,
) -> Result<(), WeakKeyError> { ... }
fn new_checked(
key: &Array<u8, Self::KeySize>,
iv: &Array<u8, Self::IvSize>,
) -> Result<Self, WeakKeyError> { ... }
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>
where R: CryptoRng { ... }
fn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>
where R: CryptoRng { ... }
fn generate_key_iv<R>(
rng: &mut R,
) -> (Array<u8, Self::KeySize>, Array<u8, Self::IvSize>)
where R: CryptoRng { ... }
}Expand description
Types which can be initialized from a key and initialization vector (nonce).
Required Methods§
Provided Methods§
Sourcefn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
fn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
Check if the key might be considered weak.
Sourcefn new_checked(
key: &Array<u8, Self::KeySize>,
iv: &Array<u8, Self::IvSize>,
) -> Result<Self, WeakKeyError>
fn new_checked( key: &Array<u8, Self::KeySize>, iv: &Array<u8, Self::IvSize>, ) -> Result<Self, WeakKeyError>
Create new value from fixed length key and nonce after checking the key for weakness.
Sourcefn 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.
Sourcefn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>where
R: CryptoRng,
👎Deprecated since 0.2.0: use the Generate trait impl on Key insteadAvailable on crate feature rand_core only.
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>where
R: CryptoRng,
Generate trait impl on Key insteadrand_core only.Sourcefn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>where
R: CryptoRng,
👎Deprecated since 0.2.0: use the Generate trait impl on Iv insteadAvailable on crate feature rand_core only.
fn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>where
R: CryptoRng,
Generate trait impl on Iv insteadrand_core only.Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<T> KeyIvInit for T
impl<T: KeyIvInit + StreamCipherCore> KeyIvInit for StreamCipherCoreWrapper<T>
Available on crate feature
stream-wrapper only.