nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType > Struct Template Reference

#include <proving_key.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >:

Public Types

typedef CircuitType circuit_type
 
typedef CurveType curve_type
 
typedef curve_type::scalar_field_type field_type
 

Public Member Functions

std::size_t G1_size () const
 
std::size_t G1_sparse_size () const
 
std::size_t G2_size () const
 
std::size_t G2_sparse_size () const
 
tbcs_ppzksnark_proving_keyoperator= (const tbcs_ppzksnark_proving_key &other)=default
 
bool operator== (const tbcs_ppzksnark_proving_key &other) const
 
std::size_t size_in_bits () const
 
 tbcs_ppzksnark_proving_key ()
 
 tbcs_ppzksnark_proving_key (circuit_type &&circuit, uscs_ppzksnark_proving_key< CurveType, circuit_type > &&uscs_pk)
 
 tbcs_ppzksnark_proving_key (const circuit_type &circuit, const uscs_ppzksnark_proving_key< CurveType, circuit_type > &uscs_pk)
 
 tbcs_ppzksnark_proving_key (const tbcs_ppzksnark_proving_key &other)=default
 
 tbcs_ppzksnark_proving_key (tbcs_ppzksnark_proving_key &&other)=default
 

Public Attributes

circuit_type circuit
 
uscs_ppzksnark_proving_key< CurveType, circuit_typeuscs_pk
 

Detailed Description

template<typename CurveType, typename CircuitType>
struct nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >

A proving key for the R1CS ppzkSNARK.

Member Typedef Documentation

◆ circuit_type

template<typename CurveType , typename CircuitType >
typedef CircuitType nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::circuit_type

◆ curve_type

template<typename CurveType , typename CircuitType >
typedef CurveType nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::curve_type

◆ field_type

template<typename CurveType , typename CircuitType >
typedef curve_type::scalar_field_type nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::field_type

Constructor & Destructor Documentation

◆ tbcs_ppzksnark_proving_key() [1/5]

template<typename CurveType , typename CircuitType >
nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::tbcs_ppzksnark_proving_key ( )
inline

◆ tbcs_ppzksnark_proving_key() [2/5]

template<typename CurveType , typename CircuitType >
nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::tbcs_ppzksnark_proving_key ( const tbcs_ppzksnark_proving_key< CurveType, CircuitType > &  other)
default

◆ tbcs_ppzksnark_proving_key() [3/5]

template<typename CurveType , typename CircuitType >
nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::tbcs_ppzksnark_proving_key ( tbcs_ppzksnark_proving_key< CurveType, CircuitType > &&  other)
default

◆ tbcs_ppzksnark_proving_key() [4/5]

template<typename CurveType , typename CircuitType >
nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::tbcs_ppzksnark_proving_key ( const circuit_type circuit,
const uscs_ppzksnark_proving_key< CurveType, circuit_type > &  uscs_pk 
)
inline

◆ tbcs_ppzksnark_proving_key() [5/5]

template<typename CurveType , typename CircuitType >
nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::tbcs_ppzksnark_proving_key ( circuit_type &&  circuit,
uscs_ppzksnark_proving_key< CurveType, circuit_type > &&  uscs_pk 
)
inline

Member Function Documentation

◆ G1_size()

template<typename CurveType , typename CircuitType >
std::size_t nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::G1_size ( ) const
inline

◆ G1_sparse_size()

template<typename CurveType , typename CircuitType >
std::size_t nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::G1_sparse_size ( ) const
inline

◆ G2_size()

template<typename CurveType , typename CircuitType >
std::size_t nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::G2_size ( ) const
inline

◆ G2_sparse_size()

template<typename CurveType , typename CircuitType >
std::size_t nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::G2_sparse_size ( ) const
inline

◆ operator=()

template<typename CurveType , typename CircuitType >
tbcs_ppzksnark_proving_key& nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::operator= ( const tbcs_ppzksnark_proving_key< CurveType, CircuitType > &  other)
default

◆ operator==()

template<typename CurveType , typename CircuitType >
bool nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::operator== ( const tbcs_ppzksnark_proving_key< CurveType, CircuitType > &  other) const
inline

◆ size_in_bits()

template<typename CurveType , typename CircuitType >
std::size_t nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::size_in_bits ( ) const
inline

Member Data Documentation

◆ circuit

template<typename CurveType , typename CircuitType >
circuit_type nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::circuit

◆ uscs_pk

template<typename CurveType , typename CircuitType >
uscs_ppzksnark_proving_key<CurveType, circuit_type> nil::crypto3::zk::snark::tbcs_ppzksnark_proving_key< CurveType, CircuitType >::uscs_pk

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