nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > > Struct Template Reference

#include <xts.hpp>

+ Inheritance diagram for nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >:
+ Collaboration diagram for nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >:

Public Types

typedef xts_policy< Cipher, Padding >::block_type block_type
 
typedef xts_policy< Cipher, Padding >::cipher_type cipher_type
 
typedef cipher_type::key_type key_type
 
typedef xts_policy< Cipher, Padding >::padding_type padding_type
 
typedef xts_policy< Cipher, Padding >::size_type size_type
 

Public Member Functions

block_type begin_message (const cipher_type &cipher, const block_type &plaintext)
 
block_type end_message (const cipher_type &cipher, const block_type &plaintext)
 
block_type process_block (const cipher_type &cipher, const block_type &plaintext)
 

Static Public Member Functions

static void schedule_key (const key_type &key)
 
static void update_tweak (const cipher_type &tweak_cipher, size_t which)
 

Static Public Attributes

constexpr static const size_type block_bits = xts_policy<Cipher, Padding>::block_bits
 
constexpr static const size_type block_words = xts_policy<Cipher, Padding>::block_words
 
constexpr static const std::size_t key_bits = cipher_type::key_bits
 
constexpr static const std::size_t key_words = cipher_type::key_words
 

Member Typedef Documentation

◆ block_type

template<typename Cipher , typename Padding >
typedef xts_policy<Cipher, Padding>::block_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::block_type

◆ cipher_type

template<typename Cipher , typename Padding >
typedef xts_policy<Cipher, Padding>::cipher_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::cipher_type

◆ key_type

template<typename Cipher , typename Padding , template< typename > class Allocator = std::allocator>
typedef cipher_type::key_type nil::crypto3::block::modes::detail::xts_policy< Cipher, Padding, Allocator >::key_type
inherited

◆ padding_type

template<typename Cipher , typename Padding >
typedef xts_policy<Cipher, Padding>::padding_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::padding_type

◆ size_type

template<typename Cipher , typename Padding >
typedef xts_policy<Cipher, Padding>::size_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::size_type

Member Function Documentation

◆ begin_message()

template<typename Cipher , typename Padding >
block_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::begin_message ( const cipher_type cipher,
const block_type plaintext 
)
inline

◆ end_message()

template<typename Cipher , typename Padding >
block_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::end_message ( const cipher_type cipher,
const block_type plaintext 
)
inline

◆ process_block()

template<typename Cipher , typename Padding >
block_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::process_block ( const cipher_type cipher,
const block_type plaintext 
)
inline

◆ schedule_key()

template<typename Cipher , typename Padding , template< typename > class Allocator = std::allocator>
static void nil::crypto3::block::modes::detail::xts_policy< Cipher, Padding, Allocator >::schedule_key ( const key_type key)
inlinestaticinherited

◆ update_tweak()

template<typename Cipher , typename Padding , template< typename > class Allocator = std::allocator>
static void nil::crypto3::block::modes::detail::xts_policy< Cipher, Padding, Allocator >::update_tweak ( const cipher_type tweak_cipher,
size_t  which 
)
inlinestaticinherited

Member Data Documentation

◆ block_bits

template<typename Cipher , typename Padding >
constexpr static const size_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::block_bits = xts_policy<Cipher, Padding>::block_bits
staticconstexpr

◆ block_words

template<typename Cipher , typename Padding >
constexpr static const size_type nil::crypto3::block::modes::detail::xts_encryption_policy< Cipher, Padding, cts< 3, Cipher, Padding > >::block_words = xts_policy<Cipher, Padding>::block_words
staticconstexpr

◆ key_bits

template<typename Cipher , typename Padding , template< typename > class Allocator = std::allocator>
constexpr static const std::size_t nil::crypto3::block::modes::detail::xts_policy< Cipher, Padding, Allocator >::key_bits = cipher_type::key_bits
staticconstexprinherited

◆ key_words

template<typename Cipher , typename Padding , template< typename > class Allocator = std::allocator>
constexpr static const std::size_t nil::crypto3::block::modes::detail::xts_policy< Cipher, Padding, Allocator >::key_words = cipher_type::key_words
staticconstexprinherited

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