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

#include <bls.hpp>

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

Public Types

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

Public Member Functions

void init_accumulator (internal_accumulator_type &acc) const
 
template<typename ToPublicParams , template< typename > class ToBlsScheme>
 operator private_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >> () const
 
template<typename ToPublicParams , template< typename > class ToBlsScheme>
 operator public_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >> () const
 
signature_type pop_prove () const
 
template<typename FakeAccumulator >
bool pop_verify (FakeAccumulator, const signature_type &proof) const
 
 private_key ()=delete
 
 private_key (const key_type &privkey)
 
public_key_type public_key_data () const
 
signature_type sign (internal_accumulator_type &acc) 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

private_key_type privkey
 
public_key_type pubkey
 

Member Typedef Documentation

◆ base_type

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

◆ 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::private_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::private_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 private_key_type nil::crypto3::pubkey::private_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 base_type::private_key_type nil::crypto3::pubkey::private_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
inherited

◆ public_key_type

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
typedef base_type::public_key_type nil::crypto3::pubkey::private_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::private_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
inherited

◆ signature_type

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

Constructor & Destructor Documentation

◆ private_key() [1/2]

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

◆ private_key() [2/2]

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

Member Function Documentation

◆ init_accumulator()

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

◆ operator private_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::private_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::operator private_key< bls< ToPublicParams, BlsVersion, ToBlsScheme, CurveType >> ( ) 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
inlineinherited

◆ pop_prove()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
signature_type nil::crypto3::pubkey::private_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::pop_prove ( ) 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
inlineinherited

◆ 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
inlineinherited

◆ sign()

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
signature_type nil::crypto3::pubkey::private_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::sign ( internal_accumulator_type acc) 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::private_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::private_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
inlineinherited

Member Data Documentation

◆ privkey

template<typename PublicParams , template< typename, typename > class BlsVersion, template< typename > class BlsScheme, typename CurveType >
private_key_type nil::crypto3::pubkey::private_key< bls< PublicParams, BlsVersion, BlsScheme, CurveType > >::privkey
protected

◆ 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
protectedinherited

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