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

#include <basic_policy.hpp>

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

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, extended_verification_key_typeextended_keypair_type
 
typedef r1cs_gg_ppzksnark_extended_verification_key< curve_typeextended_verification_key_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_keypair< proving_key_type, processed_verification_key_typeprocessed_keypair_type
 
typedef r1cs_gg_ppzksnark_processed_verification_key< curve_typeprocessed_verification_key_type
 
typedef r1cs_gg_ppzksnark_proof< CurveType > proof_type
 
typedef r1cs_gg_ppzksnark_proving_key< curve_type, constraint_system_typeproving_key_type
 
typedef r1cs_gg_ppzksnark_verification_key< curve_typeverification_key_type
 

Static Public Attributes

static constexpr ProvingMode mode = ProvingMode::Basic
 

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::Basic >::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::Basic >::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::Basic >::curve_type

◆ extended_keypair_type

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

◆ extended_verification_key_type

An extended verification key for the R1CS GG-ppzkSNARK.

Compared to a (non-extended) verification key, an extended verification key contains additional field.

◆ 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::Basic >::primary_input_type

◆ processed_keypair_type

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

◆ processed_verification_key_type

A processed verification key for the R1CS GG-ppzkSNARK.

Compared to a (non-processed) verification key, a processed verification key contains a small constant amount of additional pre-computed information that enables a faster verification time.

◆ proof_type

A proof for the R1CS GG-ppzkSNARK.

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

◆ verification_key_type

A verification key for the R1CS GG-ppzkSNARK.

Member Data Documentation

◆ mode

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

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