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

#include <proof.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::r1cs_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 r1cs_ppzksnark_proof &other) const
 
 r1cs_ppzksnark_proof ()
 
 r1cs_ppzksnark_proof (typename knowledge_commitment< g1_type, g1_type >::value_type &&g_A, typename knowledge_commitment< g2_type, g1_type >::value_type &&g_B, typename knowledge_commitment< g1_type, g1_type >::value_type &&g_C, g1_value_type &&g_H, g1_value_type &&g_K)
 
std::size_t size_in_bits () const
 

Public Attributes

knowledge_commitment< g1_type, g1_type >::value_type g_A
 
knowledge_commitment< g2_type, g1_type >::value_type g_B
 
knowledge_commitment< g1_type, g1_type >::value_type g_C
 
g1_value_type g_H
 
g1_value_type g_K
 

Detailed Description

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

A proof for the R1CS 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

◆ r1cs_ppzksnark_proof() [1/2]

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

◆ r1cs_ppzksnark_proof() [2/2]

template<typename CurveType >
nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::r1cs_ppzksnark_proof ( typename knowledge_commitment< g1_type, g1_type >::value_type &&  g_A,
typename knowledge_commitment< g2_type, g1_type >::value_type &&  g_B,
typename knowledge_commitment< g1_type, g1_type >::value_type &&  g_C,
g1_value_type &&  g_H,
g1_value_type &&  g_K 
)
inline

Member Function Documentation

◆ G1_size()

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

◆ G2_size()

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

◆ is_well_formed()

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

◆ operator==()

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

◆ size_in_bits()

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

Member Data Documentation

◆ g_A

template<typename CurveType >
knowledge_commitment<g1_type, g1_type>::value_type nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::g_A

◆ g_B

template<typename CurveType >
knowledge_commitment<g2_type, g1_type>::value_type nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::g_B

◆ g_C

template<typename CurveType >
knowledge_commitment<g1_type, g1_type>::value_type nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::g_C

◆ g_H

template<typename CurveType >
g1_value_type nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::g_H

◆ g_K

template<typename CurveType >
g1_value_type nil::crypto3::zk::snark::r1cs_ppzksnark_proof< CurveType >::g_K

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