nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds > Struct Template Reference

#include <siphash_policy.hpp>

+ Inheritance diagram for nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >:
+ Collaboration diagram for nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >:

Public Types

typedef boost::uint_t< CHAR_BIT >::exact byte_type
 
typedef std::array< word_type, key_schedule_sizekey_schedule_type
 
typedef std::array< word_type, key_wordskey_type
 
typedef basic_functions< 64 >::word_type word_type
 

Static Public Member Functions

template<std::size_t n>
static word_type rotl (word_type x)
 
static word_type rotl (word_type x, std::size_t n)
 
template<std::size_t n>
static word_type rotr (word_type x)
 
static word_type rotr (word_type x, std::size_t n)
 
template<std::size_t n>
static word_type shl (word_type x)
 
static word_type shl (word_type x, std::size_t n)
 
template<std::size_t n>
static word_type shr (word_type x)
 
static word_type shr (word_type x, std::size_t n)
 

Static Public Attributes

constexpr static const std::size_t final_rounds = FinalRounds
 
constexpr static const std::size_t key_bits = key_words * word_bits
 
constexpr static const std::size_t key_schedule_size = 4
 
constexpr static const std::size_t key_words = 2
 
constexpr static const std::size_t rounds = Rounds
 
constexpr static const std::size_t word_bits = basic_functions<64>::word_bits
 

Member Typedef Documentation

◆ byte_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef boost::uint_t<CHAR_BIT>::exact nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::byte_type

◆ key_schedule_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef std::array<word_type, key_schedule_size> nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::key_schedule_type

◆ key_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef std::array<word_type, key_words> nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::key_type

◆ word_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef basic_functions<64>::word_type nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::word_type

Member Function Documentation

◆ rotl() [1/2]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::rotl ( word_type  x)
inlinestaticinherited

◆ rotl() [2/2]

template<std::size_t WordBits>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::rotl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotr() [1/2]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::rotr ( word_type  x)
inlinestaticinherited

◆ rotr() [2/2]

template<std::size_t WordBits>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::rotr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shl() [1/2]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::shl ( word_type  x)
inlinestaticinherited

◆ shl() [2/2]

template<std::size_t WordBits>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::shl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shr() [1/2]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::shr ( word_type  x)
inlinestaticinherited

◆ shr() [2/2]

template<std::size_t WordBits>
static word_type nil::crypto3::mac::detail::basic_functions< WordBits >::shr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

Member Data Documentation

◆ final_rounds

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::final_rounds = FinalRounds
staticconstexpr

◆ key_bits

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::key_bits = key_words * word_bits
staticconstexpr

◆ key_schedule_size

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::key_schedule_size = 4
staticconstexpr

◆ key_words

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::key_words = 2
staticconstexpr

◆ rounds

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::rounds = Rounds
staticconstexpr

◆ word_bits

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_policy< Rounds, FinalRounds >::word_bits = basic_functions<64>::word_bits
staticconstexpr

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