pub trait AeadType: Send + Sync {
    type Error: IntoAnyError;

    // Required methods
    fn aead_id(&self) -> u16;
    fn seal<'a>(
        &self,
        key: &[u8],
        data: &[u8],
        aad: Option<&'a [u8]>,
        nonce: &[u8]
    ) -> Result<Vec<u8>, Self::Error>;
    fn open<'a>(
        &self,
        key: &[u8],
        ciphertext: &[u8],
        aad: Option<&'a [u8]>,
        nonce: &[u8]
    ) -> Result<Vec<u8>, Self::Error>;
    fn key_size(&self) -> usize;
    fn nonce_size(&self) -> usize;
}
Expand description

A trait that provides the required AEAD functions

Required Associated Types§

Required Methods§

source

fn aead_id(&self) -> u16

source

fn seal<'a>( &self, key: &[u8], data: &[u8], aad: Option<&'a [u8]>, nonce: &[u8] ) -> Result<Vec<u8>, Self::Error>

source

fn open<'a>( &self, key: &[u8], ciphertext: &[u8], aad: Option<&'a [u8]>, nonce: &[u8] ) -> Result<Vec<u8>, Self::Error>

source

fn key_size(&self) -> usize

source

fn nonce_size(&self) -> usize

Implementors§