nil::crypto3::mac::hmac< Hash > Struct Template Reference

#include <hmac.hpp>

+ Collaboration diagram for nil::crypto3::mac::hmac< Hash >:

Public Types

typedef hash_type::block_type block_type
 
typedef hash_type::digest_type digest_type
 
typedef Hash hash_type
 
template<typename InputRange , typename ValueType = typename std::iterator_traits<typename InputRange::iterator>::value_type>
using is_key_type = typename std::enable_if< std::is_same< std::uint8_t, ValueType >::value, bool >::type
 
typedef std::pair< std::array< std::uint8_t, block_octets >, std::array< std::uint8_t, block_octets > > schedule_key_type
 

Static Public Attributes

constexpr static const std::size_t block_bits = hash_type::block_bits
 
constexpr static const std::size_t block_octets = block_bits / 8
 
constexpr static const std::size_t block_words = hash_type::block_words
 
constexpr static const std::size_t digest_bits = hash_type::digest_bits
 

Detailed Description

template<typename Hash>
struct nil::crypto3::mac::hmac< Hash >

Template Parameters
Hash

Member Typedef Documentation

◆ block_type

template<typename Hash >
typedef hash_type::block_type nil::crypto3::mac::hmac< Hash >::block_type

◆ digest_type

template<typename Hash >
typedef hash_type::digest_type nil::crypto3::mac::hmac< Hash >::digest_type

◆ hash_type

template<typename Hash >
typedef Hash nil::crypto3::mac::hmac< Hash >::hash_type

◆ is_key_type

template<typename Hash >
template<typename InputRange , typename ValueType = typename std::iterator_traits<typename InputRange::iterator>::value_type>
using nil::crypto3::mac::hmac< Hash >::is_key_type = typename std::enable_if<std::is_same<std::uint8_t, ValueType>::value, bool>::type

◆ schedule_key_type

template<typename Hash >
typedef std::pair<std::array<std::uint8_t, block_octets>, std::array<std::uint8_t, block_octets> > nil::crypto3::mac::hmac< Hash >::schedule_key_type

std::pair<i_key_pad, o_key_pad>

Member Data Documentation

◆ block_bits

template<typename Hash >
constexpr static const std::size_t nil::crypto3::mac::hmac< Hash >::block_bits = hash_type::block_bits
staticconstexpr

◆ block_octets

template<typename Hash >
constexpr static const std::size_t nil::crypto3::mac::hmac< Hash >::block_octets = block_bits / 8
staticconstexpr

◆ block_words

template<typename Hash >
constexpr static const std::size_t nil::crypto3::mac::hmac< Hash >::block_words = hash_type::block_words
staticconstexpr

◆ digest_bits

template<typename Hash >
constexpr static const std::size_t nil::crypto3::mac::hmac< Hash >::digest_bits = hash_type::digest_bits
staticconstexpr

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