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

#include <siphash_functions.hpp>

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

Public Types

typedef boost::uint_t< CHAR_BIT >::exact byte_type
 
typedef policy_type::key_schedule_type key_schedule_type
 
typedef policy_type::key_type key_type
 
typedef siphash_policy< Rounds, FinalRounds > policy_type
 
typedef policy_type::word_type word_type
 

Public Member Functions

template<std::size_t InternalRounds>
void sip_rounds (key_schedule_type &V, word_type M)
 

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 = policy_type::final_rounds
 
constexpr static const std::size_t key_bits = policy_type::key_bits
 
constexpr static const std::size_t key_schedule_bits = policy_type::key_schedule_bits
 
constexpr static const std::size_t key_schedule_size = 4
 
constexpr static const std::size_t key_schedule_words = policy_type::key_schedule_words
 
constexpr static const std::size_t key_words = policy_type::key_words
 
constexpr static const std::size_t rounds = policy_type::rounds
 
constexpr static const std::size_t word_bits = policy_type::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
inherited

◆ key_schedule_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef policy_type::key_schedule_type nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::key_schedule_type

◆ key_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef policy_type::key_type nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::key_type

◆ policy_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef siphash_policy<Rounds, FinalRounds> nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::policy_type

◆ word_type

template<std::size_t Rounds, std::size_t FinalRounds>
typedef policy_type::word_type nil::crypto3::mac::detail::siphash_functions< 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

◆ sip_rounds()

template<std::size_t Rounds, std::size_t FinalRounds>
template<std::size_t InternalRounds>
void nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::sip_rounds ( key_schedule_type V,
word_type  M 
)
inline

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_functions< Rounds, FinalRounds >::final_rounds = policy_type::final_rounds
staticconstexpr

◆ key_bits

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::key_bits = policy_type::key_bits
staticconstexpr

◆ key_schedule_bits

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::key_schedule_bits = policy_type::key_schedule_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
staticconstexprinherited

◆ key_schedule_words

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::key_schedule_words = policy_type::key_schedule_words
staticconstexpr

◆ key_words

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

◆ rounds

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

◆ word_bits

template<std::size_t Rounds, std::size_t FinalRounds>
constexpr static const std::size_t nil::crypto3::mac::detail::siphash_functions< Rounds, FinalRounds >::word_bits = policy_type::word_bits
staticconstexpr

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