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

#include <r1cs_sp_ppzkpcd.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::r1cs_sp_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_sp_ppzkpcd_processed_verification_key< PCD_ppT > & operator= (const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
 
bool operator== (const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other) const
 
 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 (typename r1cs_ppzksnark< A_pp >::processed_verification_key_type &&compliance_step_r1cs_pvk, typename r1cs_ppzksnark< B_pp >::processed_verification_key_type &&translation_step_r1cs_pvk, const std::vector< bool > &translation_step_r1cs_vk_bits)
 
std::size_t size_in_bits () const
 

Public Attributes

r1cs_ppzksnark< A_pp >::processed_verification_key_type compliance_step_r1cs_pvk
 
r1cs_ppzksnark< B_pp >::processed_verification_key_type translation_step_r1cs_pvk
 
std::vector< bool > translation_step_r1cs_vk_bits
 

Detailed Description

template<typename PCD_ppT>
class nil::crypto3::zk::snark::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.

Member Typedef Documentation

◆ A_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_A_pp nil::crypto3::zk::snark::r1cs_sp_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_sp_ppzkpcd_processed_verification_key< PCD_ppT >::B_pp

Constructor & Destructor Documentation

◆ r1cs_sp_ppzkpcd_processed_verification_key() [1/4]

◆ 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 >
nil::crypto3::zk::snark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::r1cs_sp_ppzkpcd_processed_verification_key ( typename r1cs_ppzksnark< A_pp >::processed_verification_key_type &&  compliance_step_r1cs_pvk,
typename r1cs_ppzksnark< B_pp >::processed_verification_key_type &&  translation_step_r1cs_pvk,
const std::vector< bool > &  translation_step_r1cs_vk_bits 
)
inline

Member Function Documentation

◆ operator=()

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

◆ operator==()

template<typename PCD_ppT >
bool nil::crypto3::zk::snark::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 >
std::size_t nil::crypto3::zk::snark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::size_in_bits ( ) const
inline

Member Data Documentation

◆ compliance_step_r1cs_pvk

template<typename PCD_ppT >
r1cs_ppzksnark<A_pp>::processed_verification_key_type nil::crypto3::zk::snark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::compliance_step_r1cs_pvk

◆ translation_step_r1cs_pvk

template<typename PCD_ppT >
r1cs_ppzksnark<B_pp>::processed_verification_key_type nil::crypto3::zk::snark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::translation_step_r1cs_pvk

◆ translation_step_r1cs_vk_bits

template<typename PCD_ppT >
std::vector<bool> nil::crypto3::zk::snark::r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT >::translation_step_r1cs_vk_bits

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