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

#include <r1cs_sp_ppzkpcd.hpp>

Collaboration diagram for libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >:
Collaboration graph
[legend]

Public Types

typedef PCD_ppT::curve_A_pp A_pp
 
typedef PCD_ppT::curve_B_pp B_pp
 

Public Member Functions

 r1cs_sp_ppzkpcd_processed_verification_key ()
 
 r1cs_sp_ppzkpcd_processed_verification_key (const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
 
 r1cs_sp_ppzkpcd_processed_verification_key (r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &&other)=default
 
 r1cs_sp_ppzkpcd_processed_verification_key (r1cs_ppzksnark_processed_verification_key< A_pp > &&compliance_step_r1cs_pvk, r1cs_ppzksnark_processed_verification_key< B_pp > &&translation_step_r1cs_pvk, const libff::bit_vector &translation_step_r1cs_vk_bits)
 
r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > & operator= (const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
 
size_t size_in_bits () const
 
bool operator== (const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other) const
 

Public Attributes

r1cs_ppzksnark_processed_verification_key< A_ppcompliance_step_r1cs_pvk
 
r1cs_ppzksnark_processed_verification_key< B_pptranslation_step_r1cs_pvk
 
libff::bit_vector translation_step_r1cs_vk_bits
 

Friends

std::ostream & operator (std::ostream &out, const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &pvk)
 
std::istream & operator>> (std::istream &in, r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &pvk)
 

Detailed Description

template<typename PCD_ppT>
class libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >

A processed verification key for the R1CS (single-predicate) ppzkPCD.

Compared to a (non-processed) verification key, a processed verification key contains a small constant amount of additional pre-computed information that enables a faster verification time.

Definition at line 173 of file r1cs_sp_ppzkpcd.hpp.

Member Typedef Documentation

◆ A_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_A_pp libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::A_pp

Definition at line 194 of file r1cs_sp_ppzkpcd.hpp.

◆ B_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_B_pp libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::B_pp

Definition at line 195 of file r1cs_sp_ppzkpcd.hpp.

Constructor & Destructor Documentation

◆ r1cs_sp_ppzkpcd_processed_verification_key() [1/4]

Definition at line 201 of file r1cs_sp_ppzkpcd.hpp.

201 {};

◆ r1cs_sp_ppzkpcd_processed_verification_key() [2/4]

◆ r1cs_sp_ppzkpcd_processed_verification_key() [3/4]

◆ r1cs_sp_ppzkpcd_processed_verification_key() [4/4]

template<typename PCD_ppT >
libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::r1cs_sp_ppzkpcd_processed_verification_key ( r1cs_ppzksnark_processed_verification_key< A_pp > &&  compliance_step_r1cs_pvk,
r1cs_ppzksnark_processed_verification_key< B_pp > &&  translation_step_r1cs_pvk,
const libff::bit_vector &  translation_step_r1cs_vk_bits 
)
inline

Member Function Documentation

◆ operator=()

◆ operator==()

template<typename PCD_ppT >
bool libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::operator== ( const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &  other) const

◆ size_in_bits()

template<typename PCD_ppT >
size_t libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::size_in_bits ( ) const
inline

Definition at line 222 of file r1cs_sp_ppzkpcd.hpp.

223  {
224  return (
225  compliance_step_r1cs_pvk.size_in_bits() +
226  translation_step_r1cs_pvk.size_in_bits() +
228  }

Friends And Related Function Documentation

◆ operator

template<typename PCD_ppT >
std::ostream& operator ( std::ostream &  out,
const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &  pvk 
)
friend

◆ operator>>

template<typename PCD_ppT >
std::istream& operator>> ( std::istream &  in,
r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &  pvk 
)
friend

Member Data Documentation

◆ compliance_step_r1cs_pvk

template<typename PCD_ppT >
r1cs_ppzksnark_processed_verification_key<A_pp> libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::compliance_step_r1cs_pvk

Definition at line 197 of file r1cs_sp_ppzkpcd.hpp.

◆ translation_step_r1cs_pvk

template<typename PCD_ppT >
r1cs_ppzksnark_processed_verification_key<B_pp> libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::translation_step_r1cs_pvk

Definition at line 198 of file r1cs_sp_ppzkpcd.hpp.

◆ translation_step_r1cs_vk_bits

template<typename PCD_ppT >
libff::bit_vector libsnark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::translation_step_r1cs_vk_bits

Definition at line 199 of file r1cs_sp_ppzkpcd.hpp.


The documentation for this class was generated from the following file:
libsnark::r1cs_sp_ppzkpcd_processed_verification_key::translation_step_r1cs_pvk
r1cs_ppzksnark_processed_verification_key< B_pp > translation_step_r1cs_pvk
Definition: r1cs_sp_ppzkpcd.hpp:198
libsnark::r1cs_sp_ppzkpcd_processed_verification_key::compliance_step_r1cs_pvk
r1cs_ppzksnark_processed_verification_key< A_pp > compliance_step_r1cs_pvk
Definition: r1cs_sp_ppzkpcd.hpp:197
libsnark::r1cs_sp_ppzkpcd_processed_verification_key::translation_step_r1cs_vk_bits
libff::bit_vector translation_step_r1cs_vk_bits
Definition: r1cs_sp_ppzkpcd.hpp:199