nil::crypto3::pubkey::detail::wong_resharing< Group > Struct Template Reference
#include <wong_resharing.hpp>
Inheritance diagram for nil::crypto3::pubkey::detail::wong_resharing< Group >:
Collaboration diagram for nil::crypto3::pubkey::detail::wong_resharing< Group >:
Public Types | |
typedef pedersen_dkg< Group > | base_type |
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 > |
typedef base_type::indexed_private_elements_type | indexed_private_elements_type |
using | indexed_public_element_type = std::pair< std::size_t, public_element_type > |
using | indexes_type = std::set< std::size_t > |
typedef base_type::private_element_type | private_element_type |
typedef base_type::private_elements_type | private_elements_type |
using | public_coeff_type = public_element_type |
typedef std::vector< typename basic_policy::public_coeff_type > | public_coeffs_type |
typedef base_type::public_element_type | public_element_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) |
static private_elements_type | get_new_poly (const private_element_type &old_share, std::size_t new_t) |
static private_elements_type | get_new_poly (private_element_type old_share, std::size_t new_t, std::size_t new_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) |
template<typename OldPublicSharesContainer , typename = typename std::enable_if< std::is_integral<typename OldPublicSharesContainer::key_type>::value && std::is_same<public_element_type, typename OldPublicSharesContainer::mapped_type>::value, bool>::type> | |
static bool | verify_old_secret (const private_element_type &old_secret, const OldPublicSharesContainer &old_public_shares) |
template<typename OldPublicSharesRange , typename = typename std::enable_if< std::is_same<public_element_type, typename OldPublicSharesRange::value_type>::value, bool>::type> | |
static bool | verify_old_secret (const private_element_type &old_secret, const OldPublicSharesRange &old_public_shares) |
template<typename OldPublicSharesContainer , typename = typename std::enable_if< std::is_integral<typename OldPublicSharesContainer::key_type>::value && std::is_same<public_element_type, typename OldPublicSharesContainer::mapped_type>::value, bool>::type> | |
static bool | verify_old_secret (const public_element_type &old_public_secret, const OldPublicSharesContainer &old_public_shares) |
template<typename OldPublicSharesRange , typename = typename std::enable_if< std::is_same<public_element_type, typename OldPublicSharesRange::value_type>::value, bool>::type> | |
static bool | verify_old_secret (const public_element_type &old_public_secret, const OldPublicSharesRange &old_public_shares) |
Member Typedef Documentation
◆ base_type
template<typename Group >
typedef pedersen_dkg<Group> nil::crypto3::pubkey::detail::wong_resharing< Group >::base_type |
◆ basic_policy
template<typename Group >
|
inherited |
◆ coeff_type
template<typename Group >
|
inherited |
◆ coeffs_type
template<typename Group >
|
inherited |
◆ group_type
template<typename Group >
|
inherited |
◆ indexed_private_element_type
template<typename Group >
|
inherited |
◆ indexed_private_elements_type
template<typename Group >
typedef base_type::indexed_private_elements_type nil::crypto3::pubkey::detail::wong_resharing< Group >::indexed_private_elements_type |
◆ indexed_public_element_type
template<typename Group >
|
inherited |
◆ indexes_type
template<typename Group >
|
inherited |
◆ private_element_type
template<typename Group >
typedef base_type::private_element_type nil::crypto3::pubkey::detail::wong_resharing< Group >::private_element_type |
◆ private_elements_type
template<typename Group >
typedef base_type::private_elements_type nil::crypto3::pubkey::detail::wong_resharing< Group >::private_elements_type |
◆ public_coeff_type
template<typename Group >
|
inherited |
◆ public_coeffs_type
template<typename Group >
|
inherited |
◆ public_element_type
template<typename Group >
typedef base_type::public_element_type nil::crypto3::pubkey::detail::wong_resharing< Group >::public_element_type |
◆ 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 >
|
inlinestaticinherited |
◆ 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_new_poly() [1/2]
template<typename Group >
|
inlinestatic |
◆ get_new_poly() [2/2]
template<typename Group >
|
inlinestatic |
◆ get_poly() [1/2]
template<typename Group >
template<typename Generator = random::algebraic_random_device<typename basic_policy::coeff_type::field_type>, typename Distribution = void>
|
inlinestaticinherited |
◆ get_poly() [2/2]
template<typename Group >
|
inlinestaticinherited |
◆ get_public_coeffs() [1/2]
template<typename Group >
template<typename CoeffsIt >
|
inlinestaticinherited |
◆ get_public_coeffs() [2/2]
template<typename Group >
template<typename Coeffs >
|
inlinestaticinherited |
◆ get_public_element()
template<typename Group >
|
inlinestaticinherited |
◆ verify_old_secret() [1/4]
template<typename Group >
template<typename OldPublicSharesContainer , typename = typename std::enable_if< std::is_integral<typename OldPublicSharesContainer::key_type>::value && std::is_same<public_element_type, typename OldPublicSharesContainer::mapped_type>::value, bool>::type>
|
inlinestatic |
◆ verify_old_secret() [2/4]
template<typename Group >
template<typename OldPublicSharesRange , typename = typename std::enable_if< std::is_same<public_element_type, typename OldPublicSharesRange::value_type>::value, bool>::type>
|
inlinestatic |
◆ verify_old_secret() [3/4]
template<typename Group >
template<typename OldPublicSharesContainer , typename = typename std::enable_if< std::is_integral<typename OldPublicSharesContainer::key_type>::value && std::is_same<public_element_type, typename OldPublicSharesContainer::mapped_type>::value, bool>::type>
|
inlinestatic |
◆ verify_old_secret() [4/4]
template<typename Group >
template<typename OldPublicSharesRange , typename = typename std::enable_if< std::is_same<public_element_type, typename OldPublicSharesRange::value_type>::value, bool>::type>
|
inlinestatic |
The documentation for this struct was generated from the following file: