Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Classes | Namespaces | Typedefs | Functions
tbcs_ppzksnark.hpp File Reference
#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>
Include dependency graph for tbcs_ppzksnark.hpp:

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)
 

Detailed Description

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:

Definition in file tbcs_ppzksnark.hpp.