nil::crypto3::block::detail::isomorphic< Policy > Class Template Reference

#include <cipher_modes.hpp>

+ Collaboration diagram for nil::crypto3::block::detail::isomorphic< Policy >:

Public Types

typedef cipher_type::block_type block_type
 
typedef policy_type::cipher_type cipher_type
 
typedef policy_type::endian_type endian_type
 
typedef cipher_type::key_type key_type
 
typedef policy_type::padding_type padding_type
 
typedef policy_type::size_type size_type
 
typedef cipher_type::word_type word_type
 

Public Member Functions

block_type begin_message (const block_type &plaintext, std::size_t total_seen)
 
block_type end_message (const block_type &plaintext, std::size_t total_seen) const
 
 isomorphic (const cipher_type &cipher)
 
block_type process_block (const block_type &plaintext, std::size_t total_seen)
 

Static Public Attributes

constexpr static const size_type block_bits = policy_type::block_bits
 
constexpr static const size_type block_words = policy_type::block_words
 
constexpr static const size_type word_bits = cipher_type::word_bits
 

Protected Attributes

cipher_type cipher
 

Member Typedef Documentation

◆ block_type

template<typename Policy >
typedef cipher_type::block_type nil::crypto3::block::detail::isomorphic< Policy >::block_type

◆ cipher_type

template<typename Policy >
typedef policy_type::cipher_type nil::crypto3::block::detail::isomorphic< Policy >::cipher_type

◆ endian_type

template<typename Policy >
typedef policy_type::endian_type nil::crypto3::block::detail::isomorphic< Policy >::endian_type

◆ key_type

template<typename Policy >
typedef cipher_type::key_type nil::crypto3::block::detail::isomorphic< Policy >::key_type

◆ padding_type

template<typename Policy >
typedef policy_type::padding_type nil::crypto3::block::detail::isomorphic< Policy >::padding_type

◆ size_type

template<typename Policy >
typedef policy_type::size_type nil::crypto3::block::detail::isomorphic< Policy >::size_type

◆ word_type

template<typename Policy >
typedef cipher_type::word_type nil::crypto3::block::detail::isomorphic< Policy >::word_type

Constructor & Destructor Documentation

◆ isomorphic()

template<typename Policy >
nil::crypto3::block::detail::isomorphic< Policy >::isomorphic ( const cipher_type cipher)
inline

Member Function Documentation

◆ begin_message()

template<typename Policy >
block_type nil::crypto3::block::detail::isomorphic< Policy >::begin_message ( const block_type plaintext,
std::size_t  total_seen 
)
inline

◆ end_message()

template<typename Policy >
block_type nil::crypto3::block::detail::isomorphic< Policy >::end_message ( const block_type plaintext,
std::size_t  total_seen 
) const
inline

◆ process_block()

template<typename Policy >
block_type nil::crypto3::block::detail::isomorphic< Policy >::process_block ( const block_type plaintext,
std::size_t  total_seen 
)
inline

Member Data Documentation

◆ block_bits

template<typename Policy >
constexpr static const size_type nil::crypto3::block::detail::isomorphic< Policy >::block_bits = policy_type::block_bits
staticconstexpr

◆ block_words

template<typename Policy >
constexpr static const size_type nil::crypto3::block::detail::isomorphic< Policy >::block_words = policy_type::block_words
staticconstexpr

◆ cipher

template<typename Policy >
cipher_type nil::crypto3::block::detail::isomorphic< Policy >::cipher
protected

◆ word_bits

template<typename Policy >
constexpr static const size_type nil::crypto3::block::detail::isomorphic< Policy >::word_bits = cipher_type::word_bits
staticconstexpr

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