nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type > Class Template Reference
#include <r1cs_gg_ppzksnark.hpp>
Collaboration diagram for nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >:
Static Public Member Functions | |
template<typename KeyPairType , typename DistributionType = boost::random::uniform_int_distribution< typename CurveType::scalar_field_type::integral_type>, typename GeneratorType = boost::random::mt19937> | |
static KeyPairType | generate (const constraint_system_type &constraint_system) |
template<typename PublicKey > | |
static proof_type | prove (const proving_key_type &pk, const PublicKey &pubkey, const primary_input_type &primary_input, const auxiliary_input_type &auxiliary_input, const typename CurveType::scalar_field_type::value_type &r) |
template<typename CipherTextIterator , typename PublicKey > | |
static bool | verify (CipherTextIterator first, CipherTextIterator last, const verification_key_type &vk, const PublicKey &pubkey, const primary_input_type &unencrypted_primary_input, const proof_type &proof) |
Member Typedef Documentation
◆ auxiliary_input_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::auxiliary_input_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::auxiliary_input_type |
◆ constraint_system_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::constraint_system_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::constraint_system_type |
◆ keypair_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::keypair_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::keypair_type |
◆ primary_input_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::primary_input_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::primary_input_type |
◆ proof_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::proof_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::proof_type |
◆ proving_key_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::proving_key_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::proving_key_type |
◆ verification_key_type
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
typedef policy_type::verification_key_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType, Generator, Prover, Verifier, ProvingMode::EncryptedInput, typename std::enable_if< is_encrypted_input_mode< CurveType, Generator, Prover, Verifier >::value >::type >::verification_key_type |
Member Function Documentation
◆ generate()
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
template<typename KeyPairType , typename DistributionType = boost::random::uniform_int_distribution< typename CurveType::scalar_field_type::integral_type>, typename GeneratorType = boost::random::mt19937>
|
inlinestatic |
◆ prove()
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
template<typename PublicKey >
|
inlinestatic |
◆ verify()
template<typename CurveType , typename Generator , typename Prover , typename Verifier >
template<typename CipherTextIterator , typename PublicKey >
|
inlinestatic |
The documentation for this class was generated from the following file: