Trait aes_gcm::KeyInit

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§

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

Create new value from fixed size key.

Provided Methods§

fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>

Create new value from variable size key.

fn generate_key( rng: impl CryptoRng + RngCore ) -> GenericArray<u8, Self::KeySize>

Generate random key using the provided CryptoRng.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl KeyInit for Aes128

§

fn new(key: &GenericArray<u8, <Aes128 as KeySizeUser>::KeySize>) -> Aes128

§

impl KeyInit for Aes128Dec

§

fn new(key: &GenericArray<u8, <Aes128Dec as KeySizeUser>::KeySize>) -> Aes128Dec

§

impl KeyInit for Aes128Enc

§

fn new(key: &GenericArray<u8, <Aes128Enc as KeySizeUser>::KeySize>) -> Aes128Enc

§

impl KeyInit for Aes192

§

fn new(key: &GenericArray<u8, <Aes192 as KeySizeUser>::KeySize>) -> Aes192

§

impl KeyInit for Aes192Dec

§

fn new(key: &GenericArray<u8, <Aes192Dec as KeySizeUser>::KeySize>) -> Aes192Dec

§

impl KeyInit for Aes192Enc

§

fn new(key: &GenericArray<u8, <Aes192Enc as KeySizeUser>::KeySize>) -> Aes192Enc

§

impl KeyInit for Aes256

§

fn new(key: &GenericArray<u8, <Aes256 as KeySizeUser>::KeySize>) -> Aes256

§

impl KeyInit for Aes256Dec

§

fn new(key: &GenericArray<u8, <Aes256Dec as KeySizeUser>::KeySize>) -> Aes256Dec

§

impl KeyInit for Aes256Enc

§

fn new(key: &GenericArray<u8, <Aes256Enc as KeySizeUser>::KeySize>) -> Aes256Enc

§

impl KeyInit for GHash

§

fn new(h: &GenericArray<u8, <GHash as KeySizeUser>::KeySize>) -> GHash

Initialize GHASH with the given H field element

§

impl KeyInit for Polyval

§

fn new(h: &GenericArray<u8, <Polyval as KeySizeUser>::KeySize>) -> Polyval

Initialize POLYVAL with the given H field element

§

impl<T> KeyInit for StreamCipherCoreWrapper<T>
where T: KeyInit + BlockSizeUser, <T as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <<T as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,

§

fn new( key: &GenericArray<u8, <StreamCipherCoreWrapper<T> as KeySizeUser>::KeySize> ) -> StreamCipherCoreWrapper<T>

Implementors§

source§

impl<Aes, NonceSize, TagSize> KeyInit for AesGcm<Aes, NonceSize, TagSize>
where Aes: BlockSizeUser<BlockSize = U16> + BlockEncrypt + KeyInit, TagSize: TagSize,

§

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