Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
wnaf.hpp File Reference
#include "barretenberg/numeric/bitop/get_msb.hpp"
#include <cstdint>
#include <iostream>

Go to the source code of this file.

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::wnaf
 

Macros

#define WNAF_SIZE(x)   ((bb::wnaf::SCALAR_BITS + (x) - 1) / (x))
 

Functions

constexpr size_t bb::wnaf::get_optimal_bucket_width (const size_t num_points)
 
constexpr size_t bb::wnaf::get_num_buckets (const size_t num_points)
 
constexpr size_t bb::wnaf::get_num_rounds (const size_t num_points)
 
template<size_t bits, size_t bit_position>
uint64_t bb::wnaf::get_wnaf_bits_const (const uint64_t *scalar) noexcept
 
uint64_t bb::wnaf::get_wnaf_bits (const uint64_t *scalar, const uint64_t bits, const uint64_t bit_position) noexcept
 
void bb::wnaf::fixed_wnaf_packed (const uint64_t *scalar, uint64_t *wnaf, bool &skew_map, const uint64_t point_index, const size_t wnaf_bits) noexcept
 
void bb::wnaf::fixed_wnaf (const uint64_t *scalar, uint64_t *wnaf, bool &skew_map, const uint64_t point_index, const uint64_t num_points, const size_t wnaf_bits) noexcept
 Performs fixed-window non-adjacent form (WNAF) computation for scalar multiplication.
 
uint64_t bb::wnaf::get_num_scalar_bits (const uint64_t *scalar)
 
void bb::wnaf::fixed_wnaf_with_counts (const uint64_t *scalar, uint64_t *wnaf, bool &skew_map, uint64_t *wnaf_round_counts, const uint64_t point_index, const uint64_t num_points, const size_t wnaf_bits) noexcept
 
template<size_t num_points, size_t wnaf_bits, size_t round_i>
void bb::wnaf::wnaf_round (uint64_t *scalar, uint64_t *wnaf, const uint64_t point_index, const uint64_t previous) noexcept
 
template<size_t scalar_bits, size_t num_points, size_t wnaf_bits, size_t round_i>
void bb::wnaf::wnaf_round (uint64_t *scalar, uint64_t *wnaf, const uint64_t point_index, const uint64_t previous) noexcept
 
template<size_t wnaf_bits, size_t round_i>
void bb::wnaf::wnaf_round_packed (const uint64_t *scalar, uint64_t *wnaf, const uint64_t point_index, const uint64_t previous) noexcept
 
template<size_t num_points, size_t wnaf_bits>
void bb::wnaf::fixed_wnaf (uint64_t *scalar, uint64_t *wnaf, bool &skew_map, const size_t point_index) noexcept
 
template<size_t num_bits, size_t num_points, size_t wnaf_bits>
void bb::wnaf::fixed_wnaf (uint64_t *scalar, uint64_t *wnaf, bool &skew_map, const size_t point_index) noexcept
 
template<size_t scalar_bits, size_t num_points, size_t wnaf_bits, size_t round_i>
void bb::wnaf::wnaf_round_with_restricted_first_slice (uint64_t *scalar, uint64_t *wnaf, const uint64_t point_index, const uint64_t previous) noexcept
 
template<size_t num_bits, size_t num_points, size_t wnaf_bits>
void bb::wnaf::fixed_wnaf_with_restricted_first_slice (uint64_t *scalar, uint64_t *wnaf, bool &skew_map, const size_t point_index) noexcept
 

Variables

constexpr size_t bb::wnaf::SCALAR_BITS = 127
 

Macro Definition Documentation

◆ WNAF_SIZE

#define WNAF_SIZE (   x)    ((bb::wnaf::SCALAR_BITS + (x) - 1) / (x))

Definition at line 16 of file wnaf.hpp.