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.
Required methods
fn new(
key: &GenericArray<u8, Self::KeySize>,
nonce: &GenericArray<u8, Self::NonceSize>
) -> Self
[src]
key: &GenericArray<u8, Self::KeySize>,
nonce: &GenericArray<u8, Self::NonceSize>
) -> Self
Create new value from fixed length key and nonce.
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]
rng: impl CryptoRng + RngCore
) -> GenericArray<u8, Self::KeySize>
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]
rng: impl CryptoRng + RngCore
) -> GenericArray<u8, Self::NonceSize>
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]
rng: impl CryptoRng + RngCore
) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::NonceSize>)
This is supported on crate feature
rand_core
only.Generate random key and nonce using the provided CryptoRng
.
Implementors
impl<T> FromKeyNonce for T where
T: FromBlockCipherNonce,
T::BlockCipher: FromKey,
[src]
impl<T> FromKeyNonce for T where
T: FromBlockCipherNonce,
T::BlockCipher: FromKey,
[src]type KeySize = <T::BlockCipher as FromKey>::KeySize
type NonceSize = T::NonceSize
fn new(
key: &GenericArray<u8, Self::KeySize>,
nonce: &GenericArray<u8, Self::NonceSize>
) -> Self
[src]
key: &GenericArray<u8, Self::KeySize>,
nonce: &GenericArray<u8, Self::NonceSize>
) -> Self