nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > > Struct Reference

#include <marshalling.hpp>

+ Collaboration diagram for nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >:

Public Types

using chunk_type = std::uint8_t
 
using CurveType = typename algebra::curves::bls12< 381 >
 
using scheme_type = nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType >
 

Static Public Member Functions

template<typename FieldType >
static std::enable_if<!::nil::crypto3::algebra::is_extended_field< FieldType >::value, typename FieldType::value_type >::type field_type_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
template<typename FieldType >
static std::enable_if<::nil::crypto3::algebra::is_extended_field< FieldType >::value, typename FieldType::value_type >::type field_type_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
template<typename T >
static accumulation_vector< T > g1_accumulation_vector_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
template<typename GroupType >
static GroupType::value_type g1_group_type_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
template<typename T >
static sparse_vector< T > g1_sparse_vector_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
template<typename GroupType >
static GroupType::value_type g2_group_type_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static crypto3::zk::snark::detail::element_kc< typename CurveType::template g2_type<>, typename CurveType::template g1_type<> > g2g1_element_kc_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static knowledge_commitment_vector< typename CurveType::template g2_type<>, typename CurveType::template g1_type<> > g2g1_knowledge_commitment_vector_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static linear_combination< typename CurveType::scalar_field_type > linear_combination_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static linear_term< typename CurveType::scalar_field_type > linear_term_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static scheme_type::primary_input_type primary_input_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static scheme_type::proof_type proof_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static scheme_type::proving_key_type proving_key_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static r1cs_constraint< typename CurveType::scalar_field_type > r1cs_constraint_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static r1cs_constraint_system< typename CurveType::scalar_field_type > r1cs_constraint_system_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static std::size_t std_size_t_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static scheme_type::verification_key_type verification_key_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 
static std::tuple< typename scheme_type::verification_key_type, typename scheme_type::primary_input_type, typename scheme_type::proof_type > verifier_input_process (typename std::vector< chunk_type >::const_iterator read_iter_begin, typename std::vector< chunk_type >::const_iterator read_iter_end, status_type &processingStatus)
 

Static Public Attributes

constexpr static const std::size_t chunk_size = 8
 
static const std::size_t fp_byteblob_size
 
static const std::size_t fr_byteblob_size
 
static const std::size_t g1_byteblob_size = curve_element_serializer<CurveType>::sizeof_field_element
 
static const std::size_t g2_byteblob_size = 2 * curve_element_serializer<CurveType>::sizeof_field_element
 
static const std::size_t g2g1_element_kc_byteblob_size = g2_byteblob_size + g1_byteblob_size
 
static const std::size_t gt_byteblob_size = 2 * 3 * 2 * fp_byteblob_size
 
static const std::size_t linear_term_byteblob_size = std_size_t_byteblob_size + fr_byteblob_size
 
static const std::size_t std_size_t_byteblob_size = 4
 

Member Typedef Documentation

◆ chunk_type

◆ CurveType

◆ scheme_type

Member Function Documentation

◆ field_type_process() [1/2]

template<typename FieldType >
static std::enable_if<!::nil::crypto3::algebra::is_extended_field<FieldType>::value, typename FieldType::value_type>::type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::field_type_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ field_type_process() [2/2]

template<typename FieldType >
static std::enable_if<::nil::crypto3::algebra::is_extended_field<FieldType>::value, typename FieldType::value_type>::type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::field_type_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g1_accumulation_vector_process()

template<typename T >
static accumulation_vector<T> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_accumulation_vector_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g1_group_type_process()

template<typename GroupType >
static GroupType::value_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_group_type_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g1_sparse_vector_process()

template<typename T >
static sparse_vector<T> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_sparse_vector_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g2_group_type_process()

template<typename GroupType >
static GroupType::value_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2_group_type_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g2g1_element_kc_process()

static crypto3::zk::snark::detail::element_kc<typename CurveType::template g2_type<>, typename CurveType::template g1_type<> > nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2g1_element_kc_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ g2g1_knowledge_commitment_vector_process()

static knowledge_commitment_vector<typename CurveType::template g2_type<>, typename CurveType::template g1_type<> > nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2g1_knowledge_commitment_vector_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ linear_combination_process()

static linear_combination<typename CurveType::scalar_field_type> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::linear_combination_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ linear_term_process()

static linear_term<typename CurveType::scalar_field_type> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::linear_term_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ primary_input_process()

static scheme_type::primary_input_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::primary_input_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ proof_process()

static scheme_type::proof_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::proof_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ proving_key_process()

static scheme_type::proving_key_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::proving_key_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ r1cs_constraint_process()

static r1cs_constraint<typename CurveType::scalar_field_type> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::r1cs_constraint_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ r1cs_constraint_system_process()

static r1cs_constraint_system<typename CurveType::scalar_field_type> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::r1cs_constraint_system_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ std_size_t_process()

static std::size_t nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::std_size_t_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ verification_key_process()

static scheme_type::verification_key_type nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::verification_key_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

◆ verifier_input_process()

static std::tuple<typename scheme_type::verification_key_type, typename scheme_type::primary_input_type, typename scheme_type::proof_type> nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::verifier_input_process ( typename std::vector< chunk_type >::const_iterator  read_iter_begin,
typename std::vector< chunk_type >::const_iterator  read_iter_end,
status_type &  processingStatus 
)
inlinestatic

Member Data Documentation

◆ chunk_size

constexpr static const std::size_t nil::marshalling::verifier_input_deserializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::chunk_size = 8
staticconstexpr

◆ fp_byteblob_size

Initial value:
= CurveType::base_field_type::modulus_bits / chunk_size +
(CurveType::base_field_type::modulus_bits % chunk_size ? 1 : 0)
constexpr static const std::size_t chunk_size
Definition: zk/include/nil/crypto3/zk/snark/schemes/ppzksnark/r1cs_gg_ppzksnark/marshalling.hpp:108

◆ fr_byteblob_size

Initial value:
=
CurveType::scalar_field_type::modulus_bits / chunk_size +
(CurveType::scalar_field_type::modulus_bits % chunk_size ? 1 : 0)

◆ g1_byteblob_size

◆ g2_byteblob_size

◆ g2g1_element_kc_byteblob_size

◆ gt_byteblob_size

◆ linear_term_byteblob_size

◆ std_size_t_byteblob_size


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