nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion > Struct Template Reference

#include <bls.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >:

Public Types

typedef signature_version::basic_functions basic_functions
 
typedef basic_functions::internal_accumulator_type internal_accumulator_type
 
typedef basic_functions::internal_aggregation_accumulator_type internal_aggregation_accumulator_type
 
typedef basic_functions::private_key_type private_key_type
 
typedef basic_functions::public_key_type public_key_type
 
typedef basic_functions::signature_type signature_type
 
typedef SignatureVersion signature_version
 

Static Public Member Functions

static bool aggregate_verify (internal_aggregation_accumulator_type &acc, const signature_type &signature)
 
static public_key_type generate_public_key (const private_key_type &privkey)
 
static void init_accumulator (internal_accumulator_type &acc, const private_key_type &privkey)
 
static void init_accumulator (internal_accumulator_type &acc, const public_key_type &pubkey)
 
static signature_type sign (internal_accumulator_type &acc, const private_key_type &privkey)
 
template<typename InputRange >
static void update (internal_accumulator_type &acc, const InputRange &range)
 
template<typename InputIterator >
static void update (internal_accumulator_type &acc, InputIterator first, InputIterator last)
 
template<typename SignatureRange >
static void update_aggregate (signature_type &acc, const SignatureRange &signatures)
 
template<typename SignatureIterator >
static void update_aggregate (signature_type &acc, SignatureIterator sig_first, SignatureIterator sig_last)
 
static bool verify (internal_accumulator_type &acc, const public_key_type &pubkey, const signature_type &sig)
 

Detailed Description

template<typename SignatureVersion>
struct nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >

Template Parameters
SignatureVersion
BlsParams
See also
https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04#section-3.2

Member Typedef Documentation

◆ basic_functions

template<typename SignatureVersion >
typedef signature_version::basic_functions nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::basic_functions

◆ internal_accumulator_type

template<typename SignatureVersion >
typedef basic_functions::internal_accumulator_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::internal_accumulator_type

◆ internal_aggregation_accumulator_type

template<typename SignatureVersion >
typedef basic_functions::internal_aggregation_accumulator_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::internal_aggregation_accumulator_type

◆ private_key_type

template<typename SignatureVersion >
typedef basic_functions::private_key_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::private_key_type

◆ public_key_type

template<typename SignatureVersion >
typedef basic_functions::public_key_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::public_key_type

◆ signature_type

template<typename SignatureVersion >
typedef basic_functions::signature_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::signature_type

◆ signature_version

template<typename SignatureVersion >
typedef SignatureVersion nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::signature_version

Member Function Documentation

◆ aggregate_verify()

template<typename SignatureVersion >
static bool nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::aggregate_verify ( internal_aggregation_accumulator_type acc,
const signature_type signature 
)
inlinestatic

◆ generate_public_key()

template<typename SignatureVersion >
static public_key_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::generate_public_key ( const private_key_type privkey)
inlinestatic

◆ init_accumulator() [1/2]

template<typename SignatureVersion >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::init_accumulator ( internal_accumulator_type acc,
const private_key_type privkey 
)
inlinestatic

◆ init_accumulator() [2/2]

template<typename SignatureVersion >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::init_accumulator ( internal_accumulator_type acc,
const public_key_type pubkey 
)
inlinestatic

◆ sign()

template<typename SignatureVersion >
static signature_type nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::sign ( internal_accumulator_type acc,
const private_key_type privkey 
)
inlinestatic

◆ update() [1/2]

template<typename SignatureVersion >
template<typename InputRange >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::update ( internal_accumulator_type acc,
const InputRange &  range 
)
inlinestatic

◆ update() [2/2]

template<typename SignatureVersion >
template<typename InputIterator >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::update ( internal_accumulator_type acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

◆ update_aggregate() [1/2]

template<typename SignatureVersion >
template<typename SignatureRange >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::update_aggregate ( signature_type acc,
const SignatureRange &  signatures 
)
inlinestatic

◆ update_aggregate() [2/2]

template<typename SignatureVersion >
template<typename SignatureIterator >
static void nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::update_aggregate ( signature_type acc,
SignatureIterator  sig_first,
SignatureIterator  sig_last 
)
inlinestatic

◆ verify()

template<typename SignatureVersion >
static bool nil::crypto3::pubkey::bls_aug_scheme< SignatureVersion >::verify ( internal_accumulator_type acc,
const public_key_type pubkey,
const signature_type sig 
)
inlinestatic

The documentation for this struct was generated from the following file: