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

#include <element_g2.hpp>

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

Public Member Functions

 element_g2_is_well_formed (blueprint< field_type > &bp, const element_g2< CurveType > &Q)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Public Attributes

std::shared_ptr< typename component_policy::Fqe_sqr_component_type > compute_Xsquared
 
std::shared_ptr< typename component_policy::Fqe_sqr_component_type > compute_Ysquared
 
std::shared_ptr< typename component_policy::Fqe_mul_component_type > curve_equation
 
element_g2< CurveType > Q
 
std::shared_ptr< typename component_policy::Fqe_variable_type > Xsquared
 
std::shared_ptr< typename component_policy::Fqe_variable_type > Xsquared_plus_a
 
std::shared_ptr< typename component_policy::Fqe_variable_type > Ysquared
 
std::shared_ptr< typename component_policy::Fqe_variable_type > Ysquared_minus_b
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

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

Component that creates constraints for the validity of a G2 element.

Constructor & Destructor Documentation

◆ element_g2_is_well_formed()

template<typename CurveType >
nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::element_g2_is_well_formed ( blueprint< field_type > &  bp,
const element_g2< CurveType > &  Q 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ bp

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

◆ compute_Xsquared

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_sqr_component_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::compute_Xsquared

◆ compute_Ysquared

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_sqr_component_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::compute_Ysquared

◆ curve_equation

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_mul_component_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::curve_equation

◆ Q

template<typename CurveType >
element_g2<CurveType> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::Q

◆ Xsquared

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::Xsquared

◆ Xsquared_plus_a

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::Xsquared_plus_a

◆ Ysquared

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::Ysquared

◆ Ysquared_minus_b

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2_is_well_formed< CurveType >::Ysquared_minus_b

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