nil::crypto3::algebra::policies::multiexp_method_BDLO12 Struct Reference

#include <policies.hpp>

+ Collaboration diagram for nil::crypto3::algebra::policies::multiexp_method_BDLO12:

Static Public Member Functions

template<typename InputBaseIterator , typename InputFieldIterator >
static std::iterator_traits< InputBaseIterator >::value_type process (InputBaseIterator bases, InputBaseIterator bases_end, InputFieldIterator exponents, InputFieldIterator exponents_end)
 

Detailed Description

A special case of Pippenger's algorithm from Page 15 of Bernstein, Doumen, Lange, Oosterwijk, "Faster batch forgery identification", INDOCRYPT 2012 (https://eprint.iacr.org/2012/549.pdf) When compiled with USE_MIXED_ADDITION, assumes input is in special form. Requires that base_value_type implements .dbl() (and, if USE_MIXED_ADDITION is defined, .to_projective(), .mixed_add(), and batch_to_projective()).

Member Function Documentation

◆ process()

template<typename InputBaseIterator , typename InputFieldIterator >
static std::iterator_traits<InputBaseIterator>::value_type nil::crypto3::algebra::policies::multiexp_method_BDLO12::process ( InputBaseIterator  bases,
InputBaseIterator  bases_end,
InputFieldIterator  exponents,
InputFieldIterator  exponents_end 
)
inlinestatic

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