algorithm/deal_shares.hpp File Reference
+ Include dependency graph for algorithm/deal_shares.hpp:

Go to the source code of this file.

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::pubkey
 

Typedefs

template<typename Scheme >
using nil::crypto3::pubkey::shares_dealing_policy = typename modes::isomorphic< Scheme >::shares_dealing_policy
 
template<typename Scheme >
using nil::crypto3::pubkey::shares_dealing_processing_mode_default = typename modes::isomorphic< Scheme >::template bind< shares_dealing_policy< Scheme > >::type
 

Functions

template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>>
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & nil::crypto3::deal_shares (const SinglePassRange &range, OutputAccumulator &acc)
 Updating shares dealing accumulator with polynomial coefficients. More...
 
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::deal_shares (const SinglePassRange &range, std::size_t n)
 Deal shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::deal_shares (const SinglePassRange &range, std::size_t n, const typename Scheme::weights_type &weights)
 Deal weighted shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>>
OutputIterator nil::crypto3::deal_shares (const SinglePassRange &range, std::size_t n, const typename Scheme::weights_type &weights, OutputIterator out)
 Deal weighted shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>>
OutputIterator nil::crypto3::deal_shares (const SinglePassRange &range, std::size_t n, OutputIterator out)
 Deal shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>>
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & nil::crypto3::deal_shares (InputIterator first, InputIterator last, OutputAccumulator &acc)
 Updating shares dealing accumulator with polynomial coefficients. More...
 
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::deal_shares (InputIterator first, InputIterator last, std::size_t n)
 Deal shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::shares_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::deal_shares (InputIterator first, InputIterator last, std::size_t n, const typename Scheme::weights_type &weights)
 Deal weighted shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>>
OutputIterator nil::crypto3::deal_shares (InputIterator first, InputIterator last, std::size_t n, const typename Scheme::weights_type &weights, OutputIterator out)
 Deal weighted shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...
 
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::shares_dealing_processing_mode_default<Scheme>>
OutputIterator nil::crypto3::deal_shares (InputIterator first, InputIterator last, std::size_t n, OutputIterator out)
 Deal shares using passed polynomial coefficients, threshold number of participants required to reconstruct secret equals to number of the coefficients. More...