nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename > Class Template Reference

#include <h2c_functions.hpp>

+ Collaboration diagram for nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >:

Public Types

typedef accumulator_set< Hash > internal_accumulator_type
 
typedef std::array< std::uint8_t, len_in_bytes > result_type
 

Static Public Member Functions

static void init_accumulator (internal_accumulator_type &acc)
 
static result_type process (internal_accumulator_type &b0_acc)
 
template<typename InputRange >
static void update (internal_accumulator_type &acc, const InputRange &range)
 
template<typename InputIterator >
static void update (internal_accumulator_type &acc, InputIterator first, InputIterator last)
 

Member Typedef Documentation

◆ internal_accumulator_type

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
typedef accumulator_set<Hash> nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::internal_accumulator_type

◆ result_type

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
typedef std::array<std::uint8_t, len_in_bytes> nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::result_type

Member Function Documentation

◆ init_accumulator()

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
static void nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::init_accumulator ( internal_accumulator_type acc)
inlinestatic

◆ process()

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
static result_type nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::process ( internal_accumulator_type b0_acc)
inlinestatic

◆ update() [1/2]

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
template<typename InputRange >
static void nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::update ( internal_accumulator_type acc,
const InputRange &  range 
)
inlinestatic

◆ update() [2/2]

template<std::size_t k, std::size_t len_in_bytes, typename Hash , typename PublicParams , typename = typename std::enable_if< std::is_same<std::uint8_t, typename Hash::digest_type::value_type>::value>::type>
template<typename InputIterator >
static void nil::crypto3::hashes::detail::expand_message_xmd< k, len_in_bytes, Hash, PublicParams, typename >::update ( internal_accumulator_type acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

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