nil::crypto3::mac::detail::poly1305_functions Struct Reference

#include <poly1305_functions.hpp>

+ Inheritance diagram for nil::crypto3::mac::detail::poly1305_functions:
+ Collaboration diagram for nil::crypto3::mac::detail::poly1305_functions:

Public Types

typedef std::array< word_type, block_wordsblock_type
 
typedef policy_type::byte_type byte_type
 
typedef policy_type::key_schedule_type key_schedule_type
 
typedef policy_type::key_type key_type
 
typedef poly1305_policy policy_type
 
typedef std::array< byte_type, state_sizestate_type
 
typedef policy_type::word_type word_type
 

Static Public Member Functions

static void poly1305_blocks (key_schedule_type &X, const uint8_t *m, size_t blocks, bool is_final=false)
 
static void poly1305_finish (key_schedule_type &X, uint8_t mac[16])
 
static void poly1305_init (key_schedule_type &X, const key_type &key)
 
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 block_bits = block_words * word_bits
 
constexpr static const std::size_t block_words = 2
 
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 state_size = 16
 
constexpr static const std::size_t word_bits = policy_type::word_bits
 

Member Typedef Documentation

◆ block_type

◆ byte_type

◆ key_schedule_type

◆ key_type

◆ policy_type

◆ state_type

◆ word_type

Member Function Documentation

◆ poly1305_blocks()

static void nil::crypto3::mac::detail::poly1305_functions::poly1305_blocks ( key_schedule_type X,
const uint8_t *  m,
size_t  blocks,
bool  is_final = false 
)
inlinestatic

◆ poly1305_finish()

static void nil::crypto3::mac::detail::poly1305_functions::poly1305_finish ( key_schedule_type X,
uint8_t  mac[16] 
)
inlinestatic

◆ poly1305_init()

static void nil::crypto3::mac::detail::poly1305_functions::poly1305_init ( key_schedule_type X,
const key_type key 
)
inlinestatic

◆ 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

◆ block_bits

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_policy::block_bits = block_words * word_bits
staticconstexprinherited

◆ block_words

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_policy::block_words = 2
staticconstexprinherited

◆ key_bits

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_functions::key_bits = policy_type::key_bits
staticconstexpr

◆ key_schedule_bits

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_functions::key_schedule_bits = policy_type::key_schedule_bits
staticconstexpr

◆ key_schedule_words

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_functions::key_schedule_words = policy_type::key_schedule_words
staticconstexpr

◆ key_words

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_functions::key_words = policy_type::key_words
staticconstexpr

◆ state_size

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_policy::state_size = 16
staticconstexprinherited

◆ word_bits

constexpr static const std::size_t nil::crypto3::mac::detail::poly1305_functions::word_bits = policy_type::word_bits
staticconstexpr

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