Bitcoin Core  0.20.99
P2P Digital Currency
Functions | Variables
scalar_impl.h File Reference
#include "scalar.h"
#include "util.h"
#include "scalar_8x32_impl.h"
Include dependency graph for scalar_impl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static void secp256k1_scalar_get_num (secp256k1_num *r, const secp256k1_scalar *a)
 
static void secp256k1_scalar_order_get_num (secp256k1_num *r)
 secp256k1 curve order, see secp256k1_ecdsa_const_order_as_fe in ecdsa_impl.h More...
 
static int secp256k1_scalar_set_b32_seckey (secp256k1_scalar *r, const unsigned char *bin)
 
static void secp256k1_scalar_inverse (secp256k1_scalar *r, const secp256k1_scalar *x)
 
static SECP256K1_INLINE int secp256k1_scalar_is_even (const secp256k1_scalar *a)
 
static void secp256k1_scalar_inverse_var (secp256k1_scalar *r, const secp256k1_scalar *x)
 
static void secp256k1_scalar_split_lambda (secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *k)
 

Variables

static const secp256k1_scalar secp256k1_scalar_one = SECP256K1_SCALAR_CONST(0, 0, 0, 0, 0, 0, 0, 1)
 
static const secp256k1_scalar secp256k1_scalar_zero = SECP256K1_SCALAR_CONST(0, 0, 0, 0, 0, 0, 0, 0)
 
static const secp256k1_scalar secp256k1_const_lambda
 The Secp256k1 curve has an endomorphism, where lambda * (x, y) = (beta * x, y), where lambda is: More...
 

Function Documentation

◆ secp256k1_scalar_get_num()

static void secp256k1_scalar_get_num ( secp256k1_num r,
const secp256k1_scalar a 
)
static

Definition at line 35 of file scalar_impl.h.

Here is the call graph for this function:

◆ secp256k1_scalar_inverse()

static void secp256k1_scalar_inverse ( secp256k1_scalar r,
const secp256k1_scalar x 
)
static

Definition at line 68 of file scalar_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_scalar_inverse_var()

static void secp256k1_scalar_inverse_var ( secp256k1_scalar r,
const secp256k1_scalar x 
)
static

Definition at line 238 of file scalar_impl.h.

Here is the call graph for this function:

◆ secp256k1_scalar_is_even()

static SECP256K1_INLINE int secp256k1_scalar_is_even ( const secp256k1_scalar a)
static

Definition at line 233 of file scalar_impl.h.

◆ secp256k1_scalar_order_get_num()

static void secp256k1_scalar_order_get_num ( secp256k1_num r)
static

secp256k1 curve order, see secp256k1_ecdsa_const_order_as_fe in ecdsa_impl.h

Definition at line 42 of file scalar_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_scalar_set_b32_seckey()

static int secp256k1_scalar_set_b32_seckey ( secp256k1_scalar r,
const unsigned char *  bin 
)
static

Definition at line 62 of file scalar_impl.h.

Here is the call graph for this function:

◆ secp256k1_scalar_split_lambda()

static void secp256k1_scalar_split_lambda ( secp256k1_scalar r1,
secp256k1_scalar r2,
const secp256k1_scalar k 
)
static

Definition at line 342 of file scalar_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ secp256k1_const_lambda

const secp256k1_scalar secp256k1_const_lambda
static
Initial value:
0x5363AD4CUL, 0xC05C30E0UL, 0xA5261C02UL, 0x8812645AUL,
0x122E22EAUL, 0x20816678UL, 0xDF02967CUL, 0x1B23BD72UL
)
#define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
Definition: scalar_4x64.h:17

The Secp256k1 curve has an endomorphism, where lambda * (x, y) = (beta * x, y), where lambda is:

Definition at line 283 of file scalar_impl.h.

◆ secp256k1_scalar_one

const secp256k1_scalar secp256k1_scalar_one = SECP256K1_SCALAR_CONST(0, 0, 0, 0, 0, 0, 0, 1)
static

Definition at line 31 of file scalar_impl.h.

◆ secp256k1_scalar_zero

const secp256k1_scalar secp256k1_scalar_zero = SECP256K1_SCALAR_CONST(0, 0, 0, 0, 0, 0, 0, 0)
static

Definition at line 32 of file scalar_impl.h.