| 
    Clearmatics Libsnark
    0.1
    
   C++ library for zkSNARK proofs 
   | 
 
#include <libsnark/relations/circuit_satisfaction_problems/tbcs/tbcs.hpp>#include <libsnark/zk_proof_systems/ppzksnark/tbcs_ppzksnark/tbcs_ppzksnark_params.hpp>#include <libsnark/zk_proof_systems/ppzksnark/uscs_ppzksnark/uscs_ppzksnark.hpp>#include <libsnark/zk_proof_systems/ppzksnark/tbcs_ppzksnark/tbcs_ppzksnark.tcc>
Go to the source code of this file.
Classes | |
| class | libsnark::tbcs_ppzksnark_proving_key< ppT > | 
| class | libsnark::tbcs_ppzksnark_proving_key< ppT > | 
| class | libsnark::tbcs_ppzksnark_keypair< ppT > | 
Namespaces | |
| libsnark | |
Typedefs | |
| template<typename ppT > | |
| using | libsnark::tbcs_ppzksnark_verification_key = uscs_ppzksnark_verification_key< ppT > | 
| template<typename ppT > | |
| using | libsnark::tbcs_ppzksnark_processed_verification_key = uscs_ppzksnark_processed_verification_key< ppT > | 
| template<typename ppT > | |
| using | libsnark::tbcs_ppzksnark_proof = uscs_ppzksnark_proof< ppT > | 
Functions | |
| template<typename ppT > | |
| std::ostream & | libsnark::operator<< (std::ostream &out, const tbcs_ppzksnark_proving_key< ppT > &pk) | 
| template<typename ppT > | |
| std::istream & | libsnark::operator>> (std::istream &in, tbcs_ppzksnark_proving_key< ppT > &pk) | 
| template<typename ppT > | |
| tbcs_ppzksnark_keypair< ppT > | libsnark::tbcs_ppzksnark_generator (const tbcs_ppzksnark_circuit &circuit) | 
| template<typename ppT > | |
| tbcs_ppzksnark_proof< ppT > | libsnark::tbcs_ppzksnark_prover (const tbcs_ppzksnark_proving_key< ppT > &pk, const tbcs_ppzksnark_primary_input &primary_input, const tbcs_ppzksnark_auxiliary_input &auxiliary_input) | 
| template<typename ppT > | |
| bool | libsnark::tbcs_ppzksnark_verifier_weak_IC (const tbcs_ppzksnark_verification_key< ppT > &vk, const tbcs_ppzksnark_primary_input &primary_input, const tbcs_ppzksnark_proof< ppT > &proof) | 
| template<typename ppT > | |
| bool | libsnark::tbcs_ppzksnark_verifier_strong_IC (const tbcs_ppzksnark_verification_key< ppT > &vk, const tbcs_ppzksnark_primary_input &primary_input, const tbcs_ppzksnark_proof< ppT > &proof) | 
| template<typename ppT > | |
| tbcs_ppzksnark_processed_verification_key< ppT > | libsnark::tbcs_ppzksnark_verifier_process_vk (const tbcs_ppzksnark_verification_key< ppT > &vk) | 
| template<typename ppT > | |
| bool | libsnark::tbcs_ppzksnark_online_verifier_weak_IC (const tbcs_ppzksnark_processed_verification_key< ppT > &pvk, const tbcs_ppzksnark_primary_input &primary_input, const tbcs_ppzksnark_proof< ppT > &proof) | 
| template<typename ppT > | |
| bool | libsnark::tbcs_ppzksnark_online_verifier_strong_IC (const tbcs_ppzksnark_processed_verification_key< ppT > &pvk, const tbcs_ppzksnark_primary_input &primary_input, const tbcs_ppzksnark_proof< ppT > &proof) | 
Declaration of interfaces for a ppzkSNARK for TBCS.
This includes:
The implementation is a straightforward combination of: (1) a TBCS-to-USCS reduction, and (2) a ppzkSNARK for USCS.
Acronyms:
ppzkSNARK = "PreProcessing Zero-Knowledge Succinct Non-interactive ARgument of Knowledge"
Definition in file tbcs_ppzksnark.hpp.
 1.8.17