nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput > Class Template Reference
#include <prover.hpp>
Collaboration diagram for nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >:
Public Types | |
typedef policy_type::auxiliary_input_type | auxiliary_input_type |
typedef policy_type::keypair_type | keypair_type |
typedef policy_type::primary_input_type | primary_input_type |
typedef policy_type::proof_type | proof_type |
typedef policy_type::proving_key_type | proving_key_type |
Static Public Member Functions | |
template<typename PublicKey > | |
static proof_type | process (const proving_key_type &gg_proving_key, const PublicKey &pubkey, const primary_input_type &primary_input, const auxiliary_input_type &auxiliary_input, const typename scalar_field_type::value_type &r) |
Detailed Description
template<typename CurveType>
class nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >
A prover algorithm for the R1CS GG-ppzkSNARK.
Given a R1CS primary input X and a R1CS auxiliary input Y, this algorithm produces a proof (of knowledge) that attests to the following statement: `‘there exists Y such that CS(X,Y)=0’'. Above, CS is the R1CS constraint system that was given as input to the generator algorithm.
Member Typedef Documentation
◆ auxiliary_input_type
template<typename CurveType >
typedef policy_type::auxiliary_input_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >::auxiliary_input_type |
◆ keypair_type
template<typename CurveType >
typedef policy_type::keypair_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >::keypair_type |
◆ primary_input_type
template<typename CurveType >
typedef policy_type::primary_input_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >::primary_input_type |
◆ proof_type
template<typename CurveType >
typedef policy_type::proof_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >::proof_type |
◆ proving_key_type
template<typename CurveType >
typedef policy_type::proving_key_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_prover< CurveType, ProvingMode::EncryptedInput >::proving_key_type |
Member Function Documentation
◆ process()
template<typename CurveType >
template<typename PublicKey >
|
inlinestatic |
The documentation for this class was generated from the following file: