nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type > Struct Template Reference

#include <emsa1.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >:

Public Types

typedef Hash hash_type
 
typedef encoding_policy::internal_accumulator_type internal_accumulator_type
 
typedef MsgReprType msg_repr_type
 
typedef bool result_type
 

Static Public Member Functions

static void init_accumulator (internal_accumulator_type &acc)
 
static result_type process (internal_accumulator_type &acc, const msg_repr_type &msg_repr)
 
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)
 

Protected Types

typedef emsa1_encoding_policy< MsgReprType, Hash > encoding_policy
 
typedef MsgReprType::field_type field_type
 
typedef ::nil::crypto3::marshalling::types::field_element< ::nil::marshalling::field_type<::nil::marshalling::option::big_endian >, field_typemarshalling_field_element_type
 

Member Typedef Documentation

◆ encoding_policy

template<typename MsgReprType , typename Hash >
typedef emsa1_encoding_policy<MsgReprType, Hash> nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::encoding_policy
protected

◆ field_type

template<typename MsgReprType , typename Hash >
typedef MsgReprType::field_type nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::field_type
protected

◆ hash_type

template<typename MsgReprType , typename Hash >
typedef Hash nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::hash_type

◆ internal_accumulator_type

template<typename MsgReprType , typename Hash >
typedef encoding_policy::internal_accumulator_type nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::internal_accumulator_type

◆ marshalling_field_element_type

template<typename MsgReprType , typename Hash >
typedef ::nil::crypto3::marshalling::types::field_element< ::nil::marshalling::field_type<::nil::marshalling::option::big_endian>, field_type> nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::marshalling_field_element_type
protected

◆ msg_repr_type

template<typename MsgReprType , typename Hash >
typedef MsgReprType nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::msg_repr_type

◆ result_type

template<typename MsgReprType , typename Hash >
typedef bool nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::result_type

Member Function Documentation

◆ init_accumulator()

template<typename MsgReprType , typename Hash >
static void nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::init_accumulator ( internal_accumulator_type acc)
inlinestatic

◆ process()

template<typename MsgReprType , typename Hash >
static result_type nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::process ( internal_accumulator_type acc,
const msg_repr_type msg_repr 
)
inlinestatic

◆ update() [1/2]

template<typename MsgReprType , typename Hash >
template<typename InputRange >
static void nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::update ( internal_accumulator_type acc,
const InputRange &  range 
)
inlinestatic

◆ update() [2/2]

template<typename MsgReprType , typename Hash >
template<typename InputIterator >
static void nil::crypto3::pubkey::padding::detail::emsa1_verification_policy< MsgReprType, Hash, typename std::enable_if< algebra::is_field< typename MsgReprType::field_type >::value &&!algebra::is_extended_field< typename MsgReprType::field_type >::value >::type >::update ( internal_accumulator_type acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

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