feldman.hpp
Go to the documentation of this file.
55 public_share_sss(std::size_t i, const typename public_share_type::second_type &ps) : base_type(i, ps) {
61 inline void update(const typename scheme_type::public_coeff_type &public_coeff, std::size_t exp) {
134 secret_sss(ShareIt first, ShareIt last, const indexes_type &indexes) : base_type(first, last, indexes) {
147 static inline void init_accumulator(internal_accumulator_type &acc, std::size_t n, std::size_t t) {
181 static inline bool _process(const InternalAccumulator &acc, const PublicShare &verified_public_share) {
216 static inline void update(internal_accumulator_type &acc, const public_share_type &public_share) {
226 struct reconstruct_secret_op<feldman_sss<Group>> : public reconstruct_secret_op<shamir_sss<Group>> {
231 typedef std::pair<typename scheme_type::indexes_type, std::set<share_type>> internal_accumulator_type;
boost::mpl::apply< AccumulatorSet, tag::pubkey< ProcessingMode > >::type::result_type pubkey(const AccumulatorSet &acc)
Definition: accumulators/pubkey.hpp:106
Definition: pair.hpp:31
Definition: feldman.hpp:37
public_secret_sss< shamir_sss< Group > > base_type
Definition: feldman.hpp:90
feldman_sss< Group > scheme_type
Definition: feldman.hpp:91
scheme_type::indexes_type indexes_type
Definition: feldman.hpp:93
public_secret_sss(const PublicShares &public_shares, const indexes_type &indexes)
Definition: feldman.hpp:104
public_secret_sss(PublicShareIt first, PublicShareIt last)
Definition: feldman.hpp:100
public_secret_sss(PublicShareIt first, PublicShareIt last, const indexes_type &indexes)
Definition: feldman.hpp:109
public_secret_sss(const PublicShares &public_shares)
Definition: feldman.hpp:96
scheme_type::public_element_type public_secret_type
Definition: feldman.hpp:92
Definition: shamir.hpp:248
Definition: public_secret_sss.hpp:33
reconstruct_public_secret_op< shamir_sss< Group > > base_type
Definition: feldman.hpp:204
public_secret_type result_type
Definition: feldman.hpp:210
static void update(internal_accumulator_type &acc, const public_share_type &public_share)
Definition: feldman.hpp:216
static public_secret_type process(internal_accumulator_type &acc)
Definition: feldman.hpp:220
public_share_sss< scheme_type > public_share_type
Definition: feldman.hpp:206
static void init_accumulator()
Definition: feldman.hpp:213
public_secret_sss< scheme_type > public_secret_type
Definition: feldman.hpp:207
feldman_sss< Group > scheme_type
Definition: feldman.hpp:205
std::pair< typename scheme_type::indexes_type, std::set< public_share_type > > internal_accumulator_type
Definition: feldman.hpp:209
Definition: reconstruct_public_secret_op.hpp:33
std::pair< typename scheme_type::indexes_type, std::set< share_type > > internal_accumulator_type
Definition: feldman.hpp:231
secret_sss< scheme_type > secret_type
Definition: feldman.hpp:230
static result_type process(internal_accumulator_type &acc)
Definition: feldman.hpp:242
secret_type result_type
Definition: feldman.hpp:232
reconstruct_secret_op< shamir_sss< Group > > base_type
Definition: feldman.hpp:227
share_sss< scheme_type > share_type
Definition: feldman.hpp:229
feldman_sss< Group > scheme_type
Definition: feldman.hpp:228
static void init_accumulator()
Definition: feldman.hpp:235
static void update(internal_accumulator_type &acc, const share_type &share)
Definition: feldman.hpp:238
Definition: reconstruct_secret_op.hpp:33
feldman_sss< Group > scheme_type
Definition: feldman.hpp:117
secret_sss(ShareIt first, ShareIt last)
Definition: feldman.hpp:126
secret_sss(const Shares &shares, const indexes_type &indexes)
Definition: feldman.hpp:130
secret_sss< shamir_sss< Group > > base_type
Definition: feldman.hpp:116
scheme_type::private_element_type secret_type
Definition: feldman.hpp:118
scheme_type::indexes_type indexes_type
Definition: feldman.hpp:119
secret_sss(ShareIt first, ShareIt last, const indexes_type &indexes)
Definition: feldman.hpp:134
secret_sss(const Shares &shares)
Definition: feldman.hpp:122
Definition: shamir.hpp:324
Definition: secret_sss.hpp:33
Definition: shamir.hpp:58
std::pair< std::size_t, private_element_type > indexed_private_element_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:49
typename Group::curve_type::scalar_field_type::value_type private_element_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:47
std::pair< std::size_t, public_element_type > indexed_public_element_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:50
private_element_type coeff_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:55
public_element_type public_coeff_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:56
typename Group::value_type public_element_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:48
std::set< std::size_t > indexes_type
Definition: pubkey/include/nil/crypto3/pubkey/secret_sharing/basic_policy.hpp:57