nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType > Struct Template Reference

#include <bls_basic_policy.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >:

Public Types

typedef bls_basic_policy< CurveType > basic_policy
 
typedef nil::marshalling::curve_element_serializer< curve_typebls_serializer
 
typedef basic_policy::curve_type curve_type
 
typedef basic_policy::gt_value_type gt_value_type
 
typedef hashes::h2c< signature_group_type, PublicParams > h2c_policy
 
typedef hashing_to_curve_accumulator_set< h2c_policyinternal_accumulator_type
 
typedef basic_policy::private_key_type private_key_type
 
typedef curve_type::template g1_type public_key_group_type
 
typedef bls_serializer::compressed_g1_octets public_key_serialized_type
 
typedef public_key_group_type::value_type public_key_type
 
typedef basic_policy::scalar_modular_type scalar_modular_type
 
typedef curve_type::template g2_type signature_group_type
 
typedef bls_serializer::compressed_g2_octets signature_serialized_type
 
typedef signature_group_type::value_type signature_type
 

Static Public Member Functions

static gt_value_type pairing (const signature_type &U, const public_key_type &V)
 
static public_key_serialized_type point_to_pubkey (const public_key_type &pubkey)
 
static signature_serialized_type point_to_signature (const signature_type &sig)
 

Static Public Attributes

constexpr static const std::size_t private_key_bits = basic_policy::private_key_bits
 
constexpr static const std::size_t public_key_bits = public_key_type::value_bits
 
constexpr static const std::size_t signature_bits = signature_type::value_bits
 

Member Typedef Documentation

◆ basic_policy

template<typename PublicParams , typename CurveType >
typedef bls_basic_policy<CurveType> nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::basic_policy

◆ bls_serializer

template<typename PublicParams , typename CurveType >
typedef nil::marshalling::curve_element_serializer<curve_type> nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::bls_serializer

◆ curve_type

template<typename PublicParams , typename CurveType >
typedef basic_policy::curve_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::curve_type

◆ gt_value_type

template<typename PublicParams , typename CurveType >
typedef basic_policy::gt_value_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::gt_value_type

◆ h2c_policy

template<typename PublicParams , typename CurveType >
typedef hashes::h2c<signature_group_type, PublicParams> nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::h2c_policy

◆ internal_accumulator_type

template<typename PublicParams , typename CurveType >
typedef hashing_to_curve_accumulator_set<h2c_policy> nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::internal_accumulator_type

◆ private_key_type

template<typename PublicParams , typename CurveType >
typedef basic_policy::private_key_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::private_key_type

◆ public_key_group_type

template<typename PublicParams , typename CurveType >
typedef curve_type::template g1_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::public_key_group_type

◆ public_key_serialized_type

template<typename PublicParams , typename CurveType >
typedef bls_serializer::compressed_g1_octets nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::public_key_serialized_type

◆ public_key_type

template<typename PublicParams , typename CurveType >
typedef public_key_group_type::value_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::public_key_type

◆ scalar_modular_type

template<typename PublicParams , typename CurveType >
typedef basic_policy::scalar_modular_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::scalar_modular_type

◆ signature_group_type

template<typename PublicParams , typename CurveType >
typedef curve_type::template g2_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::signature_group_type

◆ signature_serialized_type

template<typename PublicParams , typename CurveType >
typedef bls_serializer::compressed_g2_octets nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::signature_serialized_type

◆ signature_type

template<typename PublicParams , typename CurveType >
typedef signature_group_type::value_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::signature_type

Member Function Documentation

◆ pairing()

template<typename PublicParams , typename CurveType >
static gt_value_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::pairing ( const signature_type U,
const public_key_type V 
)
inlinestatic

◆ point_to_pubkey()

template<typename PublicParams , typename CurveType >
static public_key_serialized_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::point_to_pubkey ( const public_key_type pubkey)
inlinestatic

◆ point_to_signature()

template<typename PublicParams , typename CurveType >
static signature_serialized_type nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::point_to_signature ( const signature_type sig)
inlinestatic

Member Data Documentation

◆ private_key_bits

template<typename PublicParams , typename CurveType >
constexpr static const std::size_t nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::private_key_bits = basic_policy::private_key_bits
staticconstexpr

◆ public_key_bits

template<typename PublicParams , typename CurveType >
constexpr static const std::size_t nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::public_key_bits = public_key_type::value_bits
staticconstexpr

◆ signature_bits

template<typename PublicParams , typename CurveType >
constexpr static const std::size_t nil::crypto3::pubkey::detail::bls_mps_ro_policy< PublicParams, CurveType >::signature_bits = signature_type::value_bits
staticconstexpr

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