nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > > Struct Template Reference

#include <ecdsa.hpp>

+ Inheritance diagram for nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >:
+ Collaboration diagram for nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >:

Public Types

typedef curve_type::base_field_type::integral_type base_integral_type
 
typedef policy_type::curve_type curve_type
 
typedef curve_type::template g1_type g1_type
 
typedef g1_type::value_type g1_value_type
 
typedef padding::encoding_accumulator_set< padding_policyinternal_accumulator_type
 
typedef policy_type::padding_policy padding_policy
 
typedef ecdsa< CurveType, Padding, GeneratorType, DistributionType > policy_type
 
typedef g1_value_type public_key_type
 
typedef curve_type::scalar_field_type scalar_field_type
 
typedef scalar_field_type::value_type scalar_field_value_type
 
typedef scalar_field_type::modular_type scalar_modular_type
 
typedef std::pair< scalar_field_value_type, scalar_field_value_typesignature_type
 

Public Member Functions

public_key_type pubkey_data () const
 
 public_key (const public_key_type &key)
 
template<typename InputRange >
void update (internal_accumulator_type &acc, const InputRange &range) const
 
template<typename InputIterator >
void update (internal_accumulator_type &acc, InputIterator first, InputIterator last) const
 
bool verify (internal_accumulator_type &acc, const signature_type &signature) const
 

Static Public Member Functions

static void init_accumulator (internal_accumulator_type &acc)
 

Protected Attributes

public_key_type pubkey
 

Member Typedef Documentation

◆ base_integral_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef curve_type::base_field_type::integral_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::base_integral_type

◆ curve_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef policy_type::curve_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::curve_type

◆ g1_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef curve_type::template g1_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::g1_type

◆ g1_value_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef g1_type::value_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::g1_value_type

◆ internal_accumulator_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef padding::encoding_accumulator_set<padding_policy> nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::internal_accumulator_type

◆ padding_policy

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef policy_type::padding_policy nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::padding_policy

◆ policy_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef ecdsa<CurveType, Padding, GeneratorType, DistributionType> nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::policy_type

◆ public_key_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef g1_value_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::public_key_type

◆ scalar_field_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef curve_type::scalar_field_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::scalar_field_type

◆ scalar_field_value_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef scalar_field_type::value_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::scalar_field_value_type

◆ scalar_modular_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef scalar_field_type::modular_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::scalar_modular_type

◆ signature_type

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
typedef std::pair<scalar_field_value_type, scalar_field_value_type> nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::signature_type

Constructor & Destructor Documentation

◆ public_key()

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::public_key ( const public_key_type key)
inline

Member Function Documentation

◆ init_accumulator()

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
static void nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::init_accumulator ( internal_accumulator_type acc)
inlinestatic

◆ pubkey_data()

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
public_key_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::pubkey_data ( ) const
inline

◆ update() [1/2]

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
template<typename InputRange >
void nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::update ( internal_accumulator_type acc,
const InputRange &  range 
) const
inline

◆ update() [2/2]

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
template<typename InputIterator >
void nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::update ( internal_accumulator_type acc,
InputIterator  first,
InputIterator  last 
) const
inline

◆ verify()

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
bool nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::verify ( internal_accumulator_type acc,
const signature_type signature 
) const
inline

Member Data Documentation

◆ pubkey

template<typename CurveType , typename Padding , typename GeneratorType , typename DistributionType >
public_key_type nil::crypto3::pubkey::public_key< ecdsa< CurveType, Padding, GeneratorType, DistributionType > >::pubkey
protected

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