Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Namespaces | Functions
uscs_to_ssp.hpp File Reference
#include <libsnark/relations/arithmetic_programs/ssp/ssp.hpp>
#include <libsnark/relations/constraint_satisfaction_problems/uscs/uscs.hpp>
#include <libsnark/reductions/uscs_to_ssp/uscs_to_ssp.tcc>
Include dependency graph for uscs_to_ssp.hpp:

Go to the source code of this file.

Namespaces

 libsnark
 

Functions

template<typename FieldT >
ssp_instance< FieldT > libsnark::uscs_to_ssp_instance_map (const uscs_constraint_system< FieldT > &cs)
 
template<typename FieldT >
ssp_instance_evaluation< FieldT > libsnark::uscs_to_ssp_instance_map_with_evaluation (const uscs_constraint_system< FieldT > &cs, const FieldT &t)
 
template<typename FieldT >
ssp_witness< FieldT > libsnark::uscs_to_ssp_witness_map (const uscs_constraint_system< FieldT > &cs, const uscs_primary_input< FieldT > &primary_input, const uscs_auxiliary_input< FieldT > &auxiliary_input, const FieldT &d)
 

Detailed Description

Declaration of interfaces for a USCS-to-SSP reduction, that is, constructing a SSP ("Square Span Program") from a USCS ("boolean circuit with 2-input gates").

SSPs are defined in [DFGK14], and constructed for USCS also in [DFGK14].

The implementation of the reduction adapts to [DFGK14], extends, and optimizes the efficient QAP-based approach described in Appendix E of [BCGTV13].

References:

[BCGTV13] "SNARKs for C: Verifying Program Executions Succinctly and in Zero Knowledge", Eli Ben-Sasson, Alessandro Chiesa, Daniel Genkin, Eran Tromer, Madars Virza, CRYPTO 2013, http://eprint.iacr.org/2013/507

[DFGK14]: "Square Span Programs with Applications to Succinct NIZK Arguments" George Danezis, Cedric Fournet, Jens Groth, Markulf Kohlweiss, ASIACRYPT 2014, http://eprint.iacr.org/2014/718

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

Definition in file uscs_to_ssp.hpp.