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

#include <proof.hpp>

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

Public Member Functions

std::size_t G1_size () const
 
std::size_t G2_size () const
 
bool is_well_formed () const
 
bool operator== (const uscs_ppzksnark_proof &other) const
 
std::size_t size_in_bits () const
 
 uscs_ppzksnark_proof ()
 
 uscs_ppzksnark_proof (typename g1_type::value_type &&V_g1, typename g1_type::value_type &&alpha_V_g1, typename g1_type::value_type &&H_g1, typename g2_type::value_type &&V_g2)
 

Public Attributes

g1_type::value_type alpha_V_g1
 
g1_type::value_type H_g1
 
g1_type::value_type V_g1
 
g2_type::value_type V_g2
 

Detailed Description

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

A proof for the USCS ppzkSNARK.

While the proof has a structure, externally one merely opaquely produces, serializes/deserializes, and verifies proofs. We only expose some information about the structure for statistics purposes.

Constructor & Destructor Documentation

◆ uscs_ppzksnark_proof() [1/2]

template<typename CurveType >
nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::uscs_ppzksnark_proof ( )
inline

◆ uscs_ppzksnark_proof() [2/2]

template<typename CurveType >
nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::uscs_ppzksnark_proof ( typename g1_type::value_type &&  V_g1,
typename g1_type::value_type &&  alpha_V_g1,
typename g1_type::value_type &&  H_g1,
typename g2_type::value_type &&  V_g2 
)
inline

Member Function Documentation

◆ G1_size()

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

◆ G2_size()

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

◆ is_well_formed()

template<typename CurveType >
bool nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::is_well_formed ( ) const
inline

◆ operator==()

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

◆ size_in_bits()

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

Member Data Documentation

◆ alpha_V_g1

template<typename CurveType >
g1_type::value_type nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::alpha_V_g1

◆ H_g1

template<typename CurveType >
g1_type::value_type nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::H_g1

◆ V_g1

template<typename CurveType >
g1_type::value_type nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::V_g1

◆ V_g2

template<typename CurveType >
g2_type::value_type nil::crypto3::zk::snark::uscs_ppzksnark_proof< CurveType >::V_g2

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