nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType > Class Template Reference

#include <prover.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >:

Public Types

typedef policy_type::auxiliary_input_type auxiliary_input_type
 
typedef policy_type::circuit_type circuit_type
 
typedef policy_type::keypair_type keypair_type
 
typedef policy_type::primary_input_type primary_input_type
 
typedef policy_type::processed_verification_key_type processed_verification_key_type
 
typedef policy_type::proof_type proof_type
 
typedef policy_type::proving_key_type proving_key_type
 
typedef policy_type::verification_key_type verification_key_type
 

Static Public Member Functions

static proof_type process (const proving_key_type &pk, const primary_input_type &primary_input, const auxiliary_input_type &auxiliary_input)
 

Detailed Description

template<typename CurveType>
class nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >

A prover algorithm for the TBCS ppzkSNARK.

Given a TBCS primary input X and a TBCS auxiliary input Y, this algorithm produces a proof (of knowledge) that attests to the following statement: `‘there exists Y such that C(X,Y)=0’'. Above, C is the TBCS circuit that was given as input to the generator algorithm.

Member Typedef Documentation

◆ auxiliary_input_type

◆ circuit_type

template<typename CurveType >
typedef policy_type::circuit_type nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >::circuit_type

◆ keypair_type

template<typename CurveType >
typedef policy_type::keypair_type nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >::keypair_type

◆ primary_input_type

◆ processed_verification_key_type

◆ proof_type

template<typename CurveType >
typedef policy_type::proof_type nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >::proof_type

◆ proving_key_type

◆ verification_key_type

Member Function Documentation

◆ process()

template<typename CurveType >
static proof_type nil::crypto3::zk::snark::tbcs_ppzksnark_prover< CurveType >::process ( const proving_key_type pk,
const primary_input_type primary_input,
const auxiliary_input_type auxiliary_input 
)
inlinestatic

The documentation for this class was generated from the following file: