nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType > Class Template Reference

#include <verifier.hpp>

+ Inheritance diagram for nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >:
+ Collaboration diagram for nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >:

Public Types

typedef CurveType::scalar_field_type FieldType
 

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
 r1cs_ppzksnark_online_verifier_component (blueprint< FieldType > &bp, const r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< CurveType > &pvk, const blueprint_variable_vector< FieldType > &input, const std::size_t elt_size, const r1cs_ppzksnark_proof_variable< CurveType > &proof, const blueprint_variable< FieldType > &result)
 

Public Attributes

std::shared_ptr< element_g1< CurveType > > acc
 
std::shared_ptr< G1_multiscalar_mul_component< CurveType > > accumulate_input
 
blueprint_variable_vector< FieldTypeall_test_results
 
std::shared_ptr< conjunction< FieldType > > all_tests_pass
 
blueprint_variable< FieldTypeCC_valid
 
std::shared_ptr< check_e_equals_ee_component< CurveType > > check_CC_valid
 
std::shared_ptr< check_e_equals_e_component< CurveType > > check_kc_A_valid
 
std::shared_ptr< check_e_equals_e_component< CurveType > > check_kc_B_valid
 
std::shared_ptr< check_e_equals_e_component< CurveType > > check_kc_C_valid
 
std::shared_ptr< check_e_equals_ee_component< CurveType > > check_QAP_valid
 
std::shared_ptr< element_g1_add< CurveType > > compute_proof_g_A_g_acc
 
std::shared_ptr< element_g1_add< CurveType > > compute_proof_g_A_g_acc_C
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_A_g_acc_C_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_A_g_acc_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_A_g_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_A_h_precomp
 
std::shared_ptr< precompute_G2_component< CurveType > > compute_proof_g_B_g_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_B_h_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_C_g_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_C_h_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_H_precomp
 
std::shared_ptr< precompute_G1_component< CurveType > > compute_proof_g_K_precomp
 
std::size_t elt_size
 
blueprint_variable_vector< FieldTypeinput
 
const std::size_t input_len
 
blueprint_variable< FieldTypekc_A_valid
 
blueprint_variable< FieldTypekc_B_valid
 
blueprint_variable< FieldTypekc_C_valid
 
r1cs_ppzksnark_proof_variable< CurveType > proof
 
std::shared_ptr< element_g1< CurveType > > proof_g_A_g_acc
 
std::shared_ptr< element_g1< CurveType > > proof_g_A_g_acc_C
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_A_g_acc_C_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_A_g_acc_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_A_g_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_A_h_precomp
 
std::shared_ptr< g2_precomputation< CurveType > > proof_g_B_g_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_B_h_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_C_g_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_C_h_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_H_precomp
 
std::shared_ptr< g1_precomputation< CurveType > > proof_g_K_precomp
 
r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< CurveType > pvk
 
blueprint_variable< FieldTypeQAP_valid
 
blueprint_variable< FieldTyperesult
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Member Typedef Documentation

◆ FieldType

template<typename CurveType >
typedef CurveType::scalar_field_type nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::FieldType

Constructor & Destructor Documentation

◆ r1cs_ppzksnark_online_verifier_component()

template<typename CurveType >
nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::r1cs_ppzksnark_online_verifier_component ( blueprint< FieldType > &  bp,
const r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< CurveType > &  pvk,
const blueprint_variable_vector< FieldType > &  input,
const std::size_t  elt_size,
const r1cs_ppzksnark_proof_variable< CurveType > &  proof,
const blueprint_variable< FieldType > &  result 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::generate_r1cs_witness ( )
inline

Member Data Documentation

◆ acc

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::acc

◆ accumulate_input

template<typename CurveType >
std::shared_ptr<G1_multiscalar_mul_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::accumulate_input

◆ all_test_results

template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::all_test_results

◆ all_tests_pass

template<typename CurveType >
std::shared_ptr<conjunction<FieldType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::all_tests_pass

◆ bp

blueprint<CurveType::scalar_field_type >& nil::crypto3::zk::components::component< CurveType::scalar_field_type >::bp
protectedinherited

◆ CC_valid

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::CC_valid

◆ check_CC_valid

template<typename CurveType >
std::shared_ptr<check_e_equals_ee_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::check_CC_valid

◆ check_kc_A_valid

template<typename CurveType >
std::shared_ptr<check_e_equals_e_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::check_kc_A_valid

◆ check_kc_B_valid

template<typename CurveType >
std::shared_ptr<check_e_equals_e_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::check_kc_B_valid

◆ check_kc_C_valid

template<typename CurveType >
std::shared_ptr<check_e_equals_e_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::check_kc_C_valid

◆ check_QAP_valid

template<typename CurveType >
std::shared_ptr<check_e_equals_ee_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::check_QAP_valid

◆ compute_proof_g_A_g_acc

template<typename CurveType >
std::shared_ptr<element_g1_add<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_g_acc

◆ compute_proof_g_A_g_acc_C

template<typename CurveType >
std::shared_ptr<element_g1_add<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_g_acc_C

◆ compute_proof_g_A_g_acc_C_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_g_acc_C_precomp

◆ compute_proof_g_A_g_acc_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_g_acc_precomp

◆ compute_proof_g_A_g_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_g_precomp

◆ compute_proof_g_A_h_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_A_h_precomp

◆ compute_proof_g_B_g_precomp

template<typename CurveType >
std::shared_ptr<precompute_G2_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_B_g_precomp

◆ compute_proof_g_B_h_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_B_h_precomp

◆ compute_proof_g_C_g_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_C_g_precomp

◆ compute_proof_g_C_h_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_C_h_precomp

◆ compute_proof_g_H_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_H_precomp

◆ compute_proof_g_K_precomp

template<typename CurveType >
std::shared_ptr<precompute_G1_component<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::compute_proof_g_K_precomp

◆ elt_size

template<typename CurveType >
std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::elt_size

◆ input

template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::input

◆ input_len

template<typename CurveType >
const std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::input_len

◆ kc_A_valid

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::kc_A_valid

◆ kc_B_valid

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::kc_B_valid

◆ kc_C_valid

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::kc_C_valid

◆ proof

◆ proof_g_A_g_acc

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_g_acc

◆ proof_g_A_g_acc_C

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_g_acc_C

◆ proof_g_A_g_acc_C_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_g_acc_C_precomp

◆ proof_g_A_g_acc_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_g_acc_precomp

◆ proof_g_A_g_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_g_precomp

◆ proof_g_A_h_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_A_h_precomp

◆ proof_g_B_g_precomp

template<typename CurveType >
std::shared_ptr<g2_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_B_g_precomp

◆ proof_g_B_h_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_B_h_precomp

◆ proof_g_C_g_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_C_g_precomp

◆ proof_g_C_h_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_C_h_precomp

◆ proof_g_H_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_H_precomp

◆ proof_g_K_precomp

template<typename CurveType >
std::shared_ptr<g1_precomputation<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::proof_g_K_precomp

◆ pvk

◆ QAP_valid

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::QAP_valid

◆ result

template<typename CurveType >
blueprint_variable<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_online_verifier_component< CurveType >::result

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