nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode > Struct Template Reference

#include <hkdf_functions.hpp>

+ Inheritance diagram for nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >:
+ Collaboration diagram for nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >:

Public Types

typedef policy_type::digest_type digest_type
 
typedef policy_type::key_type key_type
 
typedef policy_type::mac_type mac_type
 
typedef hkdf_policy< MessageAuthenticationCode > policy_type
 
typedef policy_type::salt_type salt_type
 
typedef mac_type::key_type secret_type
 

Static Public Member Functions

static void expand (digest_type &digest, const mac_type &mac)
 HKDF Expansion Step from RFC 5869. More...
 
static void extract (digest_type &digest, const mac_type &mac)
 HKDF Extraction Step from RFC 5869. More...
 

Static Public Attributes

constexpr static const std::size_t digest_bits = policy_type::digest_bits
 
constexpr static const std::size_t max_key_bits = policy_type::max_key_bits
 
constexpr static const std::size_t min_key_bits = policy_type::min_key_bits
 
constexpr static const std::size_t salt_bits = policy_type::salt_bits
 
constexpr static const std::size_t secret_bits = mac_type::key_bits
 

Member Typedef Documentation

◆ digest_type

template<typename MessageAuthenticationCode >
typedef policy_type::digest_type nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::digest_type

◆ key_type

template<typename MessageAuthenticationCode >
typedef policy_type::key_type nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::key_type

◆ mac_type

template<typename MessageAuthenticationCode >
typedef policy_type::mac_type nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::mac_type

◆ policy_type

template<typename MessageAuthenticationCode >
typedef hkdf_policy<MessageAuthenticationCode> nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::policy_type

◆ salt_type

template<typename MessageAuthenticationCode >
typedef policy_type::salt_type nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::salt_type

◆ secret_type

template<typename MessageAuthenticationCode >
typedef mac_type::key_type nil::crypto3::kdf::detail::hkdf_policy< MessageAuthenticationCode >::secret_type
inherited

Member Function Documentation

◆ expand()

template<typename MessageAuthenticationCode >
static void nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::expand ( digest_type digest,
const mac_type mac 
)
inlinestatic

HKDF Expansion Step from RFC 5869.

Parameters
mac
key

◆ extract()

template<typename MessageAuthenticationCode >
static void nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::extract ( digest_type digest,
const mac_type mac 
)
inlinestatic

HKDF Extraction Step from RFC 5869.

Template Parameters
SecretInputIterator
Parameters
key

Member Data Documentation

◆ digest_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::digest_bits = policy_type::digest_bits
staticconstexpr

◆ max_key_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::max_key_bits = policy_type::max_key_bits
staticconstexpr

◆ min_key_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::min_key_bits = policy_type::min_key_bits
staticconstexpr

◆ salt_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::detail::hkdf_functions< MessageAuthenticationCode >::salt_bits = policy_type::salt_bits
staticconstexpr

◆ secret_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::detail::hkdf_policy< MessageAuthenticationCode >::secret_bits = mac_type::key_bits
staticconstexprinherited

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