Trait noise_protocol::Cipher
[−]
[src]
pub trait Cipher { type Key: U8Array; fn name() -> &'static str; fn encrypt(
k: &Self::Key,
nonce: u64,
ad: &[u8],
plaintext: &[u8],
out: &mut [u8]
); fn decrypt(
k: &Self::Key,
nonce: u64,
ad: &[u8],
ciphertext: &[u8],
out: &mut [u8]
) -> Result<(), ()>; fn key_len() -> usize { ... } fn tag_len() -> usize { ... } }
An AEAD.
Associated Types
Required Methods
fn name() -> &'static str
Name of this cipher function.
fn encrypt(
k: &Self::Key,
nonce: u64,
ad: &[u8],
plaintext: &[u8],
out: &mut [u8]
)
k: &Self::Key,
nonce: u64,
ad: &[u8],
plaintext: &[u8],
out: &mut [u8]
)
AEAD encryption.
out.len() == plaintext.len() + Self::tag_len()
fn decrypt(
k: &Self::Key,
nonce: u64,
ad: &[u8],
ciphertext: &[u8],
out: &mut [u8]
) -> Result<(), ()>
k: &Self::Key,
nonce: u64,
ad: &[u8],
ciphertext: &[u8],
out: &mut [u8]
) -> Result<(), ()>
AEAD decryption.
out.len() == ciphertext.len() - Self::tag_len()
Provided Methods
fn key_len() -> usize
Length of key.
fn tag_len() -> usize
Length of auth tag.
All ciphers specified in the spec has tag length 16.