nil::crypto3::zk::snark::detail::uscs_ppzksnark_policy< CurveType > Struct Template Reference

#include <basic_policy.hpp>

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

Public Types

typedef uscs_auxiliary_input< typename CurveType::scalar_field_type > auxiliary_input_type
 
typedef uscs_constraint_system< typename CurveType::scalar_field_type > constraint_system_type
 
typedef uscs_ppzksnark_keypair< proving_key_type, verification_key_typekeypair_type
 
typedef uscs_primary_input< typename CurveType::scalar_field_type > primary_input_type
 
typedef uscs_ppzksnark_processed_verification_key< CurveType > processed_verification_key_type
 
typedef uscs_ppzksnark_proof< CurveType > proof_type
 
typedef uscs_ppzksnark_proving_key< CurveType, constraint_system_typeproving_key_type
 
typedef uscs_ppzksnark_verification_key< CurveType > verification_key_type
 

Member Typedef Documentation

◆ auxiliary_input_type

template<typename CurveType >
typedef uscs_auxiliary_input<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::uscs_ppzksnark_policy< CurveType >::auxiliary_input_type

◆ constraint_system_type

template<typename CurveType >
typedef uscs_constraint_system<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::uscs_ppzksnark_policy< CurveType >::constraint_system_type

Below are various template aliases (used for convenience).

◆ keypair_type

A key pair for the USCS ppzkSNARK, which consists of a proving key and a verification key.

◆ primary_input_type

template<typename CurveType >
typedef uscs_primary_input<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::uscs_ppzksnark_policy< CurveType >::primary_input_type

◆ processed_verification_key_type

A processed verification key for the USCS 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

template<typename CurveType >
typedef uscs_ppzksnark_proof<CurveType> nil::crypto3::zk::snark::detail::uscs_ppzksnark_policy< CurveType >::proof_type

A proof for the USCS 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

A proving key for the USCS ppzkSNARK.

◆ verification_key_type

A verification key for the USCS ppzkSNARK.


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