nil::crypto3::zk::snark::gipa_proof< CurveType > Struct Template Reference

#include <proof.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::gipa_proof< CurveType >:

Public Types

typedef CurveType curve_type
 

Static Public Member Functions

static std::size_t log_proofs (std::size_t nproofs)
 

Public Attributes

std::vector< std::pair< r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type >, r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type > > > comms_ab
 
std::vector< std::pair< r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type >, r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type > > > comms_c
 
curve_type::template g1_type ::value_type final_a
 
curve_type::template g2_type ::value_type final_b
 
curve_type::template g1_type ::value_type final_c
 
std::pair< typename curve_type::template g2_type<>::value_type, typename curve_type::template g2_type<>::value_type > final_vkey
 
std::pair< typename curve_type::template g1_type<>::value_type, typename curve_type::template g1_type<>::value_type > final_wkey
 
std::size_t nproofs
 
std::vector< std::pair< typename curve_type::gt_type::value_type, typename curve_type::gt_type::value_type > > z_ab
 
std::vector< std::pair< typename curve_type::template g1_type<>::value_type, typename curve_type::template g1_type<>::value_type > > z_c
 

Detailed Description

template<typename CurveType>
struct nil::crypto3::zk::snark::gipa_proof< CurveType >

It contains all elements derived in the GIPA loop for both TIPP and MIPP at the same time.

Member Typedef Documentation

◆ curve_type

template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::gipa_proof< CurveType >::curve_type

Member Function Documentation

◆ log_proofs()

template<typename CurveType >
static std::size_t nil::crypto3::zk::snark::gipa_proof< CurveType >::log_proofs ( std::size_t  nproofs)
inlinestatic

Member Data Documentation

◆ comms_ab

◆ comms_c

◆ final_a

template<typename CurveType >
curve_type::template g1_type ::value_type nil::crypto3::zk::snark::gipa_proof< CurveType >::final_a

◆ final_b

template<typename CurveType >
curve_type::template g2_type ::value_type nil::crypto3::zk::snark::gipa_proof< CurveType >::final_b

◆ final_c

template<typename CurveType >
curve_type::template g1_type ::value_type nil::crypto3::zk::snark::gipa_proof< CurveType >::final_c

◆ final_vkey

template<typename CurveType >
std::pair<typename curve_type::template g2_type<>::value_type, typename curve_type::template g2_type<>::value_type> nil::crypto3::zk::snark::gipa_proof< CurveType >::final_vkey

final commitment keys $v$ and $w$ - there is only one element at the end for v1 and v2 hence it's a tuple.

◆ final_wkey

template<typename CurveType >
std::pair<typename curve_type::template g1_type<>::value_type, typename curve_type::template g1_type<>::value_type> nil::crypto3::zk::snark::gipa_proof< CurveType >::final_wkey

◆ nproofs

template<typename CurveType >
std::size_t nil::crypto3::zk::snark::gipa_proof< CurveType >::nproofs

◆ z_ab

template<typename CurveType >
std::vector< std::pair<typename curve_type::gt_type::value_type, typename curve_type::gt_type::value_type> > nil::crypto3::zk::snark::gipa_proof< CurveType >::z_ab

◆ z_c

template<typename CurveType >
std::vector<std::pair<typename curve_type::template g1_type<>::value_type, typename curve_type::template g1_type<>::value_type> > nil::crypto3::zk::snark::gipa_proof< CurveType >::z_c

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