| Clearmatics Libsnark
    0.1
    C++ library for zkSNARK proofs | 
#include <libsnark/zk_proof_systems/pcd/r1cs_pcd/r1cs_sp_ppzkpcd/r1cs_sp_ppzkpcd.hpp>#include <libsnark/zk_proof_systems/zksnark/ram_zksnark/ram_compliance_predicate.hpp>#include <libsnark/zk_proof_systems/zksnark/ram_zksnark/ram_zksnark_params.hpp>#include <memory>#include <libsnark/zk_proof_systems/zksnark/ram_zksnark/ram_zksnark.tcc>

Go to the source code of this file.
| Namespaces | |
| libsnark | |
| Functions | |
| template<typename ram_zksnark_ppT > | |
| std::ostream & | libsnark::operator<< (std::ostream &out, const ram_zksnark_proving_key< ram_zksnark_ppT > &pk) | 
| template<typename ram_zksnark_ppT > | |
| std::istream & | libsnark::operator>> (std::istream &in, ram_zksnark_proving_key< ram_zksnark_ppT > &pk) | 
| template<typename ram_zksnark_ppT > | |
| std::ostream & | libsnark::operator<< (std::ostream &out, const ram_zksnark_verification_key< ram_zksnark_ppT > &vk) | 
| template<typename ram_zksnark_ppT > | |
| std::istream & | libsnark::operator>> (std::istream &in, ram_zksnark_verification_key< ram_zksnark_ppT > &vk) | 
| template<typename ram_zksnark_ppT > | |
| std::ostream & | libsnark::operator<< (std::ostream &out, const ram_zksnark_proof< ram_zksnark_ppT > &proof) | 
| template<typename ram_zksnark_ppT > | |
| std::istream & | libsnark::operator>> (std::istream &in, ram_zksnark_proof< ram_zksnark_ppT > &proof) | 
| template<typename ram_zksnark_ppT > | |
| ram_zksnark_keypair< ram_zksnark_ppT > | libsnark::ram_zksnark_generator (const ram_zksnark_architecture_params< ram_zksnark_ppT > &ap) | 
| template<typename ram_zksnark_ppT > | |
| ram_zksnark_proof< ram_zksnark_ppT > | libsnark::ram_zksnark_prover (const ram_zksnark_proving_key< ram_zksnark_ppT > &pk, const ram_zksnark_primary_input< ram_zksnark_ppT > &primary_input, const size_t time_bound, const ram_zksnark_auxiliary_input< ram_zksnark_ppT > &auxiliary_input) | 
| template<typename ram_zksnark_ppT > | |
| bool | libsnark::ram_zksnark_verifier (const ram_zksnark_verification_key< ram_zksnark_ppT > &vk, const ram_zksnark_primary_input< ram_zksnark_ppT > &primary_input, const size_t time_bound, const ram_zksnark_proof< ram_zksnark_ppT > &proof) | 
Declaration of interfaces for a zkSNARK for RAM.
This includes:
The implementation follows, extends, and optimizes the approach described in [BCTV14]. Thus, the zkSNARK is constructed from a ppzkPCD for R1CS.
Acronyms:
"R1CS" = "Rank-1 Constraint Systems" "RAM" = "Random-Access Machines" "zkSNARK" = "Zero-Knowledge Succinct Non-interactive ARgument of Knowledge" "ppzkPCD" = "Pre-Processing Zero-Knowledge Proof-Carrying Data"
References:
[BCTV14]: "Scalable Zero Knowledge via Cycles of Elliptic Curves", Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, Madars Virza, CRYPTO 2014, http://eprint.iacr.org/2014/595
Definition in file ram_zksnark.hpp.
 1.8.17
 1.8.17