pub trait KeyInit: Sized + KeySizeUser {
// Required method
fn new(key: &GenericArray<u8, Self::KeySize>) -> Self;
// Provided methods
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize> { ... }
}Expand description
Types which can be initialized from key.
Required Methods§
Sourcefn new(key: &GenericArray<u8, Self::KeySize>) -> Self
fn new(key: &GenericArray<u8, Self::KeySize>) -> Self
Create new value from fixed size key.
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.
Sourcefn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize>
fn generate_key( rng: impl CryptoRng + RngCore, ) -> GenericArray<u8, Self::KeySize>
Generate random key using the provided CryptoRng.
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 KeyInit for GHash
impl KeyInit for GHash
Source§fn new(h: &GenericArray<u8, <GHash as KeySizeUser>::KeySize>) -> GHash
fn new(h: &GenericArray<u8, <GHash as KeySizeUser>::KeySize>) -> GHash
Initialize GHASH with the given H field element
Source§impl KeyInit for Mkv128128
impl KeyInit for Mkv128128
fn new(key: &GenericArray<u8, <Mkv128128 as KeySizeUser>::KeySize>) -> Mkv128128
Source§impl KeyInit for Mkv128192
impl KeyInit for Mkv128192
fn new(key: &GenericArray<u8, <Mkv128192 as KeySizeUser>::KeySize>) -> Mkv128192
Source§impl KeyInit for Mkv128256
impl KeyInit for Mkv128256
fn new(key: &GenericArray<u8, <Mkv128256 as KeySizeUser>::KeySize>) -> Mkv128256
Source§impl KeyInit for Polyval
impl KeyInit for Polyval
Source§fn new(h: &GenericArray<u8, <Polyval as KeySizeUser>::KeySize>) -> Polyval
fn new(h: &GenericArray<u8, <Polyval as KeySizeUser>::KeySize>) -> Polyval
Initialize POLYVAL with the given H field element