Algorithms are meant to provide interface to asymmetric operations similar to STL algorithms' one. More...

Classes | |
struct | nil::crypto3::pubkey::agreement_key< Scheme > |
Key agreement refers to one form of key exchange in which two or more users execute a protocol to securely share a resultant key value. As an alternative to key agreement, a key transport protocol may be used. The distinguishing feature of a key agreement protocol is that participating users each contribute an equal portion toward the computation of the resultant shared key value (as opposed to one user computing and distributing a key value to other users). More... | |
struct | nil::crypto3::pubkey::private_key< Scheme, typename > |
Private key - a key known only to its owner. Only the user keeping his private key secret guarantees the impossibility of forging a document and digital signature on behalf of the certifier by an attacker. More... | |
struct | nil::crypto3::pubkey::public_key< Scheme, typename > |
Public key - a key that can be published and used to verify the authenticity of the signed document, as well as to prevent fraud on the part of the certifying person in the form of his refusal to sign the document. More... | |
struct | nil::crypto3::pubkey::verification_key< Scheme, typename > |
Functions | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename AggregationAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate (const SinglePassRange &range) |
Aggregation of the input signatures into one resulted signature. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregation accumulator with input signatures. More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::aggregate (const SinglePassRange &range, OutputIterator out) |
Aggregation of the input signatures into one resulted signature and writing it in out . More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename AggregationAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate (InputIterator first, InputIterator last) |
Aggregation of the input signatures into one resulted signature. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregation accumulator with input signatures. More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::aggregate (InputIterator first, InputIterator last, OutputIterator out) |
Aggregation of the input signatures into one resulted signature and writing it in out . More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate_verify (const SinglePassRange &range, const pubkey::public_key< Scheme > &key, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregate verification accumulator with input message and corresponding public key. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename AggregateVerificationAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregateVerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate_verify (const SinglePassRange &range, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key) |
Aggregate verification of the input aggregated signature that aggregates signature created for the input message on the key . More... | |
template<typename Scheme , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate_verify (const typename pubkey::public_key< Scheme >::signature_type &aggregated_signature, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregate verification accumulator with verified aggregated signature. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate_verify (InputIterator first, InputIterator last, const pubkey::public_key< Scheme > &key, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregate verification accumulator with input message and corresponding public key. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename AggregateVerificationAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregateVerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate_verify (InputIterator first, InputIterator last, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key) |
Aggregate verification of the input aggregated signature that aggregates signature created for the input message on the key . More... | |
template<typename Scheme , typename OutputIterator , typename ProcessingMode = pubkey::aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputIterator >::type | nil::crypto3::aggregate_verify (OutputAccumulator &acc, OutputIterator out) |
Extracting of accumulator set acc containing aggregate verification accumulator and writing result in out . More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::single_msg_aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate_verify_single_msg (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregate verification accumulator with input message or public keys. More... | |
template<typename Scheme , typename SinglePassRange1 , typename SinglePassRange2 , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>, typename AggregateVerificationAccumulator = pubkey::single_msg_aggregate_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregateVerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate_verify_single_msg (const SinglePassRange1 &msg_rng, const SinglePassRange2 &keys_rng, const typename pubkey::public_key< Scheme >::signature_type &signature) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key. More... | |
template<typename Scheme , typename SinglePassRange1 , typename SinglePassRange2 , typename OutputIterator , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::aggregate_verify_single_msg (const SinglePassRange1 &msg_rng, const SinglePassRange2 &keys_rng, const typename pubkey::public_key< Scheme >::signature_type &signature, OutputIterator out) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key and writing result in out . More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::single_msg_aggregate_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::aggregate_verify_single_msg (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of accumulator set acc containing aggregate verification accumulator with input message or public keys. More... | |
template<typename Scheme , typename InputIterator1 , typename InputIterator2 , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>, typename AggregateVerificationAccumulator = pubkey::single_msg_aggregate_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregateVerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::aggregate_verify_single_msg (InputIterator1 msg_first, InputIterator1 msg_last, InputIterator2 key_first, InputIterator2 key_last, const typename pubkey::public_key< Scheme >::signature_type &signature) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key. More... | |
template<typename Scheme , typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename ProcessingMode = pubkey::single_msg_aggregate_verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::aggregate_verify_single_msg (InputIterator1 msg_first, InputIterator1 msg_last, InputIterator2 key_first, InputIterator2 key_last, const typename pubkey::public_key< Scheme >::signature_type &signature, OutputIterator out) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key and writing result in out . More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::share_dealing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::deal_share (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of share dealing accumulator set using shares, dealt by other participant for the current. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::share_dealing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::deal_share (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of share dealing accumulator set using shares, dealt by other participant for the current. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::share_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::deal_share (std::size_t i, const SinglePassRange &range) |
Deal share of specified participant using passed shares, dealt by other participant for the current. More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::deal_share (std::size_t i, const SinglePassRange &range, OutputIterator out) |
Deal share of specified participant using passed shares, dealt by other participant for the current. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>, typename DealingAccumulator = typename pubkey::share_dealing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<DealingAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::deal_share (std::size_t i, InputIterator first, InputIterator last) |
Deal share of specified participant using passed shares, dealt by other participant for the current. More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::share_dealing_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::deal_share (std::size_t i, InputIterator first, InputIterator last, OutputIterator out) |
Deal share of specified participant using passed shares, dealt by other participant for the current. More... | |
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... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>, typename ReconstructionAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<ReconstructionAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::reconstruct_public_secret (const SinglePassRange &range) |
Reconstruct public representative of secret using passed public representatives of shares. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>, typename OutputAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::reconstruct_public_secret (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of reconstructing accumulator set using passed public representatives of shares. More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::reconstruct_public_secret (const SinglePassRange &range, OutputIterator out) |
Reconstruct public representative of secret using passed public representatives of shares. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>, typename ReconstructionAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<ReconstructionAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::reconstruct_public_secret (InputIterator first, InputIterator last) |
Reconstruct public representative of secret using passed public representatives of shares. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>, typename OutputAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::reconstruct_public_secret (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of reconstructing accumulator set using passed public representatives of shares. More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::public_secret_reconstructing_processing_mode<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::reconstruct_public_secret (InputIterator first, InputIterator last, OutputIterator out) |
Reconstruct public representative of secret using passed public representatives of shares. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>, typename ReconstructionAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<ReconstructionAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::reconstruct_secret (const SinglePassRange &range) |
Reconstruct secret using passed shares. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::reconstruct_secret (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of reconstructing accumulator set using passed shares. More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::reconstruct_secret (const SinglePassRange &range, OutputIterator out) |
Reconstruct secret using passed shares. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>, typename ReconstructionAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<ReconstructionAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::reconstruct_secret (InputIterator first, InputIterator last) |
Reconstruct secret using passed shares. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::reconstructing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::reconstruct_secret (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of reconstructing accumulator set using passed shares. More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::secret_reconstructing_processing_mode_default<Scheme>> | |
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type | nil::crypto3::reconstruct_secret (InputIterator first, InputIterator last, OutputIterator out) |
Reconstruct secret using passed shares. More... | |
template<typename Scheme , typename ProcessingMode = pubkey::pop_proving_processing_mode_default<Scheme>, typename SigningAccumulator = pubkey::signing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<SigningAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::sign (const pubkey::private_key< Scheme > &key) |
Proving of possession of the supplied key. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>, typename SigningAccumulator = pubkey::signing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<SigningAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::sign (const SinglePassRange &range, const pubkey::private_key< Scheme > &key) |
Signing of the input message on the key . More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::sign (const SinglePassRange &range, const pubkey::private_key< Scheme > &key, OutputIterator out) |
Signing of the input message on the key and writing result in out . More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::signing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::sign (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of accumulator set acc containing signing accumulator with input message. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>, typename SigningAccumulator = pubkey::signing_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<SigningAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::sign (InputIterator first, InputIterator last, const pubkey::private_key< Scheme > &key) |
Signing of the input message on the key . More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::sign (InputIterator first, InputIterator last, const pubkey::private_key< Scheme > &key, OutputIterator out) |
Signing of the input message on the key and writing result in out . More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::signing_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::signing_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::sign (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of accumulator set acc containing signing accumulator with input message. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>, typename VerificationAccumulator = pubkey::verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<VerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::verify (const SinglePassRange &range, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key) |
Verification of the input signature for the input message on the key . More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::verify (const SinglePassRange &range, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key, OutputIterator out) |
Verification of the input signature for the input message on the key and writing result in out . More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::verify (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of accumulator set acc containing verification accumulator with input message. More... | |
template<typename Scheme , typename ProcessingMode = pubkey::pop_verification_processing_mode_default<Scheme>, typename VerificationAccumulator = pubkey::verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<VerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::verify (const typename pubkey::public_key< Scheme >::signature_type &proof, const pubkey::public_key< Scheme > &key) |
Verification of the proof of possession of the supplied key. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>, typename VerificationAccumulator = pubkey::verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<VerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::verify (InputIterator first, InputIterator last, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key) |
Verification of the input signature for the input message on the key . More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::verify (InputIterator first, InputIterator last, const typename pubkey::public_key< Scheme >::signature_type &signature, const pubkey::public_key< Scheme > &key, OutputIterator out) |
Verification of the input signature for the input message on the key and writing result in out . More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::verification_processing_mode_default<Scheme>, typename OutputAccumulator = pubkey::verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::verify (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of accumulator set acc containing verification accumulator with input message. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>, typename VerificationAccumulator = typename pubkey::share_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<VerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::verify_share (const SinglePassRange &range, const pubkey::public_share_sss< Scheme > &s) |
Verification of the share on the input public representatives of polynomial coefficients. More... | |
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::verify_share (const SinglePassRange &range, const pubkey::public_share_sss< Scheme > &s, OutputIterator out) |
Verification of the share on the input public representatives of polynomial coefficients. More... | |
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::share_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::verify_share (const SinglePassRange &range, OutputAccumulator &acc) |
Updating of accumulator set acc containing verification accumulator with public representatives of polynomial coefficients. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>, typename VerificationAccumulator = typename pubkey::share_verification_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<VerificationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>> | |
SchemeImpl | nil::crypto3::verify_share (InputIterator first, InputIterator last, const pubkey::public_share_sss< Scheme > &s) |
Verification of the share on the input public representatives of polynomial coefficients. More... | |
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>> | |
OutputIterator | nil::crypto3::verify_share (InputIterator first, InputIterator last, const pubkey::public_share_sss< Scheme > &s, OutputIterator out) |
Verification of the share on the input public representatives of polynomial coefficients. More... | |
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::share_verification_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::share_verification_accumulator_set<ProcessingMode>> | |
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & | nil::crypto3::verify_share (InputIterator first, InputIterator last, OutputAccumulator &acc) |
Updating of accumulator set acc containing verification accumulator with public representatives of polynomial coefficients. More... | |
Detailed Description
Algorithms are meant to provide interface to asymmetric operations similar to STL algorithms' one.
Function Documentation
◆ aggregate() [1/6]
SchemeImpl nil::crypto3::aggregate | ( | const SinglePassRange & | range | ) |
Aggregation of the input signatures into one resulted signature.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input signatures ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification AggregationAccumulator accumulator set initialized with aggregation accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the signatures range to aggregate
- Returns
SchemeImpl
◆ aggregate() [2/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregation accumulator with input signatures.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input signatures ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification OutputAccumulator accumulator set initialized with aggregation accumulator (internal parameter)
- Parameters
-
range the signatures range to aggregate acc accumulator set containing aggregation accumulator possibly pre-initialized with a part of signatures to aggregate
- Returns
OutputAccumulator
◆ aggregate() [3/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::aggregate | ( | const SinglePassRange & | range, |
OutputIterator | out | ||
) |
Aggregation of the input signatures into one resulted signature and writing it in out
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input signatures OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification
- Parameters
-
range the signatures range to aggregate out the beginning of the destination range
- Returns
OutputIterator
◆ aggregate() [4/6]
SchemeImpl nil::crypto3::aggregate | ( | InputIterator | first, |
InputIterator | last | ||
) |
Aggregation of the input signatures into one resulted signature.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input signatures ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification AggregationAccumulator accumulator set initialized with aggregation accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the signatures range to aggregate last the end of the signatures range to aggregate
- Returns
SchemeImpl
◆ aggregate() [5/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregation accumulator with input signatures.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input signatures ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification OutputAccumulator accumulator set initialized with aggregation accumulator (internal parameter)
- Parameters
-
first the beginning of the signatures range to aggregate last the end of the signatures range to aggregate acc accumulator set containing aggregation accumulator possibly pre-initialized with a part of signatures to aggregate
- Returns
OutputAccumulator
◆ aggregate() [6/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::aggregate | ( | InputIterator | first, |
InputIterator | last, | ||
OutputIterator | out | ||
) |
Aggregation of the input signatures into one resulted signature and writing it in out
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input signatures OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregation operation as in specification
- Parameters
-
first the beginning of the signatures range to aggregate last the end of the signatures range to aggregate out the beginning of the destination range
- Returns
OutputIterator
◆ aggregate_verify() [1/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate_verify | ( | const SinglePassRange & | range, |
const pubkey::public_key< Scheme > & | key, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregate verification accumulator with input message and corresponding public key.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input signatures ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification OutputAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
range the message range, corresponding to passed key
key one of the public keys, which corresponding private key was used to sign the passed message acc accumulator set containing aggregate verification accumulator possibly pre-initialized with a part of signatures to aggregate
- Returns
OutputAccumulator
◆ aggregate_verify() [2/6]
SchemeImpl nil::crypto3::aggregate_verify | ( | const SinglePassRange & | range, |
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key | ||
) |
Aggregate verification of the input aggregated signature that aggregates signature created for the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification AggregateVerificationAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregateVerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the message range, corresponding to passed key
signature aggregated signature to verify key one of the public keys, which corresponding private key was used to sign the passed message
- Returns
SchemeImpl
◆ aggregate_verify() [3/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate_verify | ( | const typename pubkey::public_key< Scheme >::signature_type & | aggregated_signature, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregate verification accumulator with verified aggregated signature.
- Template Parameters
-
Scheme public key signature scheme ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification OutputAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
aggregated_signature signature to verify acc accumulator set containing aggregate verification accumulator possibly pre-initialized with a part of signatures to aggregate
- Returns
OutputAccumulator
◆ aggregate_verify() [4/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate_verify | ( | InputIterator | first, |
InputIterator | last, | ||
const pubkey::public_key< Scheme > & | key, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregate verification accumulator with input message and corresponding public key.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification OutputAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
first the beginning of the message range, corresponding to passed key
last the end of the message range, corresponding to passed key
key one of the public keys, which corresponding private key was used to sign the passed message acc accumulator set containing aggregate verification accumulator possibly pre-initialized with a part of signatures to aggregate
- Returns
OutputAccumulator
◆ aggregate_verify() [5/6]
SchemeImpl nil::crypto3::aggregate_verify | ( | InputIterator | first, |
InputIterator | last, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key | ||
) |
Aggregate verification of the input aggregated signature that aggregates signature created for the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification AggregateVerificationAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregateVerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the message range, corresponding to passed key
last the end of the message range, corresponding to passed key
signature aggregated signature to verify key one of the public keys, which corresponding private key was used to sign the passed message
- Returns
SchemeImpl
◆ aggregate_verify() [6/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputIterator>::type nil::crypto3::aggregate_verify | ( | OutputAccumulator & | acc, |
OutputIterator | out | ||
) |
Extracting of accumulator set acc
containing aggregate verification accumulator and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification AggregateVerificationAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
acc accumulator set containing aggregate verification accumulator possibly pre-initialized with a part of signatures to aggregate out the beginning of the destination range
- Returns
SchemeImpl
◆ aggregate_verify_single_msg() [1/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate_verify_single_msg | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregate verification accumulator with input message or public keys.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message or public keys ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification OutputAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
range the beginning of the message or public keys range acc accumulator set containing aggregate verification accumulator possibly pre-initialized
- Returns
OutputAccumulator
◆ aggregate_verify_single_msg() [2/6]
SchemeImpl nil::crypto3::aggregate_verify_single_msg | ( | const SinglePassRange1 & | msg_rng, |
const SinglePassRange2 & | keys_rng, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature | ||
) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange1 range representing input message SinglePassRange2 range representing input public keys which corresponding private keys were used to sign input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation of single message as in specification AggregateVerificationAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregateVerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
msg_rng the message range keys_rng the key range signature aggregated signature to verify
- Returns
SchemeImpl
◆ aggregate_verify_single_msg() [3/6]
OutputIterator nil::crypto3::aggregate_verify_single_msg | ( | const SinglePassRange1 & | msg_rng, |
const SinglePassRange2 & | keys_rng, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
OutputIterator | out | ||
) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange1 range representing input message SinglePassRange2 range representing input public keys which corresponding private keys were used to sign input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation of single message as in specification
- Parameters
-
msg_rng the message range keys_rng the key range signature aggregated signature to verify out the beginning of the destination range
- Returns
OutputIterator
◆ aggregate_verify_single_msg() [4/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::aggregate_verify_single_msg | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing aggregate verification accumulator with input message or public keys.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message or range of public keys ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation as in specification OutputAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter)
- Parameters
-
first the beginning of the message or public keys range last the end of the message or public keys range acc accumulator set containing aggregate verification accumulator possibly pre-initialized
- Returns
OutputAccumulator
◆ aggregate_verify_single_msg() [5/6]
SchemeImpl nil::crypto3::aggregate_verify_single_msg | ( | InputIterator1 | msg_first, |
InputIterator1 | msg_last, | ||
InputIterator2 | key_first, | ||
InputIterator2 | key_last, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature | ||
) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key.
- Template Parameters
-
Scheme public key signature scheme InputIterator1 iterator representing input message InputIterator2 iterator representing input public keys which corresponding private keys were used to sign input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation of single message as in specification AggregateVerificationAccumulator accumulator set initialized with aggregate verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to AggregateVerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
msg_first the beginning of the message range msg_last the end of the message range key_first the beginning of the key range key_last the end of the key range signature aggregated signature to verify
- Returns
SchemeImpl
◆ aggregate_verify_single_msg() [6/6]
OutputIterator nil::crypto3::aggregate_verify_single_msg | ( | InputIterator1 | msg_first, |
InputIterator1 | msg_last, | ||
InputIterator2 | key_first, | ||
InputIterator2 | key_last, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
OutputIterator | out | ||
) |
Aggregate verification of the input aggregated signature that is aggregation of signatures created for the single input message on the input list of key and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme InputIterator1 iterator representing input message InputIterator2 iterator representing input public keys which corresponding private keys were used to sign input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing an aggregate verification operation of single message as in specification
- Parameters
-
msg_first the beginning of the message range msg_last the end of the message range key_first the beginning of the key range key_last the end of the key range signature aggregated signature to verify out the beginning of the destination range
- Returns
OutputIterator
◆ deal_share() [1/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::deal_share | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of share dealing accumulator set using shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme SinglePassRange range representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification OutputAccumulator accumulator set initialized with dealing accumulator (internal parameter)
- Parameters
-
range shares range acc accumulator set containing share dealing accumulator possibly pre-initialized with the beginning of shares, dealt by other participant for the current
- Returns
- OutputAccumulator
◆ deal_share() [2/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::deal_share | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of share dealing accumulator set using shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme InputIterator iterator representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification OutputAccumulator accumulator set initialized with dealing accumulator (internal parameter)
- Parameters
-
first the beginning of the shares range last the end of the shares range acc accumulator set containing share dealing accumulator possibly pre-initialized with the beginning of shares, dealt by other participant for the current
- Returns
- OutputAccumulator
◆ deal_share() [3/6]
SchemeImpl nil::crypto3::deal_share | ( | std::size_t | i, |
const SinglePassRange & | range | ||
) |
Deal share of specified participant using passed shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme SinglePassRange range representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
i participant index range shares range
- Returns
- SchemeImpl
◆ deal_share() [4/6]
OutputIterator nil::crypto3::deal_share | ( | std::size_t | i, |
const SinglePassRange & | range, | ||
OutputIterator | out | ||
) |
Deal share of specified participant using passed shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme SinglePassRange range representing input shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
i participant index range shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ deal_share() [5/6]
SchemeImpl nil::crypto3::deal_share | ( | std::size_t | i, |
InputIterator | first, | ||
InputIterator | last | ||
) |
Deal share of specified participant using passed shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme InputIterator iterator representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
i participant index first the beginning of the shares range last the end of the shares range
- Returns
- SchemeImpl
◆ deal_share() [6/6]
OutputIterator nil::crypto3::deal_share | ( | std::size_t | i, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | out | ||
) |
Deal share of specified participant using passed shares, dealt by other participant for the current.
- Template Parameters
-
Scheme distribution key generation scheme InputIterator iterator representing input shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
i participant index first the beginning of the shares range last the end of the shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ deal_shares() [1/10]
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.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification OutputAccumulator accumulator set initialized with dealing accumulator (internal parameter)
- Parameters
-
range the polynomial coefficients range acc accumulator set containing shares dealing accumulator possibly pre-initialized with the beginning of polynomial coefficients and participants number
- Returns
- OutputAccumulator
◆ deal_shares() [2/10]
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.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification DealingAccumulator accumulator set initialized with shares dealing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the polynomial coefficients range n number of participants
- Returns
- SchemeImpl
◆ deal_shares() [3/10]
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.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification DealingAccumulator accumulator set initialized with shares dealing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the polynomial coefficients range n number of participants weights participants weights
- Returns
- SchemeImpl
◆ deal_shares() [4/10]
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.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
range the polynomial coefficients range n number of participants weights participants weights out the beginning of the destination range
- Returns
- OutputIterator
◆ deal_shares() [5/10]
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.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
range the polynomial coefficients range n number of participants out the beginning of the destination range
- Returns
- OutputIterator
◆ deal_shares() [6/10]
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.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification OutputAccumulator accumulator set initialized with dealing accumulator (internal parameter)
- Parameters
-
first the beginning of the polynomial coefficients range last the end of the polynomial coefficients range acc accumulator set containing shares dealing accumulator possibly pre-initialized with the beginning of polynomial coefficients and participants number
- Returns
- OutputAccumulator
◆ deal_shares() [7/10]
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.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification DealingAccumulator accumulator set initialized with shares dealing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the polynomial coefficients range last the end of the polynomial coefficients range n number of participants
- Returns
- SchemeImpl
◆ deal_shares() [8/10]
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.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification DealingAccumulator accumulator set initialized with shares dealing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the polynomial coefficients range last the end of the polynomial coefficients range n number of participants weights participants weights
- Returns
- SchemeImpl
◆ deal_shares() [9/10]
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.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
first the beginning of the polynomial coefficients range last the end of the polynomial coefficients range n number of participants weights participants weights out the beginning of the destination range
- Returns
- OutputIterator
◆ deal_shares() [10/10]
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.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a dealing operation as in specification
- Parameters
-
first the beginning of the polynomial coefficients range last the end of the polynomial coefficients range n number of participants out the beginning of the destination range
- Returns
- OutputIterator
◆ reconstruct_public_secret() [1/6]
SchemeImpl nil::crypto3::reconstruct_public_secret | ( | const SinglePassRange & | range | ) |
Reconstruct public representative of secret using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input public representatives of shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification ReconstructionAccumulator accumulator set initialized with reconstruction accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to ReconstructionAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range public representatives of shares range
- Returns
- SchemeImpl
◆ reconstruct_public_secret() [2/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::reconstruct_public_secret | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of reconstructing accumulator set using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input public representatives of shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstructing operation as in specification OutputAccumulator accumulator set initialized with reconstructing accumulator (internal parameter)
- Parameters
-
range public representatives of shares range acc accumulator set containing secret reconstructing accumulator possibly pre-initialized with the beginning of public representatives of shares range
- Returns
- OutputAccumulator
◆ reconstruct_public_secret() [3/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::reconstruct_public_secret | ( | const SinglePassRange & | range, |
OutputIterator | out | ||
) |
Reconstruct public representative of secret using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input public representatives of shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification
- Parameters
-
range public representatives of shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ reconstruct_public_secret() [4/6]
SchemeImpl nil::crypto3::reconstruct_public_secret | ( | InputIterator | first, |
InputIterator | last | ||
) |
Reconstruct public representative of secret using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input public representatives of shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification ReconstructionAccumulator accumulator set initialized with reconstruction accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to ReconstructionAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the public representatives of shares range last the end of the public representatives of shares range
- Returns
- SchemeImpl
◆ reconstruct_public_secret() [5/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::reconstruct_public_secret | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of reconstructing accumulator set using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input public representatives of shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstructing operation as in specification OutputAccumulator accumulator set initialized with reconstructing accumulator (internal parameter)
- Parameters
-
first the beginning of the public representatives of shares range last the end of the public representatives of shares range acc accumulator set containing secret reconstructing accumulator possibly pre-initialized with the beginning of public representatives of shares range
- Returns
- OutputAccumulator
◆ reconstruct_public_secret() [6/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::reconstruct_public_secret | ( | InputIterator | first, |
InputIterator | last, | ||
OutputIterator | out | ||
) |
Reconstruct public representative of secret using passed public representatives of shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input public representatives of shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification
- Parameters
-
first the beginning of the public representatives of shares range last the end of the public representatives of shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ reconstruct_secret() [1/6]
SchemeImpl nil::crypto3::reconstruct_secret | ( | const SinglePassRange & | range | ) |
Reconstruct secret using passed shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification ReconstructionAccumulator accumulator set initialized with reconstruction accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to DealingAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range shares range
- Returns
- SchemeImpl
◆ reconstruct_secret() [2/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::reconstruct_secret | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of reconstructing accumulator set using passed shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstructing operation as in specification OutputAccumulator accumulator set initialized with reconstructing accumulator (internal parameter)
- Parameters
-
range shares range acc accumulator set containing secret reconstructing accumulator possibly pre-initialized with the beginning of shares range
- Returns
- OutputAccumulator
◆ reconstruct_secret() [3/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::reconstruct_secret | ( | const SinglePassRange & | range, |
OutputIterator | out | ||
) |
Reconstruct secret using passed shares.
- Template Parameters
-
Scheme secret sharing scheme SinglePassRange range representing input shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification
- Parameters
-
range shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ reconstruct_secret() [4/6]
SchemeImpl nil::crypto3::reconstruct_secret | ( | InputIterator | first, |
InputIterator | last | ||
) |
Reconstruct secret using passed shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification ReconstructionAccumulator accumulator set initialized with reconstruction accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to ReconstructionAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the shares range last the end of the shares range
- Returns
- SchemeImpl
◆ reconstruct_secret() [5/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::reconstruct_secret | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of reconstructing accumulator set using passed shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input shares ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstructing operation as in specification OutputAccumulator accumulator set initialized with reconstructing accumulator (internal parameter)
- Parameters
-
first the beginning of the shares range last the end of the shares range acc accumulator set containing secret reconstructing accumulator possibly pre-initialized with the beginning of shares range
- Returns
- OutputAccumulator
◆ reconstruct_secret() [6/6]
std::enable_if<!boost::accumulators::detail::is_accumulator_set<OutputIterator>::value, OutputIterator>::type nil::crypto3::reconstruct_secret | ( | InputIterator | first, |
InputIterator | last, | ||
OutputIterator | out | ||
) |
Reconstruct secret using passed shares.
- Template Parameters
-
Scheme secret sharing scheme InputIterator iterator representing input shares OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a reconstruction operation as in specification
- Parameters
-
first the beginning of the shares range last the end of the shares range out the beginning of the destination range
- Returns
- OutputIterator
◆ sign() [1/7]
SchemeImpl nil::crypto3::sign | ( | const pubkey::private_key< Scheme > & | key | ) |
Proving of possession of the supplied key.
- Template Parameters
-
Scheme public key signature scheme ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode SigningAccumulator accumulator set initialized with signing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to SigningAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
key private key to be proved by signing it on itself
- Returns
SchemeImpl
◆ sign() [2/7]
SchemeImpl nil::crypto3::sign | ( | const SinglePassRange & | range, |
const pubkey::private_key< Scheme > & | key | ||
) |
Signing of the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode SigningAccumulator accumulator set initialized with signing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to SigningAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the message range to sign key private key to be used for signing
- Returns
SchemeImpl
◆ sign() [3/7]
OutputIterator nil::crypto3::sign | ( | const SinglePassRange & | range, |
const pubkey::private_key< Scheme > & | key, | ||
OutputIterator | out | ||
) |
Signing of the input message on the key
and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode
- Parameters
-
range the message range to sign key private key to be used for signing out the beginning of the destination range
- Returns
OutputIterator
◆ sign() [4/7]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::sign | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing signing accumulator with input message.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode OutputAccumulator accumulator set initialized with signing accumulator (internal parameter)
- Parameters
-
range the message range to sign acc accumulator set containing signing accumulator initialized with private key and possibly pre-initialized with the beginning of message to be signed
- Returns
OutputAccumulator
◆ sign() [5/7]
SchemeImpl nil::crypto3::sign | ( | InputIterator | first, |
InputIterator | last, | ||
const pubkey::private_key< Scheme > & | key | ||
) |
Signing of the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode SigningAccumulator accumulator set initialized with signing accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to SigningAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the message range to sign last the end of the message range to sign key private key to be used for signing
- Returns
SchemeImpl
◆ sign() [6/7]
OutputIterator nil::crypto3::sign | ( | InputIterator | first, |
InputIterator | last, | ||
const pubkey::private_key< Scheme > & | key, | ||
OutputIterator | out | ||
) |
Signing of the input message on the key
and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode
- Parameters
-
first the beginning of the message range to sign last the end of the message range to sign key private key to be used for signing out the beginning of the destination range
- Returns
OutputIterator
◆ sign() [7/7]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::sign | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing signing accumulator with input message.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a signing operation as in specification, another example is threshold mode OutputAccumulator accumulator set initialized with signing accumulator (internal parameter)
- Parameters
-
first the beginning of the message range to sign last the end of the message range to sign acc accumulator set containing signing accumulator initialized with private key and possibly pre-initialized with the beginning of message to be signed
- Returns
OutputAccumulator
◆ verify() [1/7]
SchemeImpl nil::crypto3::verify | ( | const SinglePassRange & | range, |
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key | ||
) |
Verification of the input signature for the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode VerificationAccumulator accumulator set initialized with verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to VerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range the message range signature message signature to verify key public key to be used for verification
- Returns
SchemeImpl
◆ verify() [2/7]
OutputIterator nil::crypto3::verify | ( | const SinglePassRange & | range, |
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key, | ||
OutputIterator | out | ||
) |
Verification of the input signature for the input message on the key
and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode
- Parameters
-
range the message range signature message signature to verify key public key to be used for verification out the beginning of the destination range
- Returns
OutputIterator
◆ verify() [3/7]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::verify | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing verification accumulator with input message.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode OutputAccumulator accumulator set initialized with verification accumulator (internal parameter)
- Parameters
-
range the message range acc accumulator set containing verification accumulator initialized with public key and possibly pre-initialized with the beginning of the message to verify
- Returns
OutputAccumulator
◆ verify() [4/7]
SchemeImpl nil::crypto3::verify | ( | const typename pubkey::public_key< Scheme >::signature_type & | proof, |
const pubkey::public_key< Scheme > & | key | ||
) |
Verification of the proof of possession of the supplied key.
- Template Parameters
-
Scheme public key signature scheme ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode VerificationAccumulator accumulator set initialized with verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to VerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
proof signature of private key corresponding to supplied public key key
key public key to be verified using proof
- Returns
SchemeImpl
◆ verify() [5/7]
SchemeImpl nil::crypto3::verify | ( | InputIterator | first, |
InputIterator | last, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key | ||
) |
Verification of the input signature for the input message on the key
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode VerificationAccumulator accumulator set initialized with verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to VerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the message range last the end of the message range signature message signature to verify key public key to be used for verification
- Returns
SchemeImpl
◆ verify() [6/7]
OutputIterator nil::crypto3::verify | ( | InputIterator | first, |
InputIterator | last, | ||
const typename pubkey::public_key< Scheme >::signature_type & | signature, | ||
const pubkey::public_key< Scheme > & | key, | ||
OutputIterator | out | ||
) |
Verification of the input signature for the input message on the key
and writing result in out
.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode
- Parameters
-
first the beginning of the message range last the end of the message range signature message signature to verify key public key to be used for verification out the beginning of the destination range
- Returns
OutputIterator
◆ verify() [7/7]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::verify | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing verification accumulator with input message.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input message ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode OutputAccumulator accumulator set initialized with verification accumulator (internal parameter)
- Parameters
-
first the beginning of the message range last the end of the message range acc accumulator set containing verification accumulator initialized with public key and possibly pre-initialized with the beginning of the message to verify
- Returns
OutputAccumulator
◆ verify_share() [1/6]
SchemeImpl nil::crypto3::verify_share | ( | const SinglePassRange & | range, |
const pubkey::public_share_sss< Scheme > & | s | ||
) |
Verification of the share on the input public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input public representatives of polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode VerificationAccumulator accumulator set initialized with verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to VerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
range public representatives of polynomial coefficients range s verified share
- Returns
SchemeImpl
◆ verify_share() [2/6]
OutputIterator nil::crypto3::verify_share | ( | const SinglePassRange & | range, |
const pubkey::public_share_sss< Scheme > & | s, | ||
OutputIterator | out | ||
) |
Verification of the share on the input public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing input public representatives of polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode
- Parameters
-
range public representatives of polynomial coefficients range s verified share out the beginning of the destination range
- Returns
OutputIterator
◆ verify_share() [3/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::verify_share | ( | const SinglePassRange & | range, |
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing verification accumulator with public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme SinglePassRange range representing public representatives of polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification OutputAccumulator accumulator set initialized with verification accumulator (internal parameter)
- Parameters
-
range public representatives of polynomial coefficients range acc accumulator set containing verification accumulator initialized with public key and possibly pre-initialized with the beginning of public representatives of shares range
- Returns
OutputAccumulator
◆ verify_share() [4/6]
SchemeImpl nil::crypto3::verify_share | ( | InputIterator | first, |
InputIterator | last, | ||
const pubkey::public_share_sss< Scheme > & | s | ||
) |
Verification of the share on the input public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input public representatives of polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode VerificationAccumulator accumulator set initialized with verification accumulator (internal parameter) StreamSchemeImpl (internal parameter) SchemeImpl return type implicitly convertible to VerificationAccumulator
orProcessingMode::result_type
(internal parameter)
- Parameters
-
first the beginning of the public representatives of polynomial coefficients range last the end of the public representatives of polynomial coefficients range s verified share
- Returns
SchemeImpl
◆ verify_share() [5/6]
OutputIterator nil::crypto3::verify_share | ( | InputIterator | first, |
InputIterator | last, | ||
const pubkey::public_share_sss< Scheme > & | s, | ||
OutputIterator | out | ||
) |
Verification of the share on the input public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing input public representatives of polynomial coefficients OutputIterator iterator representing output range with value type of ProcessingMode::result_type
ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification, another example is threshold mode
- Parameters
-
first the beginning of the public representatives of polynomial coefficients range last the end of the public representatives of polynomial coefficients range s verified share out the beginning of the destination range
- Returns
OutputIterator
◆ verify_share() [6/6]
std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value, OutputAccumulator>::type& nil::crypto3::verify_share | ( | InputIterator | first, |
InputIterator | last, | ||
OutputAccumulator & | acc | ||
) |
Updating of accumulator set acc
containing verification accumulator with public representatives of polynomial coefficients.
- Template Parameters
-
Scheme public key signature scheme InputIterator iterator representing public representatives of polynomial coefficients ProcessingMode a policy representing a work mode of the scheme, by default isomorphic, which means executing a verification operation as in specification OutputAccumulator accumulator set initialized with verification accumulator (internal parameter)
- Parameters
-
first the beginning of the public representatives of polynomial coefficients range last the end of the public representatives of polynomial coefficients range acc accumulator set containing verification accumulator initialized with public key and possibly pre-initialized with the beginning of public representatives of shares range
- Returns
OutputAccumulator