zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp
Go to the documentation of this file.
48 // - ppzkADSNARK = "PreProcessing Zero-Knowledge Succinct Non-interactive ARgument of Knowledge Over Authenticated Data"
183 pub_auth_key(typename CurveType::template g2_type<>::value_type &&minusI2, vkT<CurveType> &&vkp) :
688 algebra::get_window_table<typename CurveType::g1_type>(CurveType::scalar_field_type::value_bits, g1_window,
692 algebra::get_window_table<typename CurveType::g2_type>(CurveType::scalar_field_type::value_bits, g2_window,
776 const qap_witness<typename CurveType::scalar_field_type> qap_wit = reductions::r1cs_to_qap<typename CurveType::scalar_field_type>::witness_map(
907 1) The verifier accepts a (non-processed) verification key or, instead, a processed verification
1051 typename CurveType::template g1_type<>::value_type Aacc = pvk.A0 + proof.g_Aau.g + proof.g_A.g;
1224 typename CurveType::template g1_type<>::value_type Aacc = pvk.A0 + proof.g_Aau.g + proof.g_A.g;
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:375
std::vector< pairing_policy::g1_precomputed_type > proof_g_vki_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:392
pairing_policy::g2_precomputed_type vk_alphaA_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:380
pairing_policy::g2_precomputed_type vk_alphaC_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:382
pairing_policy::g2_precomputed_type vk_gamma_beta_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:386
pairing_policy::g2_precomputed_type pp_G2_one_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:379
pairing_policy::g2_precomputed_type vk_rC_i_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:387
CurveType::template g1_type ::value_type A0
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:389
pairing_policy::g2_precomputed_type vk_rC_Z_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:383
pairing_policy::g1_precomputed_type vk_gamma_beta_g1_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:385
bool operator==(const processed_verification_key &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:394
pairing_policy::g2_precomputed_type vk_gamma_g2_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:384
std::vector< typename CurveType::template g1_type<>::value_type > Ain
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:390
pairing_policy::g1_precomputed_type vk_alphaB_g1_precomp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:381
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:442
bool operator==(const proof< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:502
g1_value_type g_H
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:452
std::size_t G1_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:483
knowledge_commitment< g1_value_type, g1_value_type >::value_type g_A
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:449
knowledge_commitment< g1_value_type, g1_value_type >::value_type g_C
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:451
g1_value_type g_K
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:453
knowledge_commitment< g2_value_type, g1_value_type >::value_type g_B
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:450
bool is_well_formed() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:495
g1_value_type muA
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:455
proof()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:457
std::size_t size_in_bits() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:491
std::size_t G2_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:487
proof(typename knowledge_commitment< g1_type, g1_type >::value_type &&g_A, typename knowledge_commitment< g2_type, g1_type >::value_type &&g_B, typename knowledge_commitment< g1_type, g1_type >::value_type &&g_C, g1_value_type &&g_H, g1_value_type &&g_K, typename knowledge_commitment< g1_type, g1_type >::value_type &&g_Aau, g1_value_type &&muA)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:472
knowledge_commitment< g1_value_type, g1_value_type >::value_type g_Aau
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:454
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:243
std::size_t G2_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:282
proving_key(knowledge_commitment_vector< g1_type, g1_type > &&A_query, knowledge_commitment_vector< g2_type, g1_type > &&B_query, knowledge_commitment_vector< g1_type, g1_type > &&C_query, typename std::vector< g1_value_type > &&H_query, typename std::vector< g1_value_type > &&K_query, g1_value_type &&rA_i_Z_g1, constraint_system< CurveType > &&constraint_system)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:265
knowledge_commitment_vector< g1_type, g1_type > A_query
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:250
proving_key(proving_key &&other)=default
constraint_system< CurveType > constraint_system
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:259
bool operator==(const proving_key< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:301
std::size_t G1_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:277
proving_key(const proving_key &other)=default
knowledge_commitment_vector< g2_type, g1_type > B_query
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:251
g1_value_type rA_i_Z_g1
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:257
std::vector< g1_value_type > K_query
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:255
proving_key()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:261
std::size_t size_in_bits() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:295
std::vector< g1_value_type > H_query
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:254
proving_key & operator=(const proving_key &other)=default
std::size_t G2_sparse_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:291
std::size_t G1_sparse_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:286
knowledge_commitment_vector< g1_type, g1_type > C_query
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:252
vector(T, U...) -> vector< std::enable_if_t<(std::is_same_v< T, U > &&...), T >, 1+sizeof...(U)>
deduction guide for uniform initialization
PairingCurveType::gt_type::value_type double_miller_loop(const typename PairingPolicy::g1_precomputed_type &prec_P1, const typename PairingPolicy::g2_precomputed_type &prec_Q1, const typename PairingPolicy::g1_precomputed_type &prec_P2, const typename PairingPolicy::g2_precomputed_type &prec_Q2)
Definition: pair.hpp:96
std::vector< std::vector< typename GroupType::value_type > > window_table
Definition: multiexp.hpp:116
std::iterator_traits< InputBaseIterator >::value_type multiexp_with_mixed_addition(InputBaseIterator vec_start, InputBaseIterator vec_end, InputFieldIterator scalar_start, InputFieldIterator scalar_end, const std::size_t chunks_count)
Definition: multiexp.hpp:74
std::iterator_traits< InputBaseIterator >::value_type multiexp(InputBaseIterator vec_start, InputBaseIterator vec_end, InputFieldIterator scalar_start, InputFieldIterator scalar_end, const std::size_t chunks_count)
Definition: multiexp.hpp:43
std::vector< typename GroupType::value_type > batch_exp(const std::size_t scalar_size, const std::size_t window, const window_table< GroupType > &table, const InputRange &v)
Definition: multiexp.hpp:205
PairingCurveType::gt_type::value_type final_exponentiation(const typename PairingCurveType::gt_type::value_type &elt)
Definition: pair.hpp:106
OutputIterator move(const SinglePassRange &rng, OutputIterator result)
Definition: move.hpp:45
knowledge_commitment< T1, T2 >::value_type kc_multiexp_with_mixed_addition(const knowledge_commitment_vector< T1, T2 > &vec, const std::size_t min_idx, const std::size_t max_idx, InputFieldIterator scalar_start, InputFieldIterator scalar_end, const std::size_t chunks)
Definition: knowledge_commitment_multiexp.hpp:59
std::vector< typename FieldType::value_type > r1cs_auxiliary_input
Definition: r1cs.hpp:104
knowledge_commitment_vector< T1, T2 > kc_batch_exp(const std::size_t scalar_size, const std::size_t T1_window, const std::size_t T2_window, const algebra::window_table< T1 > &T1_table, const algebra::window_table< T2 > &T2_table, const typename FieldType::value_type &T1_coeff, const typename FieldType::value_type &T2_coeff, const std::vector< typename FieldType::value_type > &v, const std::size_t suggested_num_chunks)
Definition: knowledge_commitment_multiexp.hpp:142
std::vector< typename FieldType::value_type > r1cs_primary_input
Definition: r1cs.hpp:101
Definition: pair.hpp:31
Definition: policies.hpp:100
Definition: policies.hpp:215
Definition: element_knowledge_commitment.hpp:40
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:213
auth_data< CurveType > & operator=(const auth_data< CurveType > &other)=default
auth_data(auth_data< CurveType > &&other)=default
CurveType::scalar_field_type::value_type mu
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:215
auth_data(typename CurveType::scalar_field_type::value_type &&mu, typename CurveType::template g2_type<>::value_type &&Lambda, signature< CurveType > &&sigma)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:225
signature< CurveType > sigma
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:218
auth_data(const auth_data< CurveType > &other)=default
CurveType::template g2_type ::value_type Lambda
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:216
bool operator==(const auth_data< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:232
auth_data()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:220
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:192
sec_auth_key< CurveType > sak
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:196
pub_auth_prms< CurveType > pap
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:194
auth_keys(auth_keys< CurveType > &&other)=default
auth_keys()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:198
pub_auth_key< CurveType > pak
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:195
auth_keys(pub_auth_prms< CurveType > &&pap, pub_auth_key< CurveType > &&pak, sec_auth_key< CurveType > &&sak)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:200
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:419
keypair(const keypair< CurveType > &other)=default
keypair(proving_key< CurveType > &&pk, verification_key< CurveType > &&vk)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:426
keypair(keypair< CurveType > &&other)=default
proving_key< CurveType > pk
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:421
verification_key< CurveType > vk
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:422
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:88
unsigned char label_bytes[16]
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:89
label_type()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:90
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:174
pub_auth_key(pub_auth_key< CurveType > &&other)=default
pub_auth_key(const pub_auth_key< CurveType > &other)=default
CurveType::template g2_type ::value_type minusI2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:176
vkT< CurveType > vkp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:177
pub_auth_key(typename CurveType::template g2_type<>::value_type &&minusI2, vkT< CurveType > &&vkp)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:183
bool operator==(const pub_auth_key< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:186
pub_auth_key< CurveType > & operator=(const pub_auth_key< CurveType > &other)=default
pub_auth_key()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:179
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:127
pub_auth_prms(typename CurveType::template g1_type<>::value_type &&I1)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:135
pub_auth_prms< CurveType > & operator=(const pub_auth_prms< CurveType > &other)=default
pub_auth_prms()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:131
pub_auth_prms(pub_auth_prms< CurveType > &&other)=default
bool operator==(const pub_auth_prms< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:137
CurveType::template g1_type ::value_type I1
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:129
pub_auth_prms(const pub_auth_prms< CurveType > &other)=default
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:147
sec_auth_key(typename CurveType::scalar_field_type::value_type &&i, secret_key< CurveType > &&skp, prf_key< CurveType > &&S)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:158
sec_auth_key< CurveType > & operator=(const sec_auth_key< CurveType > &other)=default
sec_auth_key(const sec_auth_key< CurveType > &other)=default
sec_auth_key(sec_auth_key< CurveType > &&other)=default
secret_key< CurveType > skp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:151
sec_auth_key()
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:154
CurveType::scalar_field_type::value_type i
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:149
prf_key< CurveType > S
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:152
bool operator==(const sec_auth_key< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:164
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:314
CurveType::template g2_type ::value_type gamma_g2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:319
verification_key(const typename CurveType::template g2_type<>::value_type &alphaA_g2, const typename CurveType::template g1_type<>::value_type &alphaB_g1, const typename CurveType::template g2_type<>::value_type &alphaC_g2, const typename CurveType::template g2_type<>::value_type &gamma_g2, const typename CurveType::template g1_type<>::value_type &gamma_beta_g1, const typename CurveType::template g2_type<>::value_type &gamma_beta_g2, const typename CurveType::template g2_type<>::value_type &rC_Z_g2, const typename CurveType::template g1_type<>::value_type A0, const typename std::vector< typename CurveType::template g1_type<>::value_type > Ain)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:328
std::vector< typename CurveType::template g1_type<>::value_type > Ain
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:325
CurveType::template g2_type ::value_type rC_Z_g2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:322
std::size_t size_in_bits() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:351
CurveType::template g2_type ::value_type gamma_beta_g2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:321
std::size_t G2_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:347
std::size_t G1_size() const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:343
bool operator==(const verification_key< CurveType > &other) const
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:357
CurveType::template g2_type ::value_type alphaC_g2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:318
CurveType::template g2_type ::value_type alphaA_g2
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:316
verification_key()=default
CurveType::template g1_type ::value_type gamma_beta_g1
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:320
CurveType::template g1_type ::value_type A0
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:324
CurveType::template g1_type ::value_type alphaB_g1
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:317
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:84
static keypair< CurveType > generator(const constraint_system< CurveType > &cs, const pub_auth_prms< CurveType > &prms)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:597
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:1263
typename r1cs_ppzkadsnark_ppT::vkT vkT
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:113
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:533
static bool verifier(const verification_key< CurveType > &vk, const proof< CurveType > &proof, const sec_auth_key< CurveType > &sak, const std::vector< label_type > &labels)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:1089
typename r1cs_ppzkadsnark_ppT::prfKeyT prf_key
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:119
static processed_verification_key< CurveType > verifier_process_vk(const verification_key< CurveType > &vk)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:919
typename r1cs_ppzkadsnark_ppT::sigT signature
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:116
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:575
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:957
typename r1cs_ppzkadsnark_ppT::skT secret_key
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:110
r1cs_primary_input< algebra::Fr< snark_pp< r1cs_ppzkadsnark_ppT > >> primary_input
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:104
r1cs_auxiliary_input< algebra::Fr< snark_pp< r1cs_ppzkadsnark_ppT > >> auxiliary_input
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:107
typename r1cs_ppzkadsnark_ppT::snark_pp snark_pp
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:98
static auth_keys< CurveType > auth_generator(void)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:514
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:558
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:1103
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)
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/detail/basic_policy.hpp:765
detail::element_kc< Type1, Type2 > value_type
Definition: knowledge_commitment.hpp:52
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/signature.hpp:39
r1cs_ppzkadsnark_secret_key< CurveType > sk
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/signature.hpp:40
r1cs_ppzkadsnark_vkT< CurveType > vk
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzkadsnark/r1cs_ppzkadsnark/signature.hpp:41
Definition: qap.hpp:183
std::vector< field_value_type > Ct
Definition: qap.hpp:196
std::size_t num_inputs
Definition: qap.hpp:190
std::vector< field_value_type > Bt
Definition: qap.hpp:196
std::vector< field_value_type > At
Definition: qap.hpp:196
std::size_t num_variables
Definition: qap.hpp:188
std::vector< field_value_type > Ht
Definition: qap.hpp:196
Definition: qap.hpp:310
std::vector< field_value_type > coefficients_for_H
Definition: qap.hpp:322
std::vector< field_value_type > coefficients_for_ABCs
Definition: qap.hpp:321
Definition: r1cs.hpp:124
std::vector< r1cs_constraint< FieldType > > constraints
Definition: r1cs.hpp:130
void swap_AB_if_beneficial()
Definition: r1cs.hpp:191
static qap_witness< FieldType > witness_map(const r1cs_constraint_system< FieldType > &cs, const r1cs_primary_input< FieldType > &primary_input, const r1cs_auxiliary_input< FieldType > &auxiliary_input, const typename FieldType::value_type &d1, const typename FieldType::value_type &d2, const typename FieldType::value_type &d3)
Definition: r1cs_to_qap.hpp:221
Definition: sparse_vector.hpp:48