nil::crypto3::pubkey::sss_basic_policy< Group > Struct Template Reference

#include <basic_policy.hpp>

+ Inheritance diagram for nil::crypto3::pubkey::sss_basic_policy< Group >:
+ Collaboration diagram for nil::crypto3::pubkey::sss_basic_policy< Group >:

Public Types

using coeff_type = private_element_type
 
using indexed_private_element_type = std::pair< std::size_t, private_element_type >
 
using indexed_public_element_type = std::pair< std::size_t, public_element_type >
 
using indexes_type = std::set< std::size_t >
 
using private_element_type = typename Group::curve_type::scalar_field_type::value_type
 
using public_coeff_type = public_element_type
 
using public_element_type = typename Group::value_type
 

Static Public Member Functions

static bool check_exp (std::size_t exp)
 
static bool check_minimal_size (std::size_t size)
 
static bool check_participant_index (std::size_t i)
 
static bool check_participant_index (std::size_t i, std::size_t n)
 
static bool check_threshold_value (std::size_t t, std::size_t n)
 
template<typename IndexedElementIt >
static indexes_type get_indexes (IndexedElementIt first, IndexedElementIt last)
 
static std::size_t get_min_threshold_value (std::size_t n)
 
static public_element_type get_public_element (const private_element_type &e)
 

Member Typedef Documentation

◆ coeff_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::coeff_type = private_element_type

◆ indexed_private_element_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::indexed_private_element_type = std::pair<std::size_t, private_element_type>

◆ indexed_public_element_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::indexed_public_element_type = std::pair<std::size_t, public_element_type>

◆ indexes_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::indexes_type = std::set<std::size_t>

◆ private_element_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::private_element_type = typename Group::curve_type::scalar_field_type::value_type

◆ public_coeff_type

◆ public_element_type

template<typename Group >
using nil::crypto3::pubkey::sss_basic_policy< Group >::public_element_type = typename Group::value_type

Member Function Documentation

◆ check_exp()

template<typename Group >
static bool nil::crypto3::pubkey::sss_basic_policy< Group >::check_exp ( std::size_t  exp)
inlinestatic

◆ check_minimal_size()

template<typename Group >
static bool nil::crypto3::pubkey::sss_basic_policy< Group >::check_minimal_size ( std::size_t  size)
inlinestatic

◆ check_participant_index() [1/2]

template<typename Group >
static bool nil::crypto3::pubkey::sss_basic_policy< Group >::check_participant_index ( std::size_t  i)
inlinestatic

◆ check_participant_index() [2/2]

template<typename Group >
static bool nil::crypto3::pubkey::sss_basic_policy< Group >::check_participant_index ( std::size_t  i,
std::size_t  n 
)
inlinestatic

◆ check_threshold_value()

template<typename Group >
static bool nil::crypto3::pubkey::sss_basic_policy< Group >::check_threshold_value ( std::size_t  t,
std::size_t  n 
)
inlinestatic

◆ get_indexes()

template<typename Group >
template<typename IndexedElementIt >
static indexes_type nil::crypto3::pubkey::sss_basic_policy< Group >::get_indexes ( IndexedElementIt  first,
IndexedElementIt  last 
)
inlinestatic

◆ get_min_threshold_value()

template<typename Group >
static std::size_t nil::crypto3::pubkey::sss_basic_policy< Group >::get_min_threshold_value ( std::size_t  n)
inlinestatic

◆ get_public_element()

template<typename Group >
static public_element_type nil::crypto3::pubkey::sss_basic_policy< Group >::get_public_element ( const private_element_type e)
inlinestatic

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