Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS > Struct Template Reference

Handles the WNAF computation for scalars that are split using an endomorphism, achieved through split_into_endomorphism_scalars. It facilitates efficient computation of elliptic curve point multiplication by optimizing the representation of these scalars. More...

#include <element_impl.hpp>

Public Member Functions

 EndomorphismWnaf (const EndoScalars &scalars)
 

Public Attributes

std::array< uint64_t, NUM_ROUNDS *2 > table
 
bool skew = false
 
bool endo_skew = false
 

Static Public Attributes

static constexpr size_t NUM_WNAF_BITS = 4
 

Detailed Description

template<typename Element, std::size_t NUM_ROUNDS>
struct bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >

Handles the WNAF computation for scalars that are split using an endomorphism, achieved through split_into_endomorphism_scalars. It facilitates efficient computation of elliptic curve point multiplication by optimizing the representation of these scalars.

Template Parameters
ElementThe data type of elements in the elliptic curve.
NUM_ROUNDSThe number of computation rounds for WNAF.

Definition at line 636 of file element_impl.hpp.

Constructor & Destructor Documentation

◆ EndomorphismWnaf()

template<typename Element , std::size_t NUM_ROUNDS>
bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >::EndomorphismWnaf ( const EndoScalars scalars)
inline
Parameters
scalarsA pair of 128-bit scalars (as two uint64_t arrays), split using an endomorphism.

Definition at line 648 of file element_impl.hpp.

Member Data Documentation

◆ endo_skew

template<typename Element , std::size_t NUM_ROUNDS>
bool bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >::endo_skew = false

Definition at line 643 of file element_impl.hpp.

◆ NUM_WNAF_BITS

template<typename Element , std::size_t NUM_ROUNDS>
constexpr size_t bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >::NUM_WNAF_BITS = 4
staticconstexpr

Definition at line 638 of file element_impl.hpp.

◆ skew

template<typename Element , std::size_t NUM_ROUNDS>
bool bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >::skew = false

Definition at line 642 of file element_impl.hpp.

◆ table

template<typename Element , std::size_t NUM_ROUNDS>
std::array<uint64_t, NUM_ROUNDS * 2> bb::group_elements::detail::EndomorphismWnaf< Element, NUM_ROUNDS >::table

Definition at line 640 of file element_impl.hpp.


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