nil::crypto3::algebra::curves::detail::ep_map< GroupType > Struct Template Reference

#include <ep.hpp>

+ Collaboration diagram for nil::crypto3::algebra::curves::detail::ep_map< GroupType >:

Public Types

typedef expand_message_xmd< k, hash_typeexpand_message_ro
 
typedef suite_type::field_value_type field_value_type
 
typedef suite_type::group_value_type group_value_type
 
typedef suite_type::hash_type hash_type
 
typedef suite_type::modular_backend modular_backend
 
typedef nil::crypto3::multiprecision::modular_params< modular_backendmodular_params_type
 
typedef suite_type::modular_type modular_type
 
typedef h2c_suite< GroupType > suite_type
 

Static Public Member Functions

static group_value_type clear_cofactor (const group_value_type &R)
 
template<typename InputType , typename DstType , typename = typename std::enable_if< std::is_same<std::uint8_t, typename InputType::value_type>::value && std::is_same<std::uint8_t, typename DstType::value_type>::value>::type>
static group_value_type hash_to_curve (const InputType &msg, const DstType &dst)
 
template<std::size_t N, typename expand_message_type , typename InputType , typename DstType , typename = typename std::enable_if< std::is_same<std::uint8_t, typename InputType::value_type>::value && std::is_same<std::uint8_t, typename DstType::value_type>::value>::type>
static std::array< field_value_type, N > hash_to_field (const InputType &msg, const DstType &dst)
 

Static Public Attributes

constexpr static std::size_t k = suite_type::k
 
constexpr static std::size_t L = suite_type::L
 
constexpr static std::size_t m = suite_type::m
 
constexpr static const modular_params_type p_modulus_params = suite_type::p
 

Member Typedef Documentation

◆ expand_message_ro

template<typename GroupType >
typedef expand_message_xmd<k, hash_type> nil::crypto3::algebra::curves::detail::ep_map< GroupType >::expand_message_ro

◆ field_value_type

template<typename GroupType >
typedef suite_type::field_value_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::field_value_type

◆ group_value_type

template<typename GroupType >
typedef suite_type::group_value_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::group_value_type

◆ hash_type

template<typename GroupType >
typedef suite_type::hash_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::hash_type

◆ modular_backend

template<typename GroupType >
typedef suite_type::modular_backend nil::crypto3::algebra::curves::detail::ep_map< GroupType >::modular_backend

◆ modular_params_type

template<typename GroupType >
typedef nil::crypto3::multiprecision::modular_params<modular_backend> nil::crypto3::algebra::curves::detail::ep_map< GroupType >::modular_params_type

◆ modular_type

template<typename GroupType >
typedef suite_type::modular_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::modular_type

◆ suite_type

template<typename GroupType >
typedef h2c_suite<GroupType> nil::crypto3::algebra::curves::detail::ep_map< GroupType >::suite_type

Member Function Documentation

◆ clear_cofactor()

template<typename GroupType >
static group_value_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::clear_cofactor ( const group_value_type R)
inlinestatic

◆ hash_to_curve()

template<typename GroupType >
template<typename InputType , typename DstType , typename = typename std::enable_if< std::is_same<std::uint8_t, typename InputType::value_type>::value && std::is_same<std::uint8_t, typename DstType::value_type>::value>::type>
static group_value_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::hash_to_curve ( const InputType &  msg,
const DstType &  dst 
)
inlinestatic

◆ hash_to_field()

template<typename GroupType >
template<std::size_t N, typename expand_message_type , typename InputType , typename DstType , typename = typename std::enable_if< std::is_same<std::uint8_t, typename InputType::value_type>::value && std::is_same<std::uint8_t, typename DstType::value_type>::value>::type>
static std::array<field_value_type, N> nil::crypto3::algebra::curves::detail::ep_map< GroupType >::hash_to_field ( const InputType &  msg,
const DstType &  dst 
)
inlinestatic

Member Data Documentation

◆ k

template<typename GroupType >
constexpr static std::size_t nil::crypto3::algebra::curves::detail::ep_map< GroupType >::k = suite_type::k
staticconstexpr

◆ L

template<typename GroupType >
constexpr static std::size_t nil::crypto3::algebra::curves::detail::ep_map< GroupType >::L = suite_type::L
staticconstexpr

◆ m

template<typename GroupType >
constexpr static std::size_t nil::crypto3::algebra::curves::detail::ep_map< GroupType >::m = suite_type::m
staticconstexpr

◆ p_modulus_params

template<typename GroupType >
constexpr static const modular_params_type nil::crypto3::algebra::curves::detail::ep_map< GroupType >::p_modulus_params = suite_type::p
staticconstexpr

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