nil::crypto3::pubkey::shamir_sss< Group > Struct Template Reference
#include <shamir.hpp>


Public Types | |
typedef sss_basic_policy< group_type > | basic_policy |
using | coeff_type = private_element_type |
typedef std::vector< typename basic_policy::coeff_type > | coeffs_type |
typedef Group | group_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 |
typedef std::vector< typename basic_policy::public_coeff_type > | public_coeffs_type |
using | public_element_type = typename Group::value_type |
using | weights_type = std::map< std::size_t, std::size_t > |
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 Weight > | |
static std::enable_if< std::is_unsigned< typename Weight::first_type >::value &&std::is_unsigned< typename Weight::second_type >::value, bool >::type | check_weight (const Weight &w) |
static bool | check_weight (std::size_t i, std::size_t w) |
static basic_policy::private_element_type | eval_basis_poly (const typename basic_policy::indexes_type &indexes, std::size_t i) |
static base_type::indexes_type | get_indexes (const weights_type &weights, std::size_t t) |
template<typename IndexedElementIt > | |
static indexes_type | get_indexes (IndexedElementIt first, IndexedElementIt last) |
template<typename IndexedElementIt > | |
static indexes_type | get_indexes (IndexedElementIt first, IndexedElementIt last) |
static std::size_t | get_min_threshold_value (std::size_t n) |
template<typename Generator = random::algebraic_random_device<typename basic_policy::coeff_type::field_type>, typename Distribution = void> | |
static coeffs_type | get_poly (std::size_t t) |
static coeffs_type | get_poly (std::size_t t, std::size_t n) |
template<typename CoeffsIt > | |
static public_coeffs_type | get_public_coeffs (CoeffsIt first, CoeffsIt last) |
template<typename Coeffs > | |
static public_coeffs_type | get_public_coeffs (const Coeffs &coeffs) |
static public_element_type | get_public_element (const private_element_type &e) |
Protected Types | |
typedef sss_basic_policy< Group > | base_type |
Member Typedef Documentation
◆ base_type
template<typename Group >
|
protectedinherited |
◆ basic_policy
template<typename Group >
typedef sss_basic_policy<group_type> nil::crypto3::pubkey::shamir_sss< Group >::basic_policy |
◆ coeff_type
template<typename Group >
|
inherited |
◆ coeffs_type
template<typename Group >
typedef std::vector<typename basic_policy::coeff_type> nil::crypto3::pubkey::shamir_sss< Group >::coeffs_type |
◆ group_type
template<typename Group >
typedef Group nil::crypto3::pubkey::shamir_sss< Group >::group_type |
◆ indexed_private_element_type
template<typename Group >
|
inherited |
◆ indexed_public_element_type
template<typename Group >
|
inherited |
◆ indexes_type
template<typename Group >
|
inherited |
◆ private_element_type
template<typename Group >
|
inherited |
◆ public_coeff_type
template<typename Group >
|
inherited |
◆ public_coeffs_type
template<typename Group >
typedef std::vector<typename basic_policy::public_coeff_type> nil::crypto3::pubkey::shamir_sss< Group >::public_coeffs_type |
◆ public_element_type
template<typename Group >
|
inherited |
◆ weights_type
template<typename Group >
|
inherited |
Member Function Documentation
◆ check_exp()
template<typename Group >
|
inlinestaticinherited |
◆ check_minimal_size()
template<typename Group >
|
inlinestaticinherited |
◆ check_participant_index() [1/2]
template<typename Group >
|
inlinestaticinherited |
◆ check_participant_index() [2/2]
template<typename Group >
|
inlinestaticinherited |
◆ check_threshold_value()
template<typename Group >
|
inlinestaticinherited |
◆ check_weight() [1/2]
template<typename Group >
template<typename Weight >
|
inlinestaticinherited |
◆ check_weight() [2/2]
template<typename Group >
|
inlinestaticinherited |
◆ eval_basis_poly()
template<typename Group >
|
inlinestatic |
◆ get_indexes() [1/3]
template<typename Group >
|
inlinestaticinherited |
◆ get_indexes() [2/3]
template<typename Group >
template<typename IndexedElementIt >
|
inlinestaticinherited |
◆ get_indexes() [3/3]
template<typename Group >
template<typename IndexedElementIt >
|
inlinestaticinherited |
◆ get_min_threshold_value()
template<typename Group >
|
inlinestaticinherited |
◆ get_poly() [1/2]
template<typename Group >
template<typename Generator = random::algebraic_random_device<typename basic_policy::coeff_type::field_type>, typename Distribution = void>
|
inlinestatic |
◆ get_poly() [2/2]
template<typename Group >
|
inlinestatic |
◆ get_public_coeffs() [1/2]
template<typename Group >
template<typename CoeffsIt >
|
inlinestatic |
◆ get_public_coeffs() [2/2]
template<typename Group >
template<typename Coeffs >
|
inlinestatic |
◆ get_public_element()
template<typename Group >
|
inlinestaticinherited |
The documentation for this struct was generated from the following file: