Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Classes | Namespaces | Functions
sp_pcd_circuits.hpp File Reference
#include <libsnark/gadgetlib1/gadgets/gadget_from_r1cs.hpp>
#include <libsnark/gadgetlib1/gadgets/hashes/crh_gadget.hpp>
#include <libsnark/gadgetlib1/gadgets/pairing/pairing_params.hpp>
#include <libsnark/gadgetlib1/gadgets/verifiers/r1cs_ppzksnark_verifier_gadget.hpp>
#include <libsnark/gadgetlib1/protoboard.hpp>
#include <libsnark/zk_proof_systems/pcd/r1cs_pcd/compliance_predicate/cp_handler.hpp>
#include <libsnark/zk_proof_systems/pcd/r1cs_pcd/r1cs_sp_ppzkpcd/sp_pcd_circuits.tcc>
Include dependency graph for sp_pcd_circuits.hpp:

Go to the source code of this file.

Classes

class  libsnark::sp_compliance_step_pcd_circuit_maker< ppT >
 
class  libsnark::sp_translation_step_pcd_circuit_maker< ppT >
 

Namespaces

 libsnark
 

Functions

template<typename ppT >
r1cs_primary_input< libff::Fr< ppT > > libsnark::get_sp_compliance_step_pcd_circuit_input (const libff::bit_vector &sp_translation_step_vk_bits, const r1cs_pcd_compliance_predicate_primary_input< libff::Fr< ppT >> &primary_input)
 
template<typename ppT >
r1cs_primary_input< libff::Fr< ppT > > libsnark::get_sp_translation_step_pcd_circuit_input (const libff::bit_vector &sp_translation_step_vk_bits, const r1cs_pcd_compliance_predicate_primary_input< libff::Fr< other_curve< ppT >>> &primary_input)
 

Detailed Description

Declaration of functionality for creating and using the two PCD circuits in a single-predicate PCD construction.

The implementation follows, extends, and optimizes the approach described in [BCTV14]. At high level, there is a "compliance step" circuit and a "translation step" circuit. For more details see Section 4 of [BCTV14].

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

Author
This file is part of libsnark, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file sp_pcd_circuits.hpp.