nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate > Struct Template Reference

#include <basic_policy.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >:

Public Types

typedef r1cs_auxiliary_input< typename curve_type::scalar_field_type > auxiliary_input_type
 
typedef r1cs_constraint_system< typename curve_type::scalar_field_type > constraint_system_type
 
typedef CurveType curve_type
 
typedef r1cs_gg_ppzksnark_keypair< proving_key_type, verification_key_typekeypair_type
 
typedef r1cs_primary_input< typename curve_type::scalar_field_type > primary_input_type
 
typedef r1cs_gg_ppzksnark_aggregate_proof< CurveType > proof_type
 
typedef r1cs_gg_ppzksnark_proving_key< curve_type, constraint_system_typeproving_key_type
 
typedef srs_type::proving_srs_type proving_srs_type
 
typedef srs_type::srs_pair_type srs_pair_type
 
typedef r1cs_gg_ppzksnark_aggregate_srs< CurveType > srs_type
 
typedef r1cs_gg_ppzksnark_aggregate_verification_key< curve_typeverification_key_type
 
typedef srs_type::verification_srs_type verification_srs_type
 

Static Public Attributes

static constexpr ProvingMode mode = ProvingMode::Aggregate
 

Member Typedef Documentation

◆ auxiliary_input_type

template<typename CurveType >
typedef r1cs_auxiliary_input<typename curve_type::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >::auxiliary_input_type

◆ constraint_system_type

template<typename CurveType >
typedef r1cs_constraint_system<typename curve_type::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >::constraint_system_type

Below are various template aliases (used for convenience).

◆ curve_type

template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >::curve_type

◆ keypair_type

A key pair for the R1CS GG-ppzkSNARK, which consists of a proving key and a verification key.

◆ primary_input_type

template<typename CurveType >
typedef r1cs_primary_input<typename curve_type::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >::primary_input_type

◆ proof_type

A proof for the R1CS GG-ppzkSNARK aggregation scheme.

While the proof has a structure, externally one merely opaquely produces, serializes/deserializes, and verifies proofs. We only expose some information about the structure for statistics purposes.

◆ proving_key_type

◆ proving_srs_type

A proving SRS for the R1CS GG-ppzkSNARK aggregation scheme.

◆ srs_pair_type

A SRS pair for the R1CS GG-ppzkSNARK aggregation scheme consisting of a proving SRS and a verification SRS.

◆ srs_type

A SRS (Structured Reference String) for the R1CS GG-ppzkSNARK aggregation scheme.

◆ verification_key_type

◆ verification_srs_type

A verification SRS for the R1CS GG-ppzkSNARK aggregation scheme.

Member Data Documentation

◆ mode

template<typename CurveType >
constexpr ProvingMode nil::crypto3::zk::snark::detail::r1cs_gg_ppzksnark_basic_policy< CurveType, ProvingMode::Aggregate >::mode = ProvingMode::Aggregate
staticconstexpr

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