nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType > Struct Template Reference
#include <basic_policy.hpp>
Collaboration diagram for nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >:
Public Types | |
typedef r1cs_auxiliary_input< typename CurveType::scalar_field_type > | auxiliary_input_type |
typedef r1cs_constraint_system< typename CurveType::scalar_field_type > | constraint_system_type |
typedef CurveType | curve_type |
typedef r1cs_ppzksnark_keypair< proving_key_type, verification_key_type > | keypair_type |
typedef r1cs_primary_input< typename CurveType::scalar_field_type > | primary_input_type |
typedef r1cs_ppzksnark_processed_verification_key< CurveType > | processed_verification_key_type |
typedef r1cs_ppzksnark_proof< CurveType > | proof_type |
typedef r1cs_ppzksnark_proving_key< CurveType, constraint_system_type > | proving_key_type |
typedef r1cs_ppzksnark_verification_key< CurveType > | verification_key_type |
Member Typedef Documentation
◆ auxiliary_input_type
template<typename CurveType >
typedef r1cs_auxiliary_input<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::auxiliary_input_type |
◆ constraint_system_type
template<typename CurveType >
typedef r1cs_constraint_system<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::constraint_system_type |
Below are various template aliases (used for convenience).
◆ curve_type
template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::curve_type |
◆ keypair_type
template<typename CurveType >
typedef r1cs_ppzksnark_keypair<proving_key_type, verification_key_type> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::keypair_type |
A key pair for the R1CS ppzkSNARK, which consists of a proving key and a verification key.
◆ primary_input_type
template<typename CurveType >
typedef r1cs_primary_input<typename CurveType::scalar_field_type> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::primary_input_type |
◆ processed_verification_key_type
template<typename CurveType >
typedef r1cs_ppzksnark_processed_verification_key<CurveType> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::processed_verification_key_type |
A processed verification key for the R1CS 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 r1cs_ppzksnark_proof<CurveType> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::proof_type |
A proof for the R1CS 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
template<typename CurveType >
typedef r1cs_ppzksnark_proving_key<CurveType, constraint_system_type> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::proving_key_type |
A proving key for the R1CS ppzkSNARK.
◆ verification_key_type
template<typename CurveType >
typedef r1cs_ppzksnark_verification_key<CurveType> nil::crypto3::zk::snark::detail::r1cs_ppzksnark_policy< CurveType >::verification_key_type |
A verification key for the R1CS ppzkSNARK.
The documentation for this struct was generated from the following file: