nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type > Class Template Reference

MAC version of SP 800-56a KDF. More...

#include <sp800_56a.hpp>

+ Collaboration diagram for nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >:

Public Types

typedef policy_type::hash_type hash_type
 
typedef policy_type::key_type key_type
 
typedef policy_type::mac_type mac_type
 
typedef policy_type::salt_type salt_type
 

Public Member Functions

 sp800_56a (const salt_type &salt)
 

Static Public Member Functions

static void process (const key_type &key)
 

Static Public Attributes

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
 

Protected Attributes

mac_type mac
 

Detailed Description

template<typename MessageAuthenticationCode>
class nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >

MAC version of SP 800-56a KDF.

Template Parameters
MessageAuthenticationCode

Member Typedef Documentation

◆ hash_type

template<typename MessageAuthenticationCode >
typedef policy_type::hash_type nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::hash_type

◆ key_type

template<typename MessageAuthenticationCode >
typedef policy_type::key_type nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::key_type

◆ mac_type

template<typename MessageAuthenticationCode >
typedef policy_type::mac_type nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::mac_type

◆ salt_type

template<typename MessageAuthenticationCode >
typedef policy_type::salt_type nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::salt_type

Constructor & Destructor Documentation

◆ sp800_56a()

template<typename MessageAuthenticationCode >
nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::sp800_56a ( const salt_type salt)
inline

Member Function Documentation

◆ process()

template<typename MessageAuthenticationCode >
static void nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::process ( const key_type key)
inlinestatic

Member Data Documentation

◆ mac

template<typename MessageAuthenticationCode >
mac_type nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::mac
protected

◆ max_key_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::max_key_bits = policy_type::max_key_bits
staticconstexpr

◆ min_key_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::min_key_bits = policy_type::min_key_bits
staticconstexpr

◆ salt_bits

template<typename MessageAuthenticationCode >
constexpr static const std::size_t nil::crypto3::kdf::sp800_56a< MessageAuthenticationCode, typename std::enable_if< is_mac< MessageAuthenticationCode >::value >::type >::salt_bits = policy_type::salt_bits
staticconstexpr

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