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

#include <generator.hpp>

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

Public Types

typedef policy_type::constraint_system_type constraint_system_type
 
typedef CurveType curve_type
 
typedef policy_type::keypair_type keypair_type
 
typedef policy_type::proving_key_type proving_key_type
 
typedef policy_type::verification_key_type verification_key_type
 

Static Public Member Functions

static keypair_type process (const constraint_system_type &constraint_system)
 

Detailed Description

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

A generator algorithm for the R1CS SEppzkSNARK.

Given a R1CS constraint system CS, this algorithm produces proving and verification keys for CS.

Member Typedef Documentation

◆ constraint_system_type

◆ curve_type

template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::r1cs_se_ppzksnark_generator< CurveType >::curve_type

◆ keypair_type

◆ proving_key_type

◆ verification_key_type

Member Function Documentation

◆ process()

template<typename CurveType >
static keypair_type nil::crypto3::zk::snark::r1cs_se_ppzksnark_generator< CurveType >::process ( const constraint_system_type constraint_system)
inlinestatic

draw random element t at which the SAP is evaluated. it should be the case that Z(t) != 0

sap_inst.{A,C,H}t are now in an unspecified state, but we do not use them below


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