Trait nettle::aead::Aead

source ·
pub trait Aead {
    // Required methods
    fn update(&mut self, ad: &[u8]);
    fn encrypt(&mut self, dst: &mut [u8], src: &[u8]);
    fn decrypt(&mut self, dst: &mut [u8], src: &[u8]);
    fn digest(&mut self, digest: &mut [u8]);
    fn digest_size(&self) -> usize;
}
Expand description

A AEAD mode of operation.

Required Methods§

source

fn update(&mut self, ad: &[u8])

Adds associated data ad.

Can be invoked multiple times prior to invoking Aead::encrypt or Aead::decrypt to provide the additional authenticated data in a streaming fashion.

source

fn encrypt(&mut self, dst: &mut [u8], src: &[u8])

Encrypts one block src to dst.

source

fn decrypt(&mut self, dst: &mut [u8], src: &[u8])

Decrypts one block src to dst.

source

fn digest(&mut self, digest: &mut [u8])

Produce the digest.

source

fn digest_size(&self) -> usize

Length of the digest in bytes.

Implementors§

source§

impl Aead for ChaChaPoly1305

source§

impl<C, T> Aead for Ocb<C, T>where C: Cipher + BlockSizeIs16, T: Unsigned + IsLessOrEqual<U16, Output = True>,

source§

impl<C: Cipher + BlockSizeIs16> Aead for Ccm<C>

source§

impl<C: Cipher + BlockSizeIs16> Aead for Gcm<C>

source§

impl<C: Cipher> Aead for Eax<C>