pub trait InnerIvInit:
InnerUser
+ IvSizeUser
+ Sized {
// Required method
fn inner_iv_init(inner: Self::Inner, iv: &Iv<Self>) -> Self;
// Provided methods
fn inner_iv_slice_init(
inner: Self::Inner,
iv: &[u8],
) -> Result<Self, InvalidLength> { ... }
fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self> { ... }
}
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§
Sourcefn inner_iv_init(inner: Self::Inner, iv: &Iv<Self>) -> Self
fn inner_iv_init(inner: Self::Inner, iv: &Iv<Self>) -> Self
Initialize value using inner
and iv
array.
Provided Methods§
Sourcefn inner_iv_slice_init(
inner: Self::Inner,
iv: &[u8],
) -> Result<Self, InvalidLength>
fn inner_iv_slice_init( inner: Self::Inner, iv: &[u8], ) -> Result<Self, InvalidLength>
Initialize value using inner
and iv
slice.
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.