nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits > Class Template Reference

#include <elgamal_verifiable.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >:

Public Types

typedef std::pair< std::vector< typename Curve::template g1_type<>::value_type >, typename proof_system_type::proof_type > cipher_type
 
typedef Curve curve_type
 
typedef std::pair< std::vector< typename Curve::scalar_field_type::value_type >, typename Curve::template g1_type<>::value_type > decipher_type
 
typedef std::tuple< public_key_type, private_key_type, verification_key_typekeypair_type
 
typedef private_key< self_typeprivate_key_type
 
typedef zk::snark::r1cs_gg_ppzksnark< Curve, zk::snark::r1cs_gg_ppzksnark_generator< Curve, zk::snark::ProvingMode::EncryptedInput >, zk::snark::r1cs_gg_ppzksnark_prover< Curve, zk::snark::ProvingMode::EncryptedInput >, zk::snark::r1cs_gg_ppzksnark_verifier_strong_input_consistency< Curve, zk::snark::ProvingMode::EncryptedInput >, zk::snark::ProvingMode::EncryptedInputproof_system_type
 
typedef public_key< self_typepublic_key_type
 
typedef verification_key< self_typeverification_key_type
 

Static Public Attributes

static constexpr std::size_t block_bits = BlockBits
 

Member Typedef Documentation

◆ cipher_type

template<typename Curve , std::size_t BlockBits = 4>
typedef std::pair<std::vector<typename Curve::template g1_type<>::value_type>, typename proof_system_type::proof_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::cipher_type

◆ curve_type

template<typename Curve , std::size_t BlockBits = 4>
typedef Curve nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::curve_type

◆ decipher_type

template<typename Curve , std::size_t BlockBits = 4>
typedef std::pair<std::vector<typename Curve::scalar_field_type::value_type>, typename Curve::template g1_type<>::value_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::decipher_type

◆ keypair_type

template<typename Curve , std::size_t BlockBits = 4>
typedef std::tuple<public_key_type, private_key_type, verification_key_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::keypair_type

◆ private_key_type

template<typename Curve , std::size_t BlockBits = 4>
typedef private_key<self_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::private_key_type

◆ proof_system_type

◆ public_key_type

template<typename Curve , std::size_t BlockBits = 4>
typedef public_key<self_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::public_key_type

◆ verification_key_type

template<typename Curve , std::size_t BlockBits = 4>
typedef verification_key<self_type> nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::verification_key_type

Member Data Documentation

◆ block_bits

template<typename Curve , std::size_t BlockBits = 4>
constexpr std::size_t nil::crypto3::pubkey::elgamal_verifiable< Curve, BlockBits >::block_bits = BlockBits
staticconstexpr

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