Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
libsnark::uscs_ppzksnark_verification_key< ppT > Class Template Reference

#include <uscs_ppzksnark.hpp>

Collaboration diagram for libsnark::uscs_ppzksnark_verification_key< ppT >:
Collaboration graph
[legend]

Public Member Functions

 uscs_ppzksnark_verification_key ()=default
 
 uscs_ppzksnark_verification_key (const libff::G2< ppT > &tilde_g2, const libff::G2< ppT > &alpha_tilde_g2, const libff::G2< ppT > &Z_g2, const accumulation_vector< libff::G1< ppT >> &eIC)
 
size_t G1_size () const
 
size_t G2_size () const
 
size_t size_in_bits () const
 
void print_size () const
 
bool operator== (const uscs_ppzksnark_verification_key< ppT > &other) const
 

Static Public Member Functions

static uscs_ppzksnark_verification_key< ppT > dummy_verification_key (const size_t input_size)
 

Public Attributes

libff::G2< ppT > tilde_g2
 
libff::G2< ppT > alpha_tilde_g2
 
libff::G2< ppT > Z_g2
 
accumulation_vector< libff::G1< ppT > > encoded_IC_query
 

Friends

std::ostream & operator (std::ostream &out, const uscs_ppzksnark_verification_key< ppT > &vk)
 
std::istream & operator>> (std::istream &in, uscs_ppzksnark_verification_key< ppT > &vk)
 

Detailed Description

template<typename ppT>
class libsnark::uscs_ppzksnark_verification_key< ppT >

A verification key for the USCS ppzkSNARK.

Definition at line 143 of file uscs_ppzksnark.hpp.

Constructor & Destructor Documentation

◆ uscs_ppzksnark_verification_key() [1/2]

◆ uscs_ppzksnark_verification_key() [2/2]

template<typename ppT >
libsnark::uscs_ppzksnark_verification_key< ppT >::uscs_ppzksnark_verification_key ( const libff::G2< ppT > &  tilde_g2,
const libff::G2< ppT > &  alpha_tilde_g2,
const libff::G2< ppT > &  Z_g2,
const accumulation_vector< libff::G1< ppT >> &  eIC 
)
inline

Definition at line 166 of file uscs_ppzksnark.hpp.

171  : tilde_g2(tilde_g2)
173  , Z_g2(Z_g2)
174  , encoded_IC_query(eIC){};

Member Function Documentation

◆ dummy_verification_key()

template<typename ppT >
static uscs_ppzksnark_verification_key<ppT> libsnark::uscs_ppzksnark_verification_key< ppT >::dummy_verification_key ( const size_t  input_size)
static

◆ G1_size()

template<typename ppT >
size_t libsnark::uscs_ppzksnark_verification_key< ppT >::G1_size ( ) const
inline

Definition at line 176 of file uscs_ppzksnark.hpp.

176 { return encoded_IC_query.size(); }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ G2_size()

template<typename ppT >
size_t libsnark::uscs_ppzksnark_verification_key< ppT >::G2_size ( ) const
inline

Definition at line 178 of file uscs_ppzksnark.hpp.

178 { return 3; }
Here is the caller graph for this function:

◆ operator==()

template<typename ppT >
bool libsnark::uscs_ppzksnark_verification_key< ppT >::operator== ( const uscs_ppzksnark_verification_key< ppT > &  other) const

◆ print_size()

template<typename ppT >
void libsnark::uscs_ppzksnark_verification_key< ppT >::print_size ( ) const
inline

Definition at line 186 of file uscs_ppzksnark.hpp.

187  {
188  libff::print_indent();
189  printf("* G1 elements in VK: %zu\n", this->G1_size());
190  libff::print_indent();
191  printf("* G2 elements in VK: %zu\n", this->G2_size());
192  libff::print_indent();
193  printf("* VK size in bits: %zu\n", this->size_in_bits());
194  }
Here is the call graph for this function:

◆ size_in_bits()

template<typename ppT >
size_t libsnark::uscs_ppzksnark_verification_key< ppT >::size_in_bits ( ) const
inline

Definition at line 180 of file uscs_ppzksnark.hpp.

181  {
182  return encoded_IC_query.size_in_bits() +
183  3 * libff::G2<ppT>::size_in_bits();
184  }
Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator

template<typename ppT >
std::ostream& operator ( std::ostream &  out,
const uscs_ppzksnark_verification_key< ppT > &  vk 
)
friend

◆ operator>>

template<typename ppT >
std::istream& operator>> ( std::istream &  in,
uscs_ppzksnark_verification_key< ppT > &  vk 
)
friend

Member Data Documentation

◆ alpha_tilde_g2

template<typename ppT >
libff::G2<ppT> libsnark::uscs_ppzksnark_verification_key< ppT >::alpha_tilde_g2

Definition at line 160 of file uscs_ppzksnark.hpp.

◆ encoded_IC_query

template<typename ppT >
accumulation_vector<libff::G1<ppT> > libsnark::uscs_ppzksnark_verification_key< ppT >::encoded_IC_query

Definition at line 163 of file uscs_ppzksnark.hpp.

◆ tilde_g2

template<typename ppT >
libff::G2<ppT> libsnark::uscs_ppzksnark_verification_key< ppT >::tilde_g2

Definition at line 159 of file uscs_ppzksnark.hpp.

◆ Z_g2

template<typename ppT >
libff::G2<ppT> libsnark::uscs_ppzksnark_verification_key< ppT >::Z_g2

Definition at line 161 of file uscs_ppzksnark.hpp.


The documentation for this class was generated from the following file:
libsnark::uscs_ppzksnark_verification_key::encoded_IC_query
accumulation_vector< libff::G1< ppT > > encoded_IC_query
Definition: uscs_ppzksnark.hpp:163
libsnark::uscs_ppzksnark_verification_key::Z_g2
libff::G2< ppT > Z_g2
Definition: uscs_ppzksnark.hpp:161
libsnark::uscs_ppzksnark_verification_key::alpha_tilde_g2
libff::G2< ppT > alpha_tilde_g2
Definition: uscs_ppzksnark.hpp:160
libsnark::uscs_ppzksnark_verification_key::G2_size
size_t G2_size() const
Definition: uscs_ppzksnark.hpp:178
libsnark::uscs_ppzksnark_verification_key::size_in_bits
size_t size_in_bits() const
Definition: uscs_ppzksnark.hpp:180
libsnark::accumulation_vector::size_in_bits
size_t size_in_bits() const
libsnark::uscs_ppzksnark_verification_key::G1_size
size_t G1_size() const
Definition: uscs_ppzksnark.hpp:176
libsnark::uscs_ppzksnark_verification_key::tilde_g2
libff::G2< ppT > tilde_g2
Definition: uscs_ppzksnark.hpp:159
libsnark::accumulation_vector::size
size_t size() const