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

#include <elgamal_verifiable.hpp>

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

Public Types

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

Public Member Functions

 verification_key ()=default
 
 verification_key (const typename g2_type::value_type &rho_g2, const std::vector< typename g2_type::value_type > &rho_sv_g2, const std::vector< typename g2_type::value_type > &rho_rhov_g2)
 
 verification_key (typename g2_type::value_type &&rho_g2, std::vector< typename g2_type::value_type > &&rho_sv_g2, std::vector< typename g2_type::value_type > &&rho_rhov_g2)
 

Public Attributes

g2_type::value_type rho_g2
 
std::vector< typename g2_type::value_type > rho_rhov_g2
 
std::vector< typename g2_type::value_type > rho_sv_g2
 

Friends

class decrypt_op< scheme_type >
 
class verify_decryption_op< scheme_type >
 

Member Typedef Documentation

◆ g2_type

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

◆ scheme_type

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

Constructor & Destructor Documentation

◆ verification_key() [1/3]

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

◆ verification_key() [2/3]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::verification_key< elgamal_verifiable< Curve, BlockBits > >::verification_key ( const typename g2_type::value_type &  rho_g2,
const std::vector< typename g2_type::value_type > &  rho_sv_g2,
const std::vector< typename g2_type::value_type > &  rho_rhov_g2 
)
inline

◆ verification_key() [3/3]

template<typename Curve , std::size_t BlockBits>
nil::crypto3::pubkey::verification_key< elgamal_verifiable< Curve, BlockBits > >::verification_key ( typename g2_type::value_type &&  rho_g2,
std::vector< typename g2_type::value_type > &&  rho_sv_g2,
std::vector< typename g2_type::value_type > &&  rho_rhov_g2 
)
inline

Friends And Related Function Documentation

◆ decrypt_op< scheme_type >

template<typename Curve , std::size_t BlockBits>
friend class decrypt_op< scheme_type >
friend

◆ verify_decryption_op< scheme_type >

template<typename Curve , std::size_t BlockBits>
friend class verify_decryption_op< scheme_type >
friend

Member Data Documentation

◆ rho_g2

template<typename Curve , std::size_t BlockBits>
g2_type::value_type nil::crypto3::pubkey::verification_key< elgamal_verifiable< Curve, BlockBits > >::rho_g2

◆ rho_rhov_g2

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

◆ rho_sv_g2

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

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