Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <libsnark/relations/circuit_satisfaction_problems/bacs/bacs.hpp>
#include <libsnark/zk_proof_systems/ppzksnark/bacs_ppzksnark/bacs_ppzksnark_params.hpp>
#include <libsnark/zk_proof_systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark.hpp>
#include <libsnark/zk_proof_systems/ppzksnark/bacs_ppzksnark/bacs_ppzksnark.tcc>
Go to the source code of this file.
Classes | |
class | libsnark::bacs_ppzksnark_proving_key< ppT > |
class | libsnark::bacs_ppzksnark_proving_key< ppT > |
class | libsnark::bacs_ppzksnark_keypair< ppT > |
Namespaces | |
libsnark | |
Typedefs | |
template<typename ppT > | |
using | libsnark::bacs_ppzksnark_verification_key = r1cs_ppzksnark_verification_key< ppT > |
template<typename ppT > | |
using | libsnark::bacs_ppzksnark_processed_verification_key = r1cs_ppzksnark_processed_verification_key< ppT > |
template<typename ppT > | |
using | libsnark::bacs_ppzksnark_proof = r1cs_ppzksnark_proof< ppT > |
Functions | |
template<typename ppT > | |
std::ostream & | libsnark::operator<< (std::ostream &out, const bacs_ppzksnark_proving_key< ppT > &pk) |
template<typename ppT > | |
std::istream & | libsnark::operator>> (std::istream &in, bacs_ppzksnark_proving_key< ppT > &pk) |
template<typename ppT > | |
bacs_ppzksnark_keypair< ppT > | libsnark::bacs_ppzksnark_generator (const bacs_ppzksnark_circuit< ppT > &circuit) |
template<typename ppT > | |
bacs_ppzksnark_proof< ppT > | libsnark::bacs_ppzksnark_prover (const bacs_ppzksnark_proving_key< ppT > &pk, const bacs_ppzksnark_primary_input< ppT > &primary_input, const bacs_ppzksnark_auxiliary_input< ppT > &auxiliary_input) |
template<typename ppT > | |
bool | libsnark::bacs_ppzksnark_verifier_weak_IC (const bacs_ppzksnark_verification_key< ppT > &vk, const bacs_ppzksnark_primary_input< ppT > &primary_input, const bacs_ppzksnark_proof< ppT > &proof) |
template<typename ppT > | |
bool | libsnark::bacs_ppzksnark_verifier_strong_IC (const bacs_ppzksnark_verification_key< ppT > &vk, const bacs_ppzksnark_primary_input< ppT > &primary_input, const bacs_ppzksnark_proof< ppT > &proof) |
template<typename ppT > | |
bacs_ppzksnark_processed_verification_key< ppT > | libsnark::bacs_ppzksnark_verifier_process_vk (const bacs_ppzksnark_verification_key< ppT > &vk) |
template<typename ppT > | |
bool | libsnark::bacs_ppzksnark_online_verifier_weak_IC (const bacs_ppzksnark_processed_verification_key< ppT > &pvk, const bacs_ppzksnark_primary_input< ppT > &primary_input, const bacs_ppzksnark_proof< ppT > &proof) |
template<typename ppT > | |
bool | libsnark::bacs_ppzksnark_online_verifier_strong_IC (const bacs_ppzksnark_processed_verification_key< ppT > &pvk, const bacs_ppzksnark_primary_input< ppT > &primary_input, const bacs_ppzksnark_proof< ppT > &proof) |
Declaration of interfaces for a ppzkSNARK for BACS.
This includes:
The implementation is a straightforward combination of: (1) a BACS-to-R1CS reduction, and (2) a ppzkSNARK for R1CS.
Acronyms:
ppzkSNARK = "PreProcessing Zero-Knowledge Succinct Non-interactive ARgument of Knowledge"
Definition in file bacs_ppzksnark.hpp.