#include <basic_policy.hpp>
Classes | |
struct | auth_data |
struct | auth_keys |
struct | keypair |
struct | label_type |
class | processed_verification_key |
class | proof |
class | proving_key |
struct | pub_auth_key |
struct | pub_auth_prms |
struct | sec_auth_key |
struct | verification_key |
Public Types | |
template<typename r1cs_ppzkadsnark_ppT > | |
using | auxiliary_input = r1cs_auxiliary_input< algebra::Fr< snark_pp< r1cs_ppzkadsnark_ppT > >> |
template<typename r1cs_ppzkadsnark_ppT > | |
using | constraint_system = r1cs_constraint_system< algebra::Fr< snark_pp< r1cs_ppzkadsnark_ppT > >> |
template<typename r1cs_ppzkadsnark_ppT > | |
using | prf_key = typename r1cs_ppzkadsnark_ppT::prfKeyT |
template<typename r1cs_ppzkadsnark_ppT > | |
using | primary_input = r1cs_primary_input< algebra::Fr< snark_pp< r1cs_ppzkadsnark_ppT > >> |
template<typename r1cs_ppzkadsnark_ppT > | |
using | secret_key = typename r1cs_ppzkadsnark_ppT::skT |
template<typename r1cs_ppzkadsnark_ppT > | |
using | signature = typename r1cs_ppzkadsnark_ppT::sigT |
template<typename r1cs_ppzkadsnark_ppT > | |
using | snark_pp = typename r1cs_ppzkadsnark_ppT::snark_pp |
template<typename r1cs_ppzkadsnark_ppT > | |
using | vkT = typename r1cs_ppzkadsnark_ppT::vkT |
Static Public Member Functions | |
static auth_keys< CurveType > | auth_generator (void) |
static std::vector< auth_data< CurveType > > | auth_sign (const std::vector< typename CurveType::scalar_field_type::value_type > &ins, const sec_auth_key< CurveType > &sk, const std::vector< label_type > labels) |
static bool | auth_verify (const std::vector< typename CurveType::scalar_field_type::value_type > &data, const std::vector< auth_data< CurveType >> &auth_data, const pub_auth_key< CurveType > &pak, const std::vector< label_type > &labels) |
static bool | auth_verify (const std::vector< typename CurveType::scalar_field_type::value_type > &data, const std::vector< auth_data< CurveType >> &auth_data, const sec_auth_key< CurveType > &sak, const std::vector< label_type > &labels) |
static keypair< CurveType > | generator (const constraint_system< CurveType > &cs, const pub_auth_prms< CurveType > &prms) |
static bool | online_verifier (const processed_verification_key< CurveType > &pvk, const proof< CurveType > &proof, const sec_auth_key< CurveType > &sak, const std::vector< label_type > &labels) |
static bool | online_verifier (const processed_verification_key< CurveType > &pvk, const std::vector< auth_data< CurveType >> &auth_data, const proof< CurveType > &proof, const pub_auth_key< CurveType > &pak, const std::vector< label_type > &labels) |
static proof< CurveType > | prover (const proving_key< CurveType > &pk, const primary_input< CurveType > &primary_input, const auxiliary_input< CurveType > &auxiliary_input, const std::vector< auth_data< CurveType >> &auth_data) |
static bool | verifier (const verification_key< CurveType > &vk, const proof< CurveType > &proof, const sec_auth_key< CurveType > &sak, const std::vector< label_type > &labels) |
static bool | verifier (const verification_key< CurveType > &vk, const std::vector< auth_data< CurveType >> &auth_data, const proof< CurveType > &proof, const pub_auth_key< CurveType > &pak, const std::vector< label_type > &labels) |
static processed_verification_key< CurveType > | verifier_process_vk (const verification_key< CurveType > &vk) |
Member Typedef Documentation
◆ auxiliary_input
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::auxiliary_input = r1cs_auxiliary_input<algebra::Fr<snark_pp<r1cs_ppzkadsnark_ppT> >> |
◆ constraint_system
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::constraint_system = r1cs_constraint_system<algebra::Fr<snark_pp<r1cs_ppzkadsnark_ppT> >> |
◆ prf_key
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::prf_key = typename r1cs_ppzkadsnark_ppT::prfKeyT |
◆ primary_input
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::primary_input = r1cs_primary_input<algebra::Fr<snark_pp<r1cs_ppzkadsnark_ppT> >> |
◆ secret_key
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::secret_key = typename r1cs_ppzkadsnark_ppT::skT |
◆ signature
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::signature = typename r1cs_ppzkadsnark_ppT::sigT |
◆ snark_pp
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::snark_pp = typename r1cs_ppzkadsnark_ppT::snark_pp |
Below are various template aliases (used for convenience).
◆ vkT
using nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::vkT = typename r1cs_ppzkadsnark_ppT::vkT |
Member Function Documentation
◆ auth_generator()
|
inlinestatic |
R1CS ppZKADSNARK authentication parameters generator algorithm.
◆ auth_sign()
|
inlinestatic |
R1CS ppZKADSNARK authentication algorithm.
◆ auth_verify() [1/2]
|
inlinestatic |
◆ auth_verify() [2/2]
|
inlinestatic |
R1CS ppZKADSNARK authentication verification algorithms.
◆ generator()
|
inlinestatic |
A generator algorithm for the R1CS ppzkADSNARK.
Given a R1CS constraint system CS, this algorithm produces proving and verification keys for CS.
◆ online_verifier() [1/2]
|
inlinestatic |
A symmetric verifier algorithm for the R1CS ppzkADSNARK that accepts a processed verification key.
◆ online_verifier() [2/2]
|
inlinestatic |
A verifier algorithm for the R1CS ppzkADSNARK that accepts a processed verification key.
◆ prover()
|
inlinestatic |
A prover algorithm for the R1CS ppzkADSNARK.
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.
◆ verifier() [1/2]
|
inlinestatic |
A symmetric verifier algorithm for the R1CS ppzkADSNARK that accepts a non-processed verification key
◆ verifier() [2/2]
|
inlinestatic |
A verifier algorithm for the R1CS ppzkADSNARK that accepts a non-processed verification key
◆ verifier_process_vk()
|
inlinestatic |
Convert a (non-processed) verification key into a processed verification key.
The documentation for this struct was generated from the following file: