nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > > Struct Template Reference

#include <elgamal_verifiable.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >:

Public Types

typedef Curve::template g1_type g1_type
 
typedef Curve::template g2_type g2_type
 
typedef elgamal_verifiable< Curve, BlockBits > scheme_type
 

Public Member Functions

public_keyoperator= (const public_key &other)=default
 
bool operator== (const public_key &other) const
 
 public_key ()=default
 
 public_key (const public_key &other)=default
 
 public_key (const typename g1_type::value_type &delta_g1, const std::vector< typename g1_type::value_type > &delta_s_g1, const std::vector< typename g1_type::value_type > &t_g1, const std::vector< typename g2_type::value_type > &t_g2, const typename g1_type::value_type &delta_sum_s_g1, const typename g1_type::value_type &gamma_inverse_sum_s_g1)
 
 public_key (public_key &&other)=default
 
 public_key (typename g1_type::value_type &&delta_g1, std::vector< typename g1_type::value_type > &&delta_s_g1, std::vector< typename g1_type::value_type > &&t_g1, std::vector< typename g2_type::value_type > &&t_g2, typename g1_type::value_type &&delta_sum_s_g1, typename g1_type::value_type &&gamma_inverse_sum_s_g1)
 

Public Attributes

g1_type::value_type delta_g1
 
std::vector< typename g1_type::value_type > delta_s_g1
 
g1_type::value_type delta_sum_s_g1
 
g1_type::value_type gamma_inverse_sum_s_g1
 
std::vector< typename g1_type::value_type > t_g1
 
std::vector< typename g2_type::value_type > t_g2
 

Member Typedef Documentation

◆ g1_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::template g1_type nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::g1_type

◆ g2_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::template g2_type nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::g2_type

◆ scheme_type

template<typename Curve , std::size_t BlockBits>
typedef elgamal_verifiable<Curve, BlockBits> nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::scheme_type

Constructor & Destructor Documentation

◆ public_key() [1/5]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::public_key ( )
default

◆ public_key() [2/5]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::public_key ( const public_key< elgamal_verifiable< Curve, BlockBits > > &  other)
default

◆ public_key() [3/5]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::public_key ( public_key< elgamal_verifiable< Curve, BlockBits > > &&  other)
default

◆ public_key() [4/5]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::public_key ( const typename g1_type::value_type &  delta_g1,
const std::vector< typename g1_type::value_type > &  delta_s_g1,
const std::vector< typename g1_type::value_type > &  t_g1,
const std::vector< typename g2_type::value_type > &  t_g2,
const typename g1_type::value_type &  delta_sum_s_g1,
const typename g1_type::value_type &  gamma_inverse_sum_s_g1 
)
inline

◆ public_key() [5/5]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::public_key ( typename g1_type::value_type &&  delta_g1,
std::vector< typename g1_type::value_type > &&  delta_s_g1,
std::vector< typename g1_type::value_type > &&  t_g1,
std::vector< typename g2_type::value_type > &&  t_g2,
typename g1_type::value_type &&  delta_sum_s_g1,
typename g1_type::value_type &&  gamma_inverse_sum_s_g1 
)
inline

Member Function Documentation

◆ operator=()

template<typename Curve , std::size_t BlockBits>
public_key& nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::operator= ( const public_key< elgamal_verifiable< Curve, BlockBits > > &  other)
default

◆ operator==()

template<typename Curve , std::size_t BlockBits>
bool nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::operator== ( const public_key< elgamal_verifiable< Curve, BlockBits > > &  other) const
inline

Member Data Documentation

◆ delta_g1

template<typename Curve , std::size_t BlockBits>
g1_type::value_type nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::delta_g1

◆ delta_s_g1

template<typename Curve , std::size_t BlockBits>
std::vector<typename g1_type::value_type> nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::delta_s_g1

◆ delta_sum_s_g1

template<typename Curve , std::size_t BlockBits>
g1_type::value_type nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::delta_sum_s_g1

◆ gamma_inverse_sum_s_g1

template<typename Curve , std::size_t BlockBits>
g1_type::value_type nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::gamma_inverse_sum_s_g1

◆ t_g1

template<typename Curve , std::size_t BlockBits>
std::vector<typename g1_type::value_type> nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::t_g1

◆ t_g2

template<typename Curve , std::size_t BlockBits>
std::vector<typename g2_type::value_type> nil::crypto3::pubkey::public_key< elgamal_verifiable< Curve, BlockBits > >::t_g2

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