nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType > Class Template Reference
#include <miller_loop.hpp>
Inheritance diagram for nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >:
Collaboration diagram for nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >:
Public Member Functions | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
mnt_e_over_e_miller_loop_component (blueprint< field_type > &bp, const g1_precomputation< CurveType > &prec_P1, const g2_precomputation< CurveType > &prec_Q1, const g1_precomputation< CurveType > &prec_P2, const g2_precomputation< CurveType > &prec_Q2, 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_muls1 |
std::vector< std::shared_ptr< typename component_policy::Fqk_special_mul_component_type > > | add_muls2 |
std::vector< std::shared_ptr< mnt_miller_loop_add_line_eval< CurveType > > > | addition_steps1 |
std::vector< std::shared_ptr< mnt_miller_loop_add_line_eval< CurveType > > > | addition_steps2 |
std::size_t | dbl_count |
std::vector< std::shared_ptr< typename component_policy::Fqk_special_mul_component_type > > | dbl_muls1 |
std::vector< std::shared_ptr< typename component_policy::Fqk_special_mul_component_type > > | dbl_muls2 |
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_steps1 |
std::vector< std::shared_ptr< mnt_miller_loop_dbl_line_eval< CurveType > > > | doubling_steps2 |
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_P1s |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | g_RQ_at_P2s |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | g_RR_at_P1s |
std::vector< std::shared_ptr< typename component_policy::Fqk_variable_type > > | g_RR_at_P2s |
g1_precomputation< CurveType > | prec_P1 |
g1_precomputation< CurveType > | prec_P2 |
g2_precomputation< CurveType > | prec_Q1 |
g2_precomputation< CurveType > | prec_Q2 |
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_e_over_e_miller_loop_component< CurveType >
Component for verifying a double Miller loop (where the second is inverted).
Constructor & Destructor Documentation
◆ mnt_e_over_e_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_e_over_e_miller_loop_component< CurveType >::add_count |
◆ add_muls1
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::add_muls1 |
◆ add_muls2
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::add_muls2 |
◆ addition_steps1
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_add_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::addition_steps1 |
◆ addition_steps2
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_add_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::addition_steps2 |
◆ bp
|
protectedinherited |
◆ dbl_count
template<typename CurveType >
std::size_t nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::dbl_count |
◆ dbl_muls1
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::dbl_muls1 |
◆ dbl_muls2
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_special_mul_component_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::dbl_muls2 |
◆ dbl_sqrs
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_sqr_component_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::dbl_sqrs |
◆ doubling_steps1
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_dbl_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::doubling_steps1 |
◆ doubling_steps2
template<typename CurveType >
std::vector<std::shared_ptr<mnt_miller_loop_dbl_line_eval<CurveType> > > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::doubling_steps2 |
◆ f_count
template<typename CurveType >
std::size_t nil::crypto3::zk::components::mnt_e_over_e_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_e_over_e_miller_loop_component< CurveType >::fs |
◆ g_RQ_at_P1s
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::g_RQ_at_P1s |
◆ g_RQ_at_P2s
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::g_RQ_at_P2s |
◆ g_RR_at_P1s
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::g_RR_at_P1s |
◆ g_RR_at_P2s
template<typename CurveType >
std::vector<std::shared_ptr<typename component_policy::Fqk_variable_type> > nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::g_RR_at_P2s |
◆ prec_P1
template<typename CurveType >
g1_precomputation<CurveType> nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::prec_P1 |
◆ prec_P2
template<typename CurveType >
g1_precomputation<CurveType> nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::prec_P2 |
◆ prec_Q1
template<typename CurveType >
g2_precomputation<CurveType> nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::prec_Q1 |
◆ prec_Q2
template<typename CurveType >
g2_precomputation<CurveType> nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::prec_Q2 |
◆ result
template<typename CurveType >
component_policy::Fqk_variable_type nil::crypto3::zk::components::mnt_e_over_e_miller_loop_component< CurveType >::result |
The documentation for this class was generated from the following file: