r1cs_sp_ppzkpcd.hpp
Go to the documentation of this file.
129 r1cs_sp_ppzkpcd_verification_key(const r1cs_sp_ppzkpcd_verification_key<PCD_ppT> &other) = default;
225 using r1cs_sp_ppzkpcd_proof = typename r1cs_ppzksnark<typename PCD_ppT::curve_B_pp>::proof_type;
282 bool r1cs_sp_ppzkpcd_online_verifier(const r1cs_sp_ppzkpcd_processed_verification_key<PCD_ppT> &pvk,
315 typename r1cs_ppzksnark<typename PCD_ppT::curve_B_pp>::verification_key::dummy_verification_key(
345 sp_compliance_step_pcd_circuit_maker<curve_A_pp> compliance_step_pcd_circuit(compliance_predicate);
422 bool r1cs_sp_ppzkpcd_online_verifier(const r1cs_sp_ppzkpcd_processed_verification_key<PCD_ppT> &pvk,
Definition: snark/proof.hpp:37
Definition: r1cs_pcd_params.hpp:54
Definition: r1cs_pcd_params.hpp:40
Definition: compliance_predicate.hpp:123
bool is_well_formed() const
Definition: compliance_predicate.hpp:198
Definition: snark/systems/ppzksnark/r1cs_ppzksnark/proof.hpp:43
policy_type::keypair_type keypair_type
Definition: r1cs_ppzksnark.hpp:86
Definition: r1cs_sp_ppzkpcd.hpp:199
r1cs_sp_ppzkpcd_verification_key< PCD_ppT > vk
Definition: r1cs_sp_ppzkpcd.hpp:205
r1cs_sp_ppzkpcd_keypair()
Definition: r1cs_sp_ppzkpcd.hpp:207
r1cs_sp_ppzkpcd_keypair(typename r1cs_ppzksnark< A_pp >::keypair_type &&kp_A, typename r1cs_ppzksnark< B_pp >::keypair_type &&kp_B)
Definition: r1cs_sp_ppzkpcd.hpp:213
r1cs_sp_ppzkpcd_keypair(r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &&pk, r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &&vk)
Definition: r1cs_sp_ppzkpcd.hpp:209
PCD_ppT::curve_B_pp B_pp
Definition: r1cs_sp_ppzkpcd.hpp:202
r1cs_sp_ppzkpcd_keypair(r1cs_sp_ppzkpcd_keypair< PCD_ppT > &&other)=default
PCD_ppT::curve_A_pp A_pp
Definition: r1cs_sp_ppzkpcd.hpp:201
r1cs_sp_ppzkpcd_proving_key< PCD_ppT > pk
Definition: r1cs_sp_ppzkpcd.hpp:204
Definition: r1cs_sp_ppzkpcd.hpp:159
PCD_ppT::curve_B_pp B_pp
Definition: r1cs_sp_ppzkpcd.hpp:162
r1cs_ppzksnark< B_pp >::processed_verification_key_type translation_step_r1cs_pvk
Definition: r1cs_sp_ppzkpcd.hpp:165
PCD_ppT::curve_A_pp A_pp
Definition: r1cs_sp_ppzkpcd.hpp:161
bool operator==(const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other) const
Definition: r1cs_sp_ppzkpcd.hpp:322
r1cs_sp_ppzkpcd_processed_verification_key(typename r1cs_ppzksnark< A_pp >::processed_verification_key_type &&compliance_step_r1cs_pvk, typename r1cs_ppzksnark< B_pp >::processed_verification_key_type &&translation_step_r1cs_pvk, const std::vector< bool > &translation_step_r1cs_vk_bits)
Definition: r1cs_sp_ppzkpcd.hpp:173
std::vector< bool > translation_step_r1cs_vk_bits
Definition: r1cs_sp_ppzkpcd.hpp:166
r1cs_sp_ppzkpcd_processed_verification_key(r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &&other)=default
std::size_t size_in_bits() const
Definition: r1cs_sp_ppzkpcd.hpp:184
r1cs_ppzksnark< A_pp >::processed_verification_key_type compliance_step_r1cs_pvk
Definition: r1cs_sp_ppzkpcd.hpp:164
r1cs_sp_ppzkpcd_processed_verification_key()
Definition: r1cs_sp_ppzkpcd.hpp:168
r1cs_sp_ppzkpcd_processed_verification_key(const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > & operator=(const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other)=default
Definition: r1cs_sp_ppzkpcd.hpp:75
r1cs_sp_ppzkpcd_proving_key(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &other)=default
r1cs_ppzksnark< A_pp >::proving_key_type compliance_step_r1cs_pk
Definition: r1cs_sp_ppzkpcd.hpp:82
bool operator==(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &other) const
Definition: r1cs_sp_ppzkpcd.hpp:287
r1cs_sp_ppzkpcd_proving_key(r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &&other)=default
r1cs_sp_ppzkpcd_proving_key< PCD_ppT > & operator=(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &other)=default
std::size_t size_in_bits() const
Definition: r1cs_sp_ppzkpcd.hpp:106
r1cs_ppzksnark< B_pp >::verification_key_type translation_step_r1cs_vk
Definition: r1cs_sp_ppzkpcd.hpp:86
r1cs_ppzksnark< B_pp >::proving_key_type translation_step_r1cs_pk
Definition: r1cs_sp_ppzkpcd.hpp:83
PCD_ppT::curve_B_pp B_pp
Definition: r1cs_sp_ppzkpcd.hpp:78
r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > compliance_predicate
Definition: r1cs_sp_ppzkpcd.hpp:80
r1cs_sp_ppzkpcd_proving_key(const r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > &compliance_predicate, typename r1cs_ppzksnark< A_pp >::proving_key_type &&compliance_step_r1cs_pk, typename r1cs_ppzksnark< B_pp >::proving_key &_type &translation_step_r1cs_pk, const typename r1cs_ppzksnark< A_pp >::verification_key_type &compliance_step_r1cs_vk, const typename r1cs_ppzksnark< B_pp >::verification_key_type &translation_step_r1cs_vk)
Definition: r1cs_sp_ppzkpcd.hpp:91
PCD_ppT::curve_A_pp A_pp
Definition: r1cs_sp_ppzkpcd.hpp:77
r1cs_sp_ppzkpcd_proving_key()
Definition: r1cs_sp_ppzkpcd.hpp:88
r1cs_ppzksnark< A_pp >::verification_key_type compliance_step_r1cs_vk
Definition: r1cs_sp_ppzkpcd.hpp:85
Definition: r1cs_sp_ppzkpcd.hpp:120
r1cs_sp_ppzkpcd_verification_key(const typename r1cs_ppzksnark< A_pp >::verification_key_type &compliance_step_r1cs_vk, const typename r1cs_ppzksnark< B_pp >::verification_key_type &translation_step_r1cs_vk)
Definition: r1cs_sp_ppzkpcd.hpp:131
r1cs_ppzksnark< A_pp >::verification_key_type compliance_step_r1cs_vk
Definition: r1cs_sp_ppzkpcd.hpp:125
r1cs_ppzksnark< B_pp >::verification_key_type translation_step_r1cs_vk
Definition: r1cs_sp_ppzkpcd.hpp:126
r1cs_sp_ppzkpcd_verification_key(r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &&other)=default
bool operator==(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &other) const
Definition: r1cs_sp_ppzkpcd.hpp:297
PCD_ppT::curve_B_pp B_pp
Definition: r1cs_sp_ppzkpcd.hpp:123
r1cs_sp_ppzkpcd_verification_key< PCD_ppT > & operator=(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &other)=default
static r1cs_sp_ppzkpcd_verification_key< PCD_ppT > dummy_verification_key()
r1cs_sp_ppzkpcd_verification_key(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &other)=default
r1cs_sp_ppzkpcd_verification_key()=default
std::size_t size_in_bits() const
Definition: r1cs_sp_ppzkpcd.hpp:140
PCD_ppT::curve_A_pp A_pp
Definition: r1cs_sp_ppzkpcd.hpp:122
Definition: sp_pcd_circuits.hpp:67
r1cs_auxiliary_input< FieldType > get_auxiliary_input() const
Definition: sp_pcd_circuits.hpp:414
void generate_r1cs_witness(const r1cs_ppzksnark_verification_key< other_curve< CurveType >> &translation_step_pcd_circuit_vk, const r1cs_pcd_compliance_predicate_primary_input< FieldType > &compliance_predicate_primary_input, const r1cs_pcd_compliance_predicate_auxiliary_input< FieldType > &compliance_predicate_auxiliary_input, const std::vector< r1cs_ppzksnark_proof< other_curve< CurveType >>> &incoming_proofs)
Definition: sp_pcd_circuits.hpp:419
void generate_r1cs_constraints()
Definition: sp_pcd_circuits.hpp:349
r1cs_constraint_system< FieldType > get_circuit() const
Definition: sp_pcd_circuits.hpp:402
r1cs_primary_input< FieldType > get_primary_input() const
Definition: sp_pcd_circuits.hpp:408
Definition: sp_pcd_circuits.hpp:151
void generate_r1cs_witness(const r1cs_primary_input< typename CurveType::scalar_field_type > translation_step_input, const r1cs_ppzksnark_proof< other_curve< CurveType >> &compliance_step_proof)
Definition: sp_pcd_circuits.hpp:529
void generate_r1cs_constraints()
Definition: sp_pcd_circuits.hpp:514
r1cs_constraint_system< FieldType > get_circuit() const
Definition: sp_pcd_circuits.hpp:524
r1cs_auxiliary_input< FieldType > get_auxiliary_input() const
Definition: sp_pcd_circuits.hpp:549
vector(T, U...) -> vector< std::enable_if_t<(std::is_same_v< T, U > &&...), T >, 1+sizeof...(U)>
deduction guide for uniform initialization
OutputIterator move(const SinglePassRange &rng, OutputIterator result)
Definition: move.hpp:45
r1cs_sp_ppzkpcd_keypair< PCD_ppT > r1cs_sp_ppzkpcd_generator(const r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > &compliance_predicate)
Definition: r1cs_sp_ppzkpcd.hpp:330
std::vector< typename FieldType::value_type > r1cs_auxiliary_input
Definition: r1cs.hpp:104
r1cs_sp_ppzkpcd_proof< PCD_ppT > r1cs_sp_ppzkpcd_prover(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &pk, const r1cs_sp_ppzkpcd_primary_input< PCD_ppT > &primary_input, const r1cs_sp_ppzkpcd_auxiliary_input< PCD_ppT > &auxiliary_input, const std::vector< r1cs_sp_ppzkpcd_proof< PCD_ppT >> &incoming_proofs)
Definition: r1cs_sp_ppzkpcd.hpp:374
bool r1cs_sp_ppzkpcd_online_verifier(const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &pvk, const r1cs_sp_ppzkpcd_primary_input< PCD_ppT > &primary_input, const r1cs_sp_ppzkpcd_proof< PCD_ppT > &proof)
Definition: r1cs_sp_ppzkpcd.hpp:422
bool r1cs_sp_ppzkpcd_verifier(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &vk, const r1cs_sp_ppzkpcd_primary_input< PCD_ppT > &primary_input, const r1cs_sp_ppzkpcd_proof< PCD_ppT > &proof)
Definition: r1cs_sp_ppzkpcd.hpp:458
std::vector< typename FieldType::value_type > r1cs_primary_input
Definition: r1cs.hpp:101
typename r1cs_ppzksnark< typename PCD_ppT::curve_B_pp >::proof_type r1cs_sp_ppzkpcd_proof
Definition: r1cs_sp_ppzkpcd.hpp:225
r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > r1cs_sp_ppzkpcd_process_vk(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &vk)
Definition: r1cs_sp_ppzkpcd.hpp:440
Definition: pair.hpp:31
Definition: r1cs.hpp:124