Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the documentation of this file.
40 #ifndef R1CS_SP_PPZKPCD_HPP_
41 #define R1CS_SP_PPZKPCD_HPP_
54 template<
typename PCD_ppT>
58 template<
typename PCD_ppT>
68 typedef typename PCD_ppT::curve_A_pp
A_pp;
69 typedef typename PCD_ppT::curve_B_pp
B_pp;
110 friend std::ostream &operator<<<PCD_ppT>(
112 friend std::istream &
operator>>
120 template<
typename PCD_ppT>
124 template<
typename PCD_ppT>
134 typedef typename PCD_ppT::curve_A_pp
A_pp;
135 typedef typename PCD_ppT::curve_B_pp
B_pp;
163 friend std::ostream &operator<<<PCD_ppT>(
165 friend std::istream &
operator>><PCD_ppT>(
175 template<
typename PCD_ppT>
180 template<
typename PCD_ppT>
194 typedef typename PCD_ppT::curve_A_pp
A_pp;
195 typedef typename PCD_ppT::curve_B_pp
B_pp;
232 friend std::ostream &operator<<<PCD_ppT>(
235 friend std::istream &
operator>><PCD_ppT>(
249 typedef typename PCD_ppT::curve_A_pp
A_pp;
250 typedef typename PCD_ppT::curve_B_pp
B_pp;
260 :
pk(std::move(
pk)),
vk(std::move(
vk)){};
264 :
pk(std::move(kp_A.
pk), std::move(kp_B.
pk))
265 ,
vk(std::move(kp_A.
vk), std::move(kp_B.
vk)){};
273 template<
typename PCD_ppT>
285 template<
typename PCD_ppT>
296 template<
typename PCD_ppT>
316 template<
typename PCD_ppT>
325 template<
typename PCD_ppT>
333 template<
typename PCD_ppT>
343 #endif // R1CS_SP_PPZKPCD_HPP_
size_t size_in_bits() const
bool operator==(const r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > &other) const
r1cs_sp_ppzkpcd_proving_key< PCD_ppT > pk
size_t size_in_bits() const
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)
static r1cs_sp_ppzkpcd_verification_key< PCD_ppT > dummy_verification_key()
std::ostream & operator<<(std::ostream &out, const accumulation_vector< T > &v)
size_t size_in_bits() const
r1cs_sp_ppzkpcd_proving_key(const r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > &compliance_predicate, r1cs_ppzksnark_proving_key< A_pp > &&compliance_step_r1cs_pk, r1cs_ppzksnark_proving_key< B_pp > &&translation_step_r1cs_pk, const r1cs_ppzksnark_verification_key< A_pp > &compliance_step_r1cs_vk, const r1cs_ppzksnark_verification_key< B_pp > &translation_step_r1cs_vk)
r1cs_ppzksnark_processed_verification_key< B_pp > translation_step_r1cs_pvk
bool operator==(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &other) const
r1cs_ppzksnark_verification_key< A_pp > compliance_step_r1cs_vk
r1cs_ppzksnark_processed_verification_key< A_pp > compliance_step_r1cs_pvk
r1cs_sp_ppzkpcd_processed_verification_key()
libff::bit_vector translation_step_r1cs_vk_bits
r1cs_sp_ppzkpcd_verification_key()=default
size_t size_in_bits() const
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)
r1cs_ppzksnark_proving_key< B_pp > translation_step_r1cs_pk
r1cs_sp_ppzkpcd_verification_key< PCD_ppT > vk
r1cs_sp_ppzkpcd_proving_key< PCD_ppT > & operator=(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &other)=default
r1cs_sp_ppzkpcd_keypair< PCD_ppT > r1cs_sp_ppzkpcd_generator(const r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > &compliance_predicate)
r1cs_sp_ppzkpcd_processed_verification_key(r1cs_ppzksnark_processed_verification_key< A_pp > &&compliance_step_r1cs_pvk, r1cs_ppzksnark_processed_verification_key< B_pp > &&translation_step_r1cs_pvk, const libff::bit_vector &translation_step_r1cs_vk_bits)
r1cs_sp_ppzkpcd_keypair(r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &&pk, r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &&vk)
r1cs_ppzksnark_proof< typename PCD_ppT::curve_B_pp > r1cs_sp_ppzkpcd_proof
r1cs_ppzksnark_proving_key< A_pp > compliance_step_r1cs_pk
r1cs_ppzksnark_verification_key< B_pp > translation_step_r1cs_vk
r1cs_sp_ppzkpcd_keypair(r1cs_ppzksnark_keypair< A_pp > &&kp_A, r1cs_ppzksnark_keypair< B_pp > &&kp_B)
r1cs_sp_ppzkpcd_compliance_predicate< PCD_ppT > compliance_predicate
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)
std::istream & operator>>(std::istream &in, accumulation_vector< T > &v)
r1cs_ppzksnark_verification_key< A_pp > compliance_step_r1cs_vk
bool operator==(const r1cs_sp_ppzkpcd_proving_key< PCD_ppT > &other) const
size_t size_in_bits() const
r1cs_sp_ppzkpcd_proving_key()
r1cs_sp_ppzkpcd_keypair()
r1cs_sp_ppzkpcd_verification_key< PCD_ppT > & operator=(const r1cs_sp_ppzkpcd_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
r1cs_sp_ppzkpcd_processed_verification_key< PCD_ppT > r1cs_sp_ppzkpcd_process_vk(const r1cs_sp_ppzkpcd_verification_key< PCD_ppT > &vk)
r1cs_sp_ppzkpcd_verification_key(const r1cs_ppzksnark_verification_key< A_pp > &compliance_step_r1cs_vk, const r1cs_ppzksnark_verification_key< B_pp > &translation_step_r1cs_vk)
r1cs_ppzksnark_verification_key< B_pp > translation_step_r1cs_vk