nil::crypto3::zk::components::precompute_G2_component< CurveType > Class Template Reference

#include <precomputation.hpp>

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

Public Types

typedef CurveType::pairing::fp_type FieldType
 

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
 precompute_G2_component (blueprint< FieldType > &bp, const element_g2< CurveType > &Q, g2_precomputation< CurveType > &precomp)
 

Public Attributes

std::size_t add_count
 
std::vector< std::shared_ptr< precompute_G2_component_addition_step< CurveType > > > addition_steps
 
std::size_t dbl_count
 
std::vector< std::shared_ptr< precompute_G2_component_doubling_step< CurveType > > > doubling_steps
 
g2_precomputation< CurveType > & precomp
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

template<typename CurveType>
class nil::crypto3::zk::components::precompute_G2_component< CurveType >

Component that verifies correct precomputation of the G2 element.

Member Typedef Documentation

◆ FieldType

template<typename CurveType >
typedef CurveType::pairing::fp_type nil::crypto3::zk::components::precompute_G2_component< CurveType >::FieldType

Constructor & Destructor Documentation

◆ precompute_G2_component()

template<typename CurveType >
nil::crypto3::zk::components::precompute_G2_component< CurveType >::precompute_G2_component ( blueprint< FieldType > &  bp,
const element_g2< CurveType > &  Q,
g2_precomputation< CurveType > &  precomp 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ add_count

template<typename CurveType >
std::size_t nil::crypto3::zk::components::precompute_G2_component< CurveType >::add_count

◆ addition_steps

template<typename CurveType >
std::vector<std::shared_ptr<precompute_G2_component_addition_step<CurveType> > > nil::crypto3::zk::components::precompute_G2_component< CurveType >::addition_steps

◆ bp

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

◆ dbl_count

template<typename CurveType >
std::size_t nil::crypto3::zk::components::precompute_G2_component< CurveType >::dbl_count

◆ doubling_steps

template<typename CurveType >
std::vector<std::shared_ptr<precompute_G2_component_doubling_step<CurveType> > > nil::crypto3::zk::components::precompute_G2_component< CurveType >::doubling_steps

◆ precomp

template<typename CurveType >
g2_precomputation<CurveType>& nil::crypto3::zk::components::precompute_G2_component< CurveType >::precomp

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