nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator > Class Template Reference

#include <siv.hpp>

+ Inheritance diagram for nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >:
+ Collaboration diagram for nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >:

Public Types

template<typename T >
using allocator_type = typename policy_type::template allocator_type< T >
 
typedef policy_type::associated_data_type associated_data_type
 
typedef policy_type::block_type block_type
 
typedef policy_type::cipher_type cipher_type
 
typedef policy_type::key_type key_type
 
typedef policy_type::mac_type mac_type
 
typedef std::vector< boost::uint_t< CHAR_BIT >, std::allocator< boost::uint_t< CHAR_BIT > > > nonce_type
 
typedef policy_type::padding_type padding_type
 
typedef policy_type::stream_cipher_type stream_cipher_type
 

Public Member Functions

 BOOST_STATIC_ASSERT (block_bits==128)
 

Static Public Member Functions

static block_type begin_message (const stream_cipher_type &cipher, const block_type &plaintext)
 
static block_type end_message (const stream_cipher_type &cipher, const block_type &plaintext)
 
static block_type process_block (const stream_cipher_type &cipher, const block_type &plaintext)
 
static void S2V (const mac_type &mac, const uint8_t *text, size_t text_len)
 

Static Public Attributes

constexpr static const std::size_t block_bits = policy_type::block_bits
 
constexpr static const std::size_t block_words = policy_type::block_words
 
constexpr static const std::size_t key_bits
 
constexpr static const std::size_t key_size
 
constexpr static const std::size_t tag_bits
 

Member Typedef Documentation

◆ allocator_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
template<typename T >
using nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::allocator_type = typename policy_type::template allocator_type<T>

◆ associated_data_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::associated_data_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::associated_data_type

◆ block_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::block_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::block_type

◆ cipher_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::cipher_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::cipher_type

◆ key_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::key_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::key_type

◆ mac_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::mac_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::mac_type

◆ nonce_type

typedef std::vector<boost::uint_t<CHAR_BIT>, std::allocator <boost::uint_t<CHAR_BIT> > > nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::nonce_type
inherited

◆ padding_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::padding_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::padding_type

◆ stream_cipher_type

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
typedef policy_type::stream_cipher_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::stream_cipher_type

Member Function Documentation

◆ begin_message()

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
static block_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::begin_message ( const stream_cipher_type cipher,
const block_type plaintext 
)
inlinestatic

◆ BOOST_STATIC_ASSERT()

nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::BOOST_STATIC_ASSERT ( block_bits  = = 128)
inherited

◆ end_message()

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
static block_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::end_message ( const stream_cipher_type cipher,
const block_type plaintext 
)
inlinestatic

◆ process_block()

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
static block_type nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::process_block ( const stream_cipher_type cipher,
const block_type plaintext 
)
inlinestatic

◆ S2V()

static void nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::S2V ( const mac_type mac,
const uint8_t *  text,
size_t  text_len 
)
inlinestaticinherited

Member Data Documentation

◆ block_bits

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
constexpr static const std::size_t nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::block_bits = policy_type::block_bits
staticconstexpr

◆ block_words

template<typename Cipher , typename Padding , std::size_t TagBits, typename StreamCipher , typename MessageAuthenticationCode , template< typename > class Allocator = std::allocator>
constexpr static const std::size_t nil::crypto3::block::modes::detail::siv_decryption_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::block_words = policy_type::block_words
staticconstexpr

◆ key_bits

constexpr static const std::size_t nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::key_bits
staticconstexprinherited

◆ key_size

constexpr static const std::size_t nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::key_size
staticconstexprinherited

◆ tag_bits

constexpr static const std::size_t nil::crypto3::block::modes::detail::siv_policy< Cipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, std::allocator >::tag_bits
staticconstexprinherited

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