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

#include <verifier.hpp>

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

Public Types

typedef CurveType::scalar_field_type FieldType
 

Public Member Functions

 __attribute__ ((noinline)) r1cs_ppzksnark_verification_key_variable(blueprint< FieldType > &bp
 
const blueprint_variable_vector< FieldType > const std::size_t all_bits (all_bits)
 
void generate_r1cs_constraints (const bool enforce_bitness)
 
void generate_r1cs_witness (const std::vector< bool > &vk_bits)
 
void generate_r1cs_witness (const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::verification_key_type &vk)
 
std::vector< bool > get_bits () const
 
const blueprint_variable_vector< FieldType > const std::size_t input_size (input_size)
 

Static Public Member Functions

static std::size_t __attribute__ ((noinline)) size_in_bits(const std
 
static std::vector< bool > get_verification_key_bits (const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::verification_key_type &r1cs_vk)
 

Public Attributes

blueprint_variable_vector< FieldTypeall_bits
 
const blueprint_variable_vector< FieldType > & all_bits
 
std::vector< std::shared_ptr< element_g1< CurveType > > > all_G1_vars
 
std::vector< std::shared_ptr< element_g2< CurveType > > > all_G2_vars
 
blueprint_linear_combination_vector< FieldTypeall_vars
 
std::shared_ptr< element_g2< CurveType > > alphaA_g2
 
std::shared_ptr< element_g1< CurveType > > alphaB_g1
 
std::shared_ptr< element_g2< CurveType > > alphaC_g2
 
std::shared_ptr< element_g1< CurveType > > encoded_IC_base
 
std::vector< std::shared_ptr< element_g1< CurveType > > > encoded_IC_query
 
std::shared_ptr< element_g1< CurveType > > gamma_beta_g1
 
std::shared_ptr< element_g2< CurveType > > gamma_beta_g2
 
std::shared_ptr< element_g2< CurveType > > gamma_g2
 
std::size_t input_size
 
const blueprint_variable_vector< FieldType > const std::size_t input_size: component<FieldType>(bp)
 
std::shared_ptr< multipacking_component< FieldType > > packer
 
std::shared_ptr< element_g2< CurveType > > rC_Z_g2
 

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_verification_key_variable< CurveType >::FieldType

Member Function Documentation

◆ __attribute__() [1/2]

template<typename CurveType >
nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::__attribute__ ( (noinline)  ) &

◆ __attribute__() [2/2]

template<typename CurveType >
static std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::__attribute__ ( (noinline)  ) const
inlinestatic

◆ all_bits()

template<typename CurveType >
const blueprint_variable_vector<FieldType> const std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_bits ( all_bits  )

◆ generate_r1cs_constraints()

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::generate_r1cs_constraints ( const bool  enforce_bitness)
inline

◆ generate_r1cs_witness() [1/2]

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::generate_r1cs_witness ( const std::vector< bool > &  vk_bits)
inline

◆ generate_r1cs_witness() [2/2]

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::generate_r1cs_witness ( const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::verification_key_type &  vk)
inline

◆ get_bits()

template<typename CurveType >
std::vector<bool> nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::get_bits ( ) const
inline

◆ get_verification_key_bits()

template<typename CurveType >
static std::vector<bool> nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::get_verification_key_bits ( const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::verification_key_type &  r1cs_vk)
inlinestatic

◆ input_size()

template<typename CurveType >
const blueprint_variable_vector<FieldType> const std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::input_size ( input_size  )
inline

Member Data Documentation

◆ all_bits [1/2]

template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_bits

◆ all_bits [2/2]

template<typename CurveType >
const blueprint_variable_vector<FieldType>& nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_bits

◆ all_G1_vars

template<typename CurveType >
std::vector<std::shared_ptr<element_g1<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_G1_vars

◆ all_G2_vars

template<typename CurveType >
std::vector<std::shared_ptr<element_g2<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_G2_vars

◆ all_vars

template<typename CurveType >
blueprint_linear_combination_vector<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::all_vars

◆ alphaA_g2

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::alphaA_g2

◆ alphaB_g1

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::alphaB_g1

◆ alphaC_g2

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::alphaC_g2

◆ bp

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

◆ encoded_IC_base

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::encoded_IC_base

◆ encoded_IC_query

template<typename CurveType >
std::vector<std::shared_ptr<element_g1<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::encoded_IC_query

◆ gamma_beta_g1

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::gamma_beta_g1

◆ gamma_beta_g2

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::gamma_beta_g2

◆ gamma_g2

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::gamma_g2

◆ input_size [1/2]

template<typename CurveType >
std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::input_size

◆ input_size [2/2]

template<typename CurveType >
const blueprint_variable_vector<FieldType> const std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::input_size

◆ packer

template<typename CurveType >
std::shared_ptr<multipacking_component<FieldType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::packer

◆ rC_Z_g2

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_verification_key_variable< CurveType >::rC_Z_g2

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