nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType > Struct Template Reference
#include <commitment.hpp>

Public Types | |
typedef CurveType | curve_type |
typedef wkey_type::group_value_type | g1_value_type |
typedef vkey_type::group_value_type | g2_value_type |
typedef curve_type::gt_type::value_type | gt_value_type |
typedef r1cs_gg_ppzksnark_ipp2_commitment_output< curve_type > | output_type |
typedef algebra::pairing::pairing_policy< curve_type > | pairing |
typedef r1cs_gg_ppzksnark_ipp2_vkey< curve_type > | vkey_type |
typedef r1cs_gg_ppzksnark_ipp2_wkey< curve_type > | wkey_type |
Static Public Member Functions | |
template<typename InputG1Iterator , typename InputG2Iterator , typename ValueType1 = typename std::iterator_traits<InputG1Iterator>::value_type, typename ValueType2 = typename std::iterator_traits<InputG2Iterator>::value_type, typename std::enable_if< std::is_same< g1_value_type, ValueType1 >::value, bool >::type = true, typename std::enable_if< std::is_same< g2_value_type, ValueType2 >::value, bool >::type = true> | |
static output_type | pair (const vkey_type &vkey, const wkey_type &wkey, InputG1Iterator a_first, InputG1Iterator a_last, InputG2Iterator b_first, InputG2Iterator b_last) |
template<typename InputG1Iterator , typename ValueType1 = typename std::iterator_traits<InputG1Iterator>::value_type, typename std::enable_if< std::is_same< g1_value_type, ValueType1 >::value, bool >::type = true> | |
static output_type | single (const vkey_type &vkey, InputG1Iterator a_first, InputG1Iterator a_last) |
Member Typedef Documentation
◆ curve_type
template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::curve_type |
◆ g1_value_type
template<typename CurveType >
typedef wkey_type::group_value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::g1_value_type |
◆ g2_value_type
template<typename CurveType >
typedef vkey_type::group_value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::g2_value_type |
◆ gt_value_type
template<typename CurveType >
typedef curve_type::gt_type::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::gt_value_type |
◆ output_type
template<typename CurveType >
typedef r1cs_gg_ppzksnark_ipp2_commitment_output<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::output_type |
◆ pairing
template<typename CurveType >
typedef algebra::pairing::pairing_policy<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::pairing |
◆ vkey_type
template<typename CurveType >
typedef r1cs_gg_ppzksnark_ipp2_vkey<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::vkey_type |
◆ wkey_type
template<typename CurveType >
typedef r1cs_gg_ppzksnark_ipp2_wkey<curve_type> nil::crypto3::zk::snark::r1cs_gg_ppzksnark_ipp2_commitment< CurveType >::wkey_type |
Member Function Documentation
◆ pair()
template<typename CurveType >
template<typename InputG1Iterator , typename InputG2Iterator , typename ValueType1 = typename std::iterator_traits<InputG1Iterator>::value_type, typename ValueType2 = typename std::iterator_traits<InputG2Iterator>::value_type, typename std::enable_if< std::is_same< g1_value_type, ValueType1 >::value, bool >::type = true, typename std::enable_if< std::is_same< g2_value_type, ValueType2 >::value, bool >::type = true>
|
inlinestatic |
Commits to a tuple of G1 vector and G2 vector in the following way: $T = \prod_{i=0}^n e(A_i, v_{1,i})e(B_i,w_{1,i})$ $U = \prod_{i=0}^n e(A_i, v_{2,i})e(B_i,w_{2,i})$ Output is $(T,U)$
◆ single()
template<typename CurveType >
template<typename InputG1Iterator , typename ValueType1 = typename std::iterator_traits<InputG1Iterator>::value_type, typename std::enable_if< std::is_same< g1_value_type, ValueType1 >::value, bool >::type = true>
|
inlinestatic |
Commits to a single vector of G1 elements in the following way: $T = \prod_{i=0}^n e(A_i, v_{1,i})$ $U = \prod_{i=0}^n e(A_i, v_{2,i})$ Output is $(T,U)$
The documentation for this struct was generated from the following file: