nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > > Struct Template Reference

#include <bls.hpp>

+ Inheritance diagram for nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >:
+ Collaboration diagram for nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >:

Public Types

typedef scheme_type::bls_scheme_type bls_scheme_type
 
typedef bls_scheme_type::internal_accumulator_type internal_accumulator_type
 
typedef public_key_type key_type
 
typedef bls_scheme_type::private_key_type private_key_type
 
typedef public_key_type::group_type public_key_group_type
 
typedef bls_scheme_type::public_key_type public_key_type
 
typedef bls< PublicParams, BlsVersion, BlsScheme, CurveType > scheme_type
 
typedef signature_type::group_type signature_group_type
 
typedef bls_scheme_type::signature_type signature_type
 

Public Member Functions

void init_accumulator (internal_accumulator_type &acc) const
 
template<typename ToPublicParams , template< typename > class ToBlsScheme>
 operator public_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >> () const
 
template<typename FakeAccumulator >
bool pop_verify (FakeAccumulator, const signature_type &proof) const
 
 public_key ()=delete
 
 public_key (const key_type &pubkey)
 
public_key_type public_key_data () const
 
bool verify (internal_accumulator_type &acc, const signature_type &sig) const
 

Static Public Member Functions

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)
 

Protected Attributes

public_key_type pubkey
 

Member Typedef Documentation

◆ bls_scheme_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef scheme_type::bls_scheme_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::bls_scheme_type

◆ internal_accumulator_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef bls_scheme_type::internal_accumulator_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::internal_accumulator_type

◆ key_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef public_key_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::key_type

◆ private_key_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef bls_scheme_type::private_key_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::private_key_type

◆ public_key_group_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef public_key_type::group_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::public_key_group_type

◆ public_key_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef bls_scheme_type::public_key_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::public_key_type

◆ scheme_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef bls<PublicParams, BlsVersion, BlsScheme, CurveType> nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::scheme_type

◆ signature_group_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef signature_type::group_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::signature_group_type

◆ signature_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef bls_scheme_type::signature_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::signature_type

Constructor & Destructor Documentation

◆ public_key() [1/2]

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::public_key ( )
delete

◆ public_key() [2/2]

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::public_key ( const key_type pubkey)
inline

Member Function Documentation

◆ init_accumulator()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
void nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::init_accumulator ( internal_accumulator_type acc) const
inline

◆ operator public_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >>()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
template<typename ToPublicParams , template< typename > class ToBlsScheme>
nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::operator public_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >> ( ) const
inline

◆ pop_verify()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
template<typename FakeAccumulator >
bool nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::pop_verify ( FakeAccumulator  ,
const signature_type proof 
) const
inline

◆ public_key_data()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
public_key_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::public_key_data ( ) const
inline

◆ update() [1/2]

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
template<typename InputRange >
static void nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::update ( internal_accumulator_type acc,
const InputRange &  range 
)
inlinestatic

◆ update() [2/2]

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
template<typename InputIterator >
static void nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::update ( internal_accumulator_type acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

◆ verify()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
bool nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::verify ( internal_accumulator_type acc,
const signature_type sig 
) const
inline

Member Data Documentation

◆ pubkey

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
public_key_type nil::crypto3::pubkey::public_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::pubkey
protected

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