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

#include <elgamal_verifiable.hpp>

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

Classes

struct  init_params_type
 
struct  internal_accumulator_type
 

Public Types

typedef Curve::template g1_type g1_type
 
typedef Curve::template g2_type g2_type
 
typedef Curve::gt_type gt_type
 
typedef scheme_type::proof_system_type proof_system_type
 
typedef scheme_type::public_key_type public_key_type
 
typedef scheme_type::cipher_type result_type
 
typedef Curve::scalar_field_type scalar_field_type
 
typedef elgamal_verifiable< Curve, BlockBits > scheme_type
 

Static Public Member Functions

static internal_accumulator_type init_accumulator (const init_params_type &init_params)
 
static result_type process (internal_accumulator_type &acc)
 
template<typename InputIterator >
static std::enable_if< std::is_same< typename scalar_field_type::value_type, typename std::iterator_traits< InputIterator >::value_type >::value >::type update (internal_accumulator_type &acc, InputIterator first, InputIterator last)
 
template<typename InputIterator >
static std::enable_if< std::is_same< typename g1_type::value_type, typename std::iterator_traits< InputIterator >::value_type >::value >::type update (internal_accumulator_type &acc, InputIterator first, InputIterator last)
 
template<typename InputRange >
static void update (internal_accumulator_type &acc, InputRange range)
 

Member Typedef Documentation

◆ g1_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::template g1_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::g1_type

◆ g2_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::template g2_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::g2_type

◆ gt_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::gt_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::gt_type

◆ proof_system_type

template<typename Curve , std::size_t BlockBits>
typedef scheme_type::proof_system_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::proof_system_type

◆ public_key_type

template<typename Curve , std::size_t BlockBits>
typedef scheme_type::public_key_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::public_key_type

◆ result_type

template<typename Curve , std::size_t BlockBits>
typedef scheme_type::cipher_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::result_type

◆ scalar_field_type

template<typename Curve , std::size_t BlockBits>
typedef Curve::scalar_field_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::scalar_field_type

◆ scheme_type

template<typename Curve , std::size_t BlockBits>
typedef elgamal_verifiable<Curve, BlockBits> nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::scheme_type

Member Function Documentation

◆ init_accumulator()

template<typename Curve , std::size_t BlockBits>
static internal_accumulator_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::init_accumulator ( const init_params_type &  init_params)
inlinestatic

◆ process()

template<typename Curve , std::size_t BlockBits>
static result_type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::process ( internal_accumulator_type &  acc)
inlinestatic

◆ update() [1/3]

template<typename Curve , std::size_t BlockBits>
template<typename InputIterator >
static std::enable_if< std::is_same<typename scalar_field_type::value_type, typename std::iterator_traits<InputIterator>::value_type>::value>::type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::update ( internal_accumulator_type &  acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

◆ update() [2/3]

template<typename Curve , std::size_t BlockBits>
template<typename InputIterator >
static std::enable_if< std::is_same<typename g1_type::value_type, typename std::iterator_traits<InputIterator>::value_type>::value>::type nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::update ( internal_accumulator_type &  acc,
InputIterator  first,
InputIterator  last 
)
inlinestatic

◆ update() [3/3]

template<typename Curve , std::size_t BlockBits>
template<typename InputRange >
static void nil::crypto3::pubkey::rerandomize_op< elgamal_verifiable< Curve, BlockBits > >::update ( internal_accumulator_type &  acc,
InputRange  range 
)
inlinestatic

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