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

#include <r1cs_se_ppzksnark.hpp>

Public Member Functions

 r1cs_se_ppzksnark_verification_key ()=default
 
 r1cs_se_ppzksnark_verification_key (const libff::G2< ppT > &H, const libff::G1< ppT > &G_alpha, const libff::G2< ppT > &H_beta, const libff::G1< ppT > &G_gamma, const libff::G2< ppT > &H_gamma, libff::G1_vector< ppT > &&query)
 
size_t G1_size () const
 
size_t G2_size () const
 
size_t size_in_bits () const
 
void print_size () const
 
bool operator== (const r1cs_se_ppzksnark_verification_key< ppT > &other) const
 

Static Public Member Functions

static r1cs_se_ppzksnark_verification_key< ppT > dummy_verification_key (const size_t input_size)
 

Public Attributes

libff::G2< ppT > H
 
libff::G1< ppT > G_alpha
 
libff::G2< ppT > H_beta
 
libff::G1< ppT > G_gamma
 
libff::G2< ppT > H_gamma
 
libff::G1_vector< ppT > query
 

Friends

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

Detailed Description

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

A verification key for the R1CS SEppzkSNARK.

Definition at line 171 of file r1cs_se_ppzksnark.hpp.

Constructor & Destructor Documentation

◆ r1cs_se_ppzksnark_verification_key() [1/2]

◆ r1cs_se_ppzksnark_verification_key() [2/2]

template<typename ppT >
libsnark::r1cs_se_ppzksnark_verification_key< ppT >::r1cs_se_ppzksnark_verification_key ( const libff::G2< ppT > &  H,
const libff::G1< ppT > &  G_alpha,
const libff::G2< ppT > &  H_beta,
const libff::G1< ppT > &  G_gamma,
const libff::G2< ppT > &  H_gamma,
libff::G1_vector< ppT > &&  query 
)
inline

Definition at line 207 of file r1cs_se_ppzksnark.hpp.

214  : H(H)
215  , G_alpha(G_alpha)
216  , H_beta(H_beta)
217  , G_gamma(G_gamma)
218  , H_gamma(H_gamma)
219  , query(std::move(query)){};

Member Function Documentation

◆ dummy_verification_key()

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

◆ G1_size()

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

Definition at line 221 of file r1cs_se_ppzksnark.hpp.

221 { return 2 + query.size(); }
Here is the caller graph for this function:

◆ G2_size()

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

Definition at line 223 of file r1cs_se_ppzksnark.hpp.

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

◆ operator==()

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

◆ print_size()

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

Definition at line 232 of file r1cs_se_ppzksnark.hpp.

233  {
234  libff::print_indent();
235  printf("* G1 elements in VK: %zu\n", this->G1_size());
236  libff::print_indent();
237  printf("* G2 elements in VK: %zu\n", this->G2_size());
238  libff::print_indent();
239  printf("* VK size in bits: %zu\n", this->size_in_bits());
240  }
Here is the call graph for this function:

◆ size_in_bits()

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

Definition at line 225 of file r1cs_se_ppzksnark.hpp.

226  {
227  return (
228  G1_size() * libff::G1<ppT>::size_in_bits() +
229  G2_size() * libff::G2<ppT>::size_in_bits());
230  }
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 r1cs_se_ppzksnark_verification_key< ppT > &  vk 
)
friend

◆ operator>>

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

Member Data Documentation

◆ G_alpha

template<typename ppT >
libff::G1<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::G_alpha

Definition at line 191 of file r1cs_se_ppzksnark.hpp.

◆ G_gamma

template<typename ppT >
libff::G1<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::G_gamma

Definition at line 197 of file r1cs_se_ppzksnark.hpp.

◆ H

template<typename ppT >
libff::G2<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::H

Definition at line 188 of file r1cs_se_ppzksnark.hpp.

◆ H_beta

template<typename ppT >
libff::G2<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::H_beta

Definition at line 194 of file r1cs_se_ppzksnark.hpp.

◆ H_gamma

template<typename ppT >
libff::G2<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::H_gamma

Definition at line 200 of file r1cs_se_ppzksnark.hpp.

◆ query

template<typename ppT >
libff::G1_vector<ppT> libsnark::r1cs_se_ppzksnark_verification_key< ppT >::query

Definition at line 204 of file r1cs_se_ppzksnark.hpp.


The documentation for this class was generated from the following file:
libsnark::r1cs_se_ppzksnark_verification_key::G2_size
size_t G2_size() const
Definition: r1cs_se_ppzksnark.hpp:223
libsnark::r1cs_se_ppzksnark_verification_key::G1_size
size_t G1_size() const
Definition: r1cs_se_ppzksnark.hpp:221
libsnark::r1cs_se_ppzksnark_verification_key::G_alpha
libff::G1< ppT > G_alpha
Definition: r1cs_se_ppzksnark.hpp:191
libsnark::r1cs_se_ppzksnark_verification_key::H_gamma
libff::G2< ppT > H_gamma
Definition: r1cs_se_ppzksnark.hpp:200
libsnark::r1cs_se_ppzksnark_verification_key::H_beta
libff::G2< ppT > H_beta
Definition: r1cs_se_ppzksnark.hpp:194
libsnark::r1cs_se_ppzksnark_verification_key::query
libff::G1_vector< ppT > query
Definition: r1cs_se_ppzksnark.hpp:204
libsnark::r1cs_se_ppzksnark_verification_key::G_gamma
libff::G1< ppT > G_gamma
Definition: r1cs_se_ppzksnark.hpp:197
libsnark::r1cs_se_ppzksnark_verification_key::size_in_bits
size_t size_in_bits() const
Definition: r1cs_se_ppzksnark.hpp:225
libsnark::r1cs_se_ppzksnark_verification_key::H
libff::G2< ppT > H
Definition: r1cs_se_ppzksnark.hpp:188