nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator > Struct Template Reference

Interface for AEAD (Authenticated Encryption with Associated Data) modes. These modes provide both encryption and message authentication, and can authenticate additional per-message data which is not included in the ciphertext (for instance a sequence number). More...

#include <aead.hpp>

+ Collaboration diagram for nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >:

Classes

struct  bind
 

Public Types

template<typename T >
using allocator_type = Allocator< T >
 
typedef Cipher cipher_type
 
typedef detail::aead_decryption_policy< cipher_type, padding_type, allocator_typedecryption_policy
 
typedef detail::aead_encryption_policy< cipher_type, padding_type, allocator_typeencryption_policy
 
typedef Padding< Cipher > padding_type
 

Detailed Description

template<typename Cipher, template< typename > class Padding, template< typename > class Allocator = std::allocator>
struct nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >

Interface for AEAD (Authenticated Encryption with Associated Data) modes. These modes provide both encryption and message authentication, and can authenticate additional per-message data which is not included in the ciphertext (for instance a sequence number).

Template Parameters
Cipher
Padding
Allocator

Member Typedef Documentation

◆ allocator_type

template<typename Cipher , template< typename > class Padding, template< typename > class Allocator = std::allocator>
template<typename T >
using nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >::allocator_type = Allocator<T>

◆ cipher_type

template<typename Cipher , template< typename > class Padding, template< typename > class Allocator = std::allocator>
typedef Cipher nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >::cipher_type

◆ decryption_policy

template<typename Cipher , template< typename > class Padding, template< typename > class Allocator = std::allocator>
typedef detail::aead_decryption_policy<cipher_type, padding_type, allocator_type> nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >::decryption_policy

◆ encryption_policy

template<typename Cipher , template< typename > class Padding, template< typename > class Allocator = std::allocator>
typedef detail::aead_encryption_policy<cipher_type, padding_type, allocator_type> nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >::encryption_policy

◆ padding_type

template<typename Cipher , template< typename > class Padding, template< typename > class Allocator = std::allocator>
typedef Padding<Cipher> nil::crypto3::block::modes::authenticated_encryption_associated_data< Cipher, Padding, Allocator >::padding_type

The documentation for this struct was generated from the following file: