Skip to main content

KeyInit

Trait KeyInit 

Source
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§

Source

fn new(key: &Array<u8, Self::KeySize>) -> Self

Create new value from fixed size key.

Provided Methods§

Source

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.

Source

fn 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 instead
Available on crate feature rand_core only.

DEPRECATED: generate random key using the provided CryptoRng.

Instead, you can now use the Generate trait directly with the Key type:

let key = Key::generate_from_rng(rng);

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.

Source§

fn new( seed: &Array<u8, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>>, ) -> DecapsulationKey<P>

Source§

impl<T, S> KeyInit for XofFixedWrapper<T, S>

Implementors§

Source§

impl KeyInit for x_wing::DecapsulationKey

Source§

impl<T> KeyInit for T
where T: InnerInit, <T as InnerUser>::Inner: KeyInit,