pub trait KeyInit: Sized + KeySizeUser {
// Required method
fn new(key: &Array<u8, Self::KeySize>) -> Self;
// Provided methods
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>
where R: CryptoRng { ... }
}Expand description
Types which can be initialized from a key.
Required Methods§
Provided Methods§
Sourcefn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
§Errors
Returns InvalidLength in the event the length of the provided slice is not equal to
<Self as KeySizeUser>::KeySize::USIZE.
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.
Implementations on Foreign Types§
Source§impl<P> KeyInit for DecapsulationKey<P>where
P: KemParams,
Initialize DecapsulationKey from a 64-byte uniformly random Seed value.
impl<P> KeyInit for DecapsulationKey<P>where
P: KemParams,
Initialize DecapsulationKey from a 64-byte uniformly random Seed value.