UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
Loading...
Searching...
No Matches
precompute.hpp File Reference
#include <cstddef>
#include <cstdint>
#include <string>
#include <vector>
#include "secp256k1/point.hpp"
#include "secp256k1/scalar.hpp"

Go to the source code of this file.

Classes

struct  secp256k1::fast::FixedBaseConfig
 
struct  secp256k1::fast::ScalarDecomposition
 
struct  secp256k1::fast::PrecomputedScalar
 
struct  secp256k1::fast::PrecomputedScalarOptimized
 
struct  secp256k1::fast::PrecomputedScalarOptimized::Step
 

Namespaces

namespace  secp256k1
 
namespace  secp256k1::fast
 

Typedefs

using secp256k1::fast::ProgressCallback = void(*)(size_t, size_t, unsigned, unsigned)
 

Functions

void secp256k1::fast::compute_wnaf_into (const Scalar &scalar, unsigned window_bits, int32_t *out, std::size_t max, std::size_t &out_len)
 
void secp256k1::fast::configure_fixed_base (const FixedBaseConfig &config)
 
void secp256k1::fast::ensure_fixed_base_ready ()
 
bool secp256k1::fast::fixed_base_ready ()
 
bool secp256k1::fast::load_fixed_base_config_file (const std::string &path, FixedBaseConfig &out)
 
bool secp256k1::fast::configure_fixed_base_from_file (const std::string &path)
 
bool secp256k1::fast::configure_fixed_base_from_env ()
 
bool secp256k1::fast::write_default_fixed_base_config (const std::string &path)
 
bool secp256k1::fast::ensure_fixed_base_config_file (const std::string &path)
 
bool secp256k1::fast::configure_fixed_base_auto ()
 
bool secp256k1::fast::auto_tune_fixed_base (FixedBaseConfig &best_out, std::string *report_out=nullptr, unsigned iterations=5000, unsigned min_w=2, unsigned max_w=30)
 
bool secp256k1::fast::write_fixed_base_config (const std::string &path, const FixedBaseConfig &cfg)
 
bool secp256k1::fast::auto_tune_and_write_config (const std::string &path, unsigned iterations=5000, unsigned min_w=2, unsigned max_w=30)
 
Point secp256k1::fast::scalar_mul_generator (const Scalar &scalar)
 
ScalarDecomposition secp256k1::fast::split_scalar_glv (const Scalar &scalar)
 
Point secp256k1::fast::scalar_mul_generator_glv_predecomposed (const Scalar &k1, const Scalar &k2, bool neg1, bool neg2)
 
std::vector< int32_t > secp256k1::fast::compute_wnaf (const Scalar &scalar, unsigned window_bits)
 
Point secp256k1::fast::scalar_mul_arbitrary (const Point &base, const Scalar &scalar, unsigned window_bits=5)
 
Point secp256k1::fast::multi_scalar_mul (const Scalar &k1, const Point &P, const Scalar &k2, const Point &Q, unsigned window_bits=4)
 
PrecomputedScalar secp256k1::fast::precompute_scalar_for_arbitrary (const Scalar &K, unsigned window_bits=4)
 
PrecomputedScalarOptimized secp256k1::fast::precompute_scalar_optimized (const Scalar &K, unsigned window_bits=4)
 
Point secp256k1::fast::scalar_mul_arbitrary_precomputed (const Point &Q, const PrecomputedScalar &precomp)
 
Point secp256k1::fast::scalar_mul_arbitrary_precomputed_optimized (const Point &Q, const PrecomputedScalarOptimized &precomp)
 
Point secp256k1::fast::scalar_mul_arbitrary_precomputed_notable (const Point &Q, const PrecomputedScalarOptimized &precomp)
 
bool secp256k1::fast::save_precompute_cache (const std::string &path)
 
bool secp256k1::fast::load_precompute_cache (const std::string &path, unsigned max_windows=0)