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§
Provided Methods§
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
§impl KeyInit for Aes128Dec
impl KeyInit for Aes128Dec
fn new(key: &GenericArray<u8, <Aes128Dec as KeySizeUser>::KeySize>) -> Aes128Dec
§impl KeyInit for Aes128Enc
impl KeyInit for Aes128Enc
fn new(key: &GenericArray<u8, <Aes128Enc as KeySizeUser>::KeySize>) -> Aes128Enc
§impl KeyInit for Aes192Dec
impl KeyInit for Aes192Dec
fn new(key: &GenericArray<u8, <Aes192Dec as KeySizeUser>::KeySize>) -> Aes192Dec
§impl KeyInit for Aes192Enc
impl KeyInit for Aes192Enc
fn new(key: &GenericArray<u8, <Aes192Enc as KeySizeUser>::KeySize>) -> Aes192Enc
§impl KeyInit for Aes256Dec
impl KeyInit for Aes256Dec
fn new(key: &GenericArray<u8, <Aes256Dec as KeySizeUser>::KeySize>) -> Aes256Dec
§impl KeyInit for Aes256Enc
impl KeyInit for Aes256Enc
fn new(key: &GenericArray<u8, <Aes256Enc as KeySizeUser>::KeySize>) -> Aes256Enc
§impl KeyInit for GHash
impl KeyInit for GHash
§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
§impl KeyInit for Polyval
impl KeyInit for Polyval
§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