Trait cryptraits::aead::Aead

source ·
pub trait Aead: Zeroize {
    type E: Error;

    const NONCE_LEN: usize;

    // Required methods
    fn new(key: &[u8]) -> Self;
    fn encrypt(
        &self,
        nonce: &[u8],
        data: &[u8],
        aad: Option<&[u8]>
    ) -> Result<Vec<u8>, Self::E>;
    fn decrypt(
        &self,
        nonce: &[u8],
        data: &[u8],
        aad: Option<&[u8]>
    ) -> Result<Vec<u8>, Self::E>;
}
Expand description

Trait represents AEAD cipher.

Required Associated Types§

source

type E: Error

AEAD Error type.

Required Associated Constants§

source

const NONCE_LEN: usize

Nonce length in bytes.

Required Methods§

source

fn new(key: &[u8]) -> Self

Creates a new cipher instance.

source

fn encrypt( &self, nonce: &[u8], data: &[u8], aad: Option<&[u8]> ) -> Result<Vec<u8>, Self::E>

Encrypts data with nonce.

source

fn decrypt( &self, nonce: &[u8], data: &[u8], aad: Option<&[u8]> ) -> Result<Vec<u8>, Self::E>

Decrypts data with nonce.

Object Safety§

This trait is not object safe.

Implementors§