#include <siphash.hpp>

+ Collaboration diagram for nil::crypto3::mac::siphash< Rounds, FinalRounds >:

Public Types

typedef policy_type::key_schedule_type key_schedule_type
 
typedef policy_type::key_type key_type
 
typedef policy_type::word_type word_type
 

Public Member Functions

 siphash (key_schedule_type &schedule, const key_type &key)
 

Static Public Member Functions

static void begin_message (key_schedule_type &schedule)
 
static void end_message (key_schedule_type &schdeule)
 
static void process (key_schedule_type &schdeule)
 

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_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
 

Protected Member Functions

void schedule_key (key_schedule_type &schedule, const key_type &key)
 

Detailed Description

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
class nil::crypto3::mac::siphash< Rounds, FinalRounds >

Template Parameters
Rounds
FinalRounds

Member Typedef Documentation

◆ key_schedule_type

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
typedef policy_type::key_schedule_type nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_schedule_type

◆ key_type

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
typedef policy_type::key_type nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_type

◆ word_type

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
typedef policy_type::word_type nil::crypto3::mac::siphash< Rounds, FinalRounds >::word_type

Constructor & Destructor Documentation

◆ siphash()

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
nil::crypto3::mac::siphash< Rounds, FinalRounds >::siphash ( key_schedule_type schedule,
const key_type key 
)
inline

Member Function Documentation

◆ begin_message()

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
static void nil::crypto3::mac::siphash< Rounds, FinalRounds >::begin_message ( key_schedule_type schedule)
inlinestatic

◆ end_message()

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
static void nil::crypto3::mac::siphash< Rounds, FinalRounds >::end_message ( key_schedule_type schdeule)
inlinestatic

◆ process()

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
static void nil::crypto3::mac::siphash< Rounds, FinalRounds >::process ( key_schedule_type schdeule)
inlinestatic

◆ schedule_key()

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
void nil::crypto3::mac::siphash< Rounds, FinalRounds >::schedule_key ( key_schedule_type schedule,
const key_type key 
)
inlineprotected

Member Data Documentation

◆ final_rounds

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::final_rounds = policy_type::final_rounds
staticconstexpr

◆ key_bits

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_bits = policy_type::key_bits
staticconstexpr

◆ key_schedule_bits

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_schedule_bits = policy_type::key_schedule_bits
staticconstexpr

◆ key_schedule_words

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_schedule_words = policy_type::key_schedule_words
staticconstexpr

◆ key_words

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::key_words = policy_type::key_words
staticconstexpr

◆ rounds

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::rounds = policy_type::rounds
staticconstexpr

◆ word_bits

template<std::size_t Rounds = 2, std::size_t FinalRounds = 4>
constexpr static const std::size_t nil::crypto3::mac::siphash< Rounds, FinalRounds >::word_bits = policy_type::word_bits
staticconstexpr

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