#include <srs.hpp>

Public Types | |
typedef r1cs_gg_ppzksnark_ipp2_commitment< CurveType > | commitment_type |
typedef CurveType | curve_type |
typedef curve_type::template g1_type | g1_type |
typedef g1_type::value_type | g1_value_type |
typedef curve_type::template g2_type | g2_type |
typedef g2_type::value_type | g2_value_type |
typedef commitment_type::vkey_type | vkey_type |
typedef commitment_type::wkey_type | wkey_type |
Public Member Functions | |
bool | has_correct_len (std::size_t n) const |
Public Attributes | |
std::vector< g1_value_type > | g_alpha_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS. More... | |
std::vector< g1_value_type > | g_beta_powers |
_{i=n}^{N}$ where N is the smallest size of the two Groth16 CRS. More... | |
std::vector< g2_value_type > | h_alpha_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS. More... | |
std::vector< g2_value_type > | h_beta_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS. More... | |
std::size_t | n |
number of proofs to aggregate More... | |
vkey_type | vkey |
commitment key using in MIPP and TIPP More... | |
wkey_type | wkey |
commitment key using in TIPP More... | |
Detailed Description
template<typename CurveType>
struct nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >
ProverSRS is the specialized SRS version for the prover for a specific number of proofs to aggregate. It contains as well the commitment keys for this specific size. Note the size must be a power of two for the moment - if it is not, padding must be applied.
Member Typedef Documentation
◆ commitment_type
typedef r1cs_gg_ppzksnark_ipp2_commitment<CurveType> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::commitment_type |
◆ curve_type
typedef CurveType nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::curve_type |
◆ g1_type
typedef curve_type::template g1_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g1_type |
◆ g1_value_type
typedef g1_type::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g1_value_type |
◆ g2_type
typedef curve_type::template g2_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g2_type |
◆ g2_value_type
typedef g2_type::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g2_value_type |
◆ vkey_type
typedef commitment_type::vkey_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::vkey_type |
◆ wkey_type
typedef commitment_type::wkey_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::wkey_type |
Member Function Documentation
◆ has_correct_len()
|
inline |
Returns true if commitment keys have the exact required length. It is necessary for the IPP scheme to work that commitment key have the exact same number of arguments as the number of proofs to aggregate.
Member Data Documentation
◆ g_alpha_powers
std::vector<g1_value_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g_alpha_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS.
◆ g_beta_powers
std::vector<g1_value_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::g_beta_powers |
_{i=n}^{N}$ where N is the smallest size of the two Groth16 CRS.
◆ h_alpha_powers
std::vector<g2_value_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::h_alpha_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS.
◆ h_beta_powers
std::vector<g2_value_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::h_beta_powers |
_{i=0}^{N}$ where N is the smallest size of the two Groth16 CRS.
◆ n
std::size_t nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::n |
number of proofs to aggregate
◆ vkey
vkey_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::vkey |
commitment key using in MIPP and TIPP
◆ wkey
wkey_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proving_srs< CurveType >::wkey |
commitment key using in TIPP
The documentation for this struct was generated from the following file: