|
Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <kzg10_verifier_gadget.hpp>


Public Types | |
| using | FieldT = libff::Fr< ppT > |
Public Member Functions | |
| kzg10_verifier_gadget (protoboard< libff::Fr< ppT >> &pb, const kzg10_srs_variable< ppT > &srs, const kzg10_commitment_variable< ppT > &commitmennt, pb_linear_combination< libff::Fr< ppT >> i, pb_linear_combination< libff::Fr< ppT >> poly_eval, const kzg10_witness_variable< ppT > &witness, pb_variable< libff::Fr< ppT >> result, const std::string &annotation_prefix) | |
| void | generate_r1cs_constraints () |
| void | generate_r1cs_witness () |
Public Member Functions inherited from libsnark::gadget< libff::Fr< ppT > > | |
| gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
| G2_variable_or_identity< ppT > | i_in_G2 |
| G2_mul_by_scalar_gadget< ppT > | compute_i_in_G2 |
| G2_variable< ppT > | B |
| G2_add_gadget< ppT > | compute_B |
| G1_variable_or_identity< ppT > | poly_eval_in_G1 |
| G1_mul_by_scalar_gadget< ppT > | compute_poly_eval_in_G1 |
| G1_variable< ppT > | C |
| G1_add_gadget< ppT > | compute_C |
| G1_precomputation< ppT > | A_precomp |
| precompute_G1_gadget< ppT > | compute_A_precomp |
| G2_precomputation< ppT > | B_precomp |
| precompute_G2_gadget< ppT > | compute_B_precomp |
| G1_precomputation< ppT > | C_precomp |
| precompute_G1_gadget< ppT > | compute_C_precomp |
| G2_precomputation< ppT > | D_precomp |
| pb_variable< libff::Fr< ppT > > | check_result |
| check_e_equals_e_gadget< ppT > | check_pairing_equality |
| pb_variable< libff::Fr< ppT > > | group_elements_non_zero |
| pb_variable< libff::Fr< ppT > > | result |
Additional Inherited Members | |
Protected Attributes inherited from libsnark::gadget< libff::Fr< ppT > > | |
| protoboard< libff::Fr< ppT > > & | pb |
| const std::string | annotation_prefix |
Uses a nested pairing (via a pairing selector) to implement the verification step of [KZG10]. See the native implementation for details.
TODO: this gadget does not currently support either the evaluation point i or the result of polynomial evaluation being zero. This could potentially be addressed by further use of gadgets that handle variable_or_identity inputs.
Definition at line 63 of file kzg10_verifier_gadget.hpp.
| using libsnark::kzg10_verifier_gadget< ppT >::FieldT = libff::Fr<ppT> |
Definition at line 66 of file kzg10_verifier_gadget.hpp.
| libsnark::kzg10_verifier_gadget< ppT >::kzg10_verifier_gadget | ( | protoboard< libff::Fr< ppT >> & | pb, |
| const kzg10_srs_variable< ppT > & | srs, | ||
| const kzg10_commitment_variable< ppT > & | commitmennt, | ||
| pb_linear_combination< libff::Fr< ppT >> | i, | ||
| pb_linear_combination< libff::Fr< ppT >> | poly_eval, | ||
| const kzg10_witness_variable< ppT > & | witness, | ||
| pb_variable< libff::Fr< ppT >> | result, | ||
| const std::string & | annotation_prefix | ||
| ) |
| void libsnark::kzg10_verifier_gadget< ppT >::generate_r1cs_constraints | ( | ) |
| void libsnark::kzg10_verifier_gadget< ppT >::generate_r1cs_witness | ( | ) |
| G1_precomputation<ppT> libsnark::kzg10_verifier_gadget< ppT >::A_precomp |
Definition at line 98 of file kzg10_verifier_gadget.hpp.
| G2_variable<ppT> libsnark::kzg10_verifier_gadget< ppT >::B |
Definition at line 88 of file kzg10_verifier_gadget.hpp.
| G2_precomputation<ppT> libsnark::kzg10_verifier_gadget< ppT >::B_precomp |
Definition at line 100 of file kzg10_verifier_gadget.hpp.
| G1_variable<ppT> libsnark::kzg10_verifier_gadget< ppT >::C |
Definition at line 94 of file kzg10_verifier_gadget.hpp.
| G1_precomputation<ppT> libsnark::kzg10_verifier_gadget< ppT >::C_precomp |
Definition at line 102 of file kzg10_verifier_gadget.hpp.
| check_e_equals_e_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::check_pairing_equality |
Definition at line 109 of file kzg10_verifier_gadget.hpp.
| pb_variable<libff::Fr<ppT> > libsnark::kzg10_verifier_gadget< ppT >::check_result |
Definition at line 108 of file kzg10_verifier_gadget.hpp.
| precompute_G1_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_A_precomp |
Definition at line 99 of file kzg10_verifier_gadget.hpp.
| G2_add_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_B |
Definition at line 89 of file kzg10_verifier_gadget.hpp.
| precompute_G2_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_B_precomp |
Definition at line 101 of file kzg10_verifier_gadget.hpp.
| G1_add_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_C |
Definition at line 95 of file kzg10_verifier_gadget.hpp.
| precompute_G1_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_C_precomp |
Definition at line 103 of file kzg10_verifier_gadget.hpp.
| G2_mul_by_scalar_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_i_in_G2 |
Definition at line 87 of file kzg10_verifier_gadget.hpp.
| G1_mul_by_scalar_gadget<ppT> libsnark::kzg10_verifier_gadget< ppT >::compute_poly_eval_in_G1 |
Definition at line 93 of file kzg10_verifier_gadget.hpp.
| G2_precomputation<ppT> libsnark::kzg10_verifier_gadget< ppT >::D_precomp |
Definition at line 106 of file kzg10_verifier_gadget.hpp.
| pb_variable<libff::Fr<ppT> > libsnark::kzg10_verifier_gadget< ppT >::group_elements_non_zero |
Definition at line 113 of file kzg10_verifier_gadget.hpp.
| G2_variable_or_identity<ppT> libsnark::kzg10_verifier_gadget< ppT >::i_in_G2 |
Definition at line 86 of file kzg10_verifier_gadget.hpp.
| G1_variable_or_identity<ppT> libsnark::kzg10_verifier_gadget< ppT >::poly_eval_in_G1 |
Definition at line 92 of file kzg10_verifier_gadget.hpp.
| pb_variable<libff::Fr<ppT> > libsnark::kzg10_verifier_gadget< ppT >::result |
Definition at line 116 of file kzg10_verifier_gadget.hpp.
1.8.17