nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > Class Template Reference

#include <r1cs_mp_ppzkpcd.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >:

Public Types

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

Public Member Functions

r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > & operator= (const r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
 
bool operator== (const r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &other) const
 
 r1cs_mp_ppzkpcd_processed_verification_key ()=default
 
 r1cs_mp_ppzkpcd_processed_verification_key (const r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
 
 r1cs_mp_ppzkpcd_processed_verification_key (r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &&other)=default
 
 r1cs_mp_ppzkpcd_processed_verification_key (std::vector< typename r1cs_ppzksnark< A_pp >::processed_verification_key_type > &&compliance_step_r1cs_pvks, std::vector< typename r1cs_ppzksnark< B_pp >::processed_verification_key_type > &&translation_step_r1cs_pvks, const set_commitment &commitment_to_translation_step_r1cs_vks)
 
std::size_t size_in_bits () const
 

Public Attributes

set_commitment commitment_to_translation_step_r1cs_vks
 
std::vector< typename r1cs_ppzksnark< A_pp >::processed_verification_key_type > compliance_step_r1cs_pvks
 
std::vector< typename r1cs_ppzksnark< B_pp >::processed_verification_key_type > translation_step_r1cs_pvks
 

Detailed Description

template<typename PCD_ppT>
class nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >

A processed verification key for the R1CS (multi-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.

Member Typedef Documentation

◆ A_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_A_pp nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::A_pp

◆ B_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_B_pp nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::B_pp

Constructor & Destructor Documentation

◆ r1cs_mp_ppzkpcd_processed_verification_key() [1/4]

◆ r1cs_mp_ppzkpcd_processed_verification_key() [2/4]

◆ r1cs_mp_ppzkpcd_processed_verification_key() [3/4]

◆ r1cs_mp_ppzkpcd_processed_verification_key() [4/4]

template<typename PCD_ppT >
nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::r1cs_mp_ppzkpcd_processed_verification_key ( std::vector< typename r1cs_ppzksnark< A_pp >::processed_verification_key_type > &&  compliance_step_r1cs_pvks,
std::vector< typename r1cs_ppzksnark< B_pp >::processed_verification_key_type > &&  translation_step_r1cs_pvks,
const set_commitment commitment_to_translation_step_r1cs_vks 
)
inline

Member Function Documentation

◆ operator=()

template<typename PCD_ppT >
r1cs_mp_ppzkpcd_processed_verification_key<PCD_ppT>& nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::operator= ( const r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &  other)
default

◆ operator==()

template<typename PCD_ppT >
bool nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::operator== ( const r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT > &  other) const

◆ size_in_bits()

template<typename PCD_ppT >
std::size_t nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::size_in_bits

Member Data Documentation

◆ commitment_to_translation_step_r1cs_vks

template<typename PCD_ppT >
set_commitment nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::commitment_to_translation_step_r1cs_vks

◆ compliance_step_r1cs_pvks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<A_pp>::processed_verification_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::compliance_step_r1cs_pvks

◆ translation_step_r1cs_pvks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<B_pp>::processed_verification_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_processed_verification_key< PCD_ppT >::translation_step_r1cs_pvks

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