nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof Class Reference

#include <basic_policy.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof:

Public Member Functions

std::size_t G1_size () const
 
std::size_t G2_size () const
 
bool is_well_formed () const
 
bool operator== (const proof< CurveType > &other) const
 
 proof ()
 
 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, typename knowledge_commitment< g1_type, g1_type >::value_type &&g_Aau, g1_value_type &&muA)
 
std::size_t size_in_bits () const
 

Public Attributes

knowledge_commitment< g1_value_type, g1_value_type >::value_type g_A
 
knowledge_commitment< g1_value_type, g1_value_type >::value_type g_Aau
 
knowledge_commitment< g2_value_type, g1_value_type >::value_type g_B
 
knowledge_commitment< g1_value_type, g1_value_type >::value_type g_C
 
g1_value_type g_H
 
g1_value_type g_K
 
g1_value_type muA
 

Detailed Description

template<typename CurveType>
class nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof

A proof for the R1CS ppzkADSNARK.

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

◆ proof() [1/2]

template<typename CurveType >
nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::proof ( )
inline

◆ proof() [2/2]

template<typename CurveType >
nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::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,
typename knowledge_commitment< g1_type, g1_type >::value_type &&  g_Aau,
g1_value_type &&  muA 
)
inline

Member Function Documentation

◆ G1_size()

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

◆ G2_size()

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

◆ is_well_formed()

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

◆ operator==()

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

◆ size_in_bits()

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

Member Data Documentation

◆ g_A

template<typename CurveType >
knowledge_commitment<g1_value_type, g1_value_type>::value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_A

◆ g_Aau

template<typename CurveType >
knowledge_commitment<g1_value_type, g1_value_type>::value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_Aau

◆ g_B

template<typename CurveType >
knowledge_commitment<g2_value_type, g1_value_type>::value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_B

◆ g_C

template<typename CurveType >
knowledge_commitment<g1_value_type, g1_value_type>::value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_C

◆ g_H

template<typename CurveType >
g1_value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_H

◆ g_K

template<typename CurveType >
g1_value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::g_K

◆ muA

template<typename CurveType >
g1_value_type nil::crypto3::zk::snark::detail::r1cs_ppzkadsnark_basic_policy< CurveType >::proof::muA

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