nil::crypto3::zk::components::mnt_miller_loop_component< CurveType > Class Template Reference
#include <miller_loop.hpp>
Inheritance diagram for nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >:
Collaboration diagram for nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >:
Public Member Functions | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
mnt_miller_loop_component (blueprint< field_type > &bp, const g1_precomputation< CurveType > &prec_P, const g2_precomputation< CurveType > &prec_Q, const typename component_policy::Fqk_variable_type &result) | |
Public Attributes | |
std::size_t | add_count |
std::vector< std::shared_ptr< typename component_policy::Fqk_special_mul_component_type > > | add_muls |
std::vector< std::shared_ptr< mnt_miller_loop_add_line_eval< CurveType > > > | addition_steps |
std::size_t | dbl_count |
std::vector< std::shared_ptr< typename component_policy::Fqk_special_mul_component_type > > | dbl_muls |
std::vector< std::shared_ptr< typename component_policy::Fqk_sqr_component_type > > | dbl_sqrs |
std::vector< std::shared_ptr< mnt_miller_loop_dbl_line_eval< CurveType > > > | doubling_steps |
std::size_t | f_count |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | fs |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | g_RQ_at_Ps |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | g_RR_at_Ps |
g1_precomputation< CurveType > | prec_P |
g2_precomputation< CurveType > | prec_Q |
component_policy::Fqk_variable_type | result |
Protected Attributes | |
blueprint< CurveType::scalar_field_type > & | bp |
Detailed Description
template<typename CurveType>
class nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >
Component for verifying a single Miller loop.
Constructor & Destructor Documentation
◆ mnt_miller_loop_component()
template<typename CurveType >
|
inline |
Member Function Documentation
◆ generate_r1cs_constraints()
template<typename CurveType >
|
inline |
◆ generate_r1cs_witness()
template<typename CurveType >
|
inline |
Member Data Documentation
◆ add_count
template<typename CurveType >
std::size_t nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::add_count |
◆ add_muls
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::add_muls |
◆ addition_steps
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_add_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::addition_steps |
◆ bp
|
protectedinherited |
◆ dbl_count
template<typename CurveType >
std::size_t nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::dbl_count |
◆ dbl_muls
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::dbl_muls |
◆ dbl_sqrs
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_sqr_component_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::dbl_sqrs |
◆ doubling_steps
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_dbl_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::doubling_steps |
◆ f_count
template<typename CurveType >
std::size_t nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::f_count |
◆ fs
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::fs |
◆ g_RQ_at_Ps
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::g_RQ_at_Ps |
◆ g_RR_at_Ps
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::g_RR_at_Ps |
◆ prec_P
template<typename CurveType >
g1_precomputation<CurveType> nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::prec_P |
◆ prec_Q
template<typename CurveType >
g2_precomputation<CurveType> nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::prec_Q |
◆ result
template<typename CurveType >
component_policy::Fqk_variable_type nil::crypto3::zk::components::mnt_miller_loop_component< CurveType >::result |
The documentation for this class was generated from the following file: