Trait cipher::FromKeyNonce[][src]

pub trait FromKeyNonce: Sized {
    type KeySize: ArrayLength<u8>;
    type NonceSize: ArrayLength<u8>;
    fn new(
        key: &GenericArray<u8, Self::KeySize>,
        nonce: &GenericArray<u8, Self::NonceSize>
    ) -> Self; fn new_from_slices(key: &[u8], nonce: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key(
        rng: impl CryptoRng + RngCore
    ) -> GenericArray<u8, Self::KeySize> { ... }
fn generate_nonce(
        rng: impl CryptoRng + RngCore
    ) -> GenericArray<u8, Self::NonceSize> { ... }
fn generate_key_nonce(
        rng: impl CryptoRng + RngCore
    ) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::NonceSize>) { ... } }

Trait for types which can be created from key and nonce.

Associated Types

type KeySize: ArrayLength<u8>[src]

Key size in bytes.

type NonceSize: ArrayLength<u8>[src]

Nonce size in bytes.

Loading content...

Required methods

fn new(
    key: &GenericArray<u8, Self::KeySize>,
    nonce: &GenericArray<u8, Self::NonceSize>
) -> Self
[src]

Create new value from fixed length key and nonce.

Loading content...

Provided methods

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

Create new value from variable length key and nonce.

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

This is supported on crate feature rand_core only.

Generate a random key using the provided CryptoRng.

fn generate_nonce(
    rng: impl CryptoRng + RngCore
) -> GenericArray<u8, Self::NonceSize>
[src]

This is supported on crate feature rand_core only.

Generate a random nonce using the provided CryptoRng.

fn generate_key_nonce(
    rng: impl CryptoRng + RngCore
) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::NonceSize>)
[src]

This is supported on crate feature rand_core only.

Generate random key and nonce using the provided CryptoRng.

Loading content...

Implementors

impl<T> FromKeyNonce for T where
    T: FromBlockCipherNonce,
    T::BlockCipher: FromKey
[src]

type KeySize = <T::BlockCipher as FromKey>::KeySize

type NonceSize = T::NonceSize

Loading content...