UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
Loading...
Searching...
No Matches
secp256k1::ct Namespace Reference

Namespaces

namespace  ct_compare_detail
 

Classes

struct  CTAffinePoint
 
struct  CTGLVDecomposition
 
struct  CTJacobianPoint
 

Typedefs

using FieldElement = secp256k1::fast::FieldElement
 
using Point = secp256k1::fast::Point
 
using Scalar = secp256k1::fast::Scalar
 
using FE52 = secp256k1::fast::FieldElement
 

Functions

FieldElement field_add (const FieldElement &a, const FieldElement &b) noexcept
 
FieldElement field_sub (const FieldElement &a, const FieldElement &b) noexcept
 
FieldElement field_mul (const FieldElement &a, const FieldElement &b) noexcept
 
FieldElement field_sqr (const FieldElement &a) noexcept
 
FieldElement field_neg (const FieldElement &a) noexcept
 
FieldElement field_half (const FieldElement &a) noexcept
 
FieldElement field_inv (const FieldElement &a) noexcept
 
void field_cmov (FieldElement *r, const FieldElement &a, std::uint64_t mask) noexcept
 
void field_cswap (FieldElement *a, FieldElement *b, std::uint64_t mask) noexcept
 
FieldElement field_select (const FieldElement &a, const FieldElement &b, std::uint64_t mask) noexcept
 
FieldElement field_cneg (const FieldElement &a, std::uint64_t mask) noexcept
 
std::uint64_t field_is_zero (const FieldElement &a) noexcept
 
std::uint64_t field_eq (const FieldElement &a, const FieldElement &b) noexcept
 
FieldElement field_normalize (const FieldElement &a) noexcept
 
void value_barrier (std::uint64_t &v) noexcept
 
void value_barrier (std::uint32_t &v) noexcept
 
SECP256K1_CT_NO_STACK_PROTECTOR std::uint64_t is_zero_mask (std::uint64_t v) noexcept
 
std::uint64_t is_nonzero_mask (std::uint64_t v) noexcept
 
std::uint64_t eq_mask (std::uint64_t a, std::uint64_t b) noexcept
 
SECP256K1_CT_NO_STACK_PROTECTOR std::uint64_t bool_to_mask (bool flag) noexcept
 
std::uint64_t lt_mask (std::uint64_t a, std::uint64_t b) noexcept
 
void cmov64 (std::uint64_t *dst, const std::uint64_t *src, std::uint64_t mask) noexcept
 
void cmov256 (std::uint64_t dst[4], const std::uint64_t src[4], std::uint64_t mask) noexcept
 
void cswap256 (std::uint64_t a[4], std::uint64_t b[4], std::uint64_t mask) noexcept
 
std::uint64_t ct_select (std::uint64_t a, std::uint64_t b, std::uint64_t mask) noexcept
 
void ct_lookup (const void *table, std::size_t count, std::size_t stride, std::size_t index, void *out) noexcept
 
void ct_lookup_256 (const std::uint64_t table[][4], std::size_t count, std::size_t index, std::uint64_t out[4]) noexcept
 
CTJacobianPoint point_add_complete (const CTJacobianPoint &p, const CTJacobianPoint &q) noexcept
 
CTJacobianPoint point_add_mixed_complete (const CTJacobianPoint &p, const CTAffinePoint &q) noexcept
 
CTJacobianPoint point_dbl (const CTJacobianPoint &p) noexcept
 
CTJacobianPoint point_add_mixed_unified (const CTJacobianPoint &a, const CTAffinePoint &b) noexcept
 
void point_add_mixed_unified_into (CTJacobianPoint *out, const CTJacobianPoint &a, const CTAffinePoint &b) noexcept
 
CTJacobianPoint point_neg (const CTJacobianPoint &p) noexcept
 
void point_cmov (CTJacobianPoint *r, const CTJacobianPoint &a, std::uint64_t mask) noexcept
 
CTJacobianPoint point_select (const CTJacobianPoint &a, const CTJacobianPoint &b, std::uint64_t mask) noexcept
 
CTJacobianPoint point_table_lookup (const CTJacobianPoint *table, std::size_t table_size, std::size_t index) noexcept
 
CTAffinePoint affine_table_lookup (const CTAffinePoint *table, std::size_t table_size, std::size_t index) noexcept
 
CTAffinePoint affine_table_lookup_signed (const CTAffinePoint *table, std::size_t table_size, std::uint64_t n, unsigned group_size) noexcept
 
void affine_table_lookup_signed_into (CTAffinePoint *out, const CTAffinePoint *table, std::size_t table_size, std::uint64_t n, unsigned group_size) noexcept
 
void point_dbl_n_inplace (CTJacobianPoint *r, unsigned n) noexcept
 
CTJacobianPoint point_dbl_n (const CTJacobianPoint &p, unsigned n) noexcept
 
void affine_cmov (CTAffinePoint *r, const CTAffinePoint &a, std::uint64_t mask) noexcept
 
Point scalar_mul (const Point &p, const Scalar &k) noexcept
 
Point generator_mul (const Scalar &k) noexcept
 
void init_generator_table () noexcept
 
CTJacobianPoint point_endomorphism (const CTJacobianPoint &p) noexcept
 
CTAffinePoint affine_endomorphism (const CTAffinePoint &p) noexcept
 
CTAffinePoint affine_neg (const CTAffinePoint &p) noexcept
 
CTGLVDecomposition ct_glv_decompose (const Scalar &k) noexcept
 
std::uint64_t point_is_on_curve (const Point &p) noexcept
 
std::uint64_t point_eq (const Point &a, const Point &b) noexcept
 
Scalar scalar_add (const Scalar &a, const Scalar &b) noexcept
 
Scalar scalar_sub (const Scalar &a, const Scalar &b) noexcept
 
Scalar scalar_neg (const Scalar &a) noexcept
 
Scalar scalar_half (const Scalar &a) noexcept
 
Scalar scalar_inverse (const Scalar &a) noexcept
 
void scalar_cmov (Scalar *r, const Scalar &a, std::uint64_t mask) noexcept
 
void scalar_cswap (Scalar *a, Scalar *b, std::uint64_t mask) noexcept
 
Scalar scalar_select (const Scalar &a, const Scalar &b, std::uint64_t mask) noexcept
 
Scalar scalar_cneg (const Scalar &a, std::uint64_t mask) noexcept
 
std::uint64_t scalar_is_zero (const Scalar &a) noexcept
 
std::uint64_t scalar_eq (const Scalar &a, const Scalar &b) noexcept
 
std::uint64_t scalar_is_high (const Scalar &a) noexcept
 
std::uint64_t scalar_bit (const Scalar &a, std::size_t index) noexcept
 
std::uint64_t scalar_window (const Scalar &a, std::size_t pos, unsigned width) noexcept
 
ECDSASignature ct_normalize_low_s (const ECDSASignature &sig) noexcept
 
ECDSASignature ecdsa_sign (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key)
 
ECDSASignature ecdsa_sign_verified (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key)
 
ECDSASignature ecdsa_sign_hedged (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &aux_rand)
 
ECDSASignature ecdsa_sign_hedged_verified (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &aux_rand)
 
RecoverableSignature ecdsa_sign_recoverable (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key)
 
RecoverableSignature ecdsa_sign_recoverable (const std::array< std::uint8_t, 32 > &msg_hash, const PrivateKey &private_key)
 
ECDSASignature ecdsa_sign (const std::array< std::uint8_t, 32 > &msg_hash, const PrivateKey &private_key)
 
ECDSASignature ecdsa_sign_verified (const std::array< std::uint8_t, 32 > &msg_hash, const PrivateKey &private_key)
 
ECDSASignature ecdsa_sign_hedged (const std::array< std::uint8_t, 32 > &msg_hash, const PrivateKey &private_key, const std::array< std::uint8_t, 32 > &aux_rand)
 
ECDSASignature ecdsa_sign_hedged_verified (const std::array< std::uint8_t, 32 > &msg_hash, const PrivateKey &private_key, const std::array< std::uint8_t, 32 > &aux_rand)
 
std::array< std::uint8_t, 32 > schnorr_pubkey (const fast::Scalar &private_key)
 
std::array< std::uint8_t, 32 > schnorr_pubkey (const PrivateKey &pk)
 
SchnorrKeypair schnorr_keypair_create (const fast::Scalar &private_key)
 
SchnorrKeypair schnorr_keypair_create (const PrivateKey &pk)
 
SchnorrSignature schnorr_sign (const SchnorrKeypair &kp, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand)
 
SchnorrSignature schnorr_sign_verified (const SchnorrKeypair &kp, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand)
 
bool ct_equal (const void *a, const void *b, std::size_t len) noexcept
 
template<std::size_t N>
bool ct_equal (const std::array< std::uint8_t, N > &a, const std::array< std::uint8_t, N > &b) noexcept
 
void ct_memcpy_if (void *dst, const void *src, std::size_t len, bool flag) noexcept
 
void ct_memswap_if (void *a, void *b, std::size_t len, bool flag) noexcept
 
bool ct_is_zero (const void *data, std::size_t len) noexcept
 
template<std::size_t N>
bool ct_is_zero (const std::array< std::uint8_t, N > &data) noexcept
 
void ct_memzero (void *data, std::size_t len) noexcept
 
std::uint8_t ct_select_byte (std::uint8_t a, std::uint8_t b, bool flag) noexcept
 
int ct_compare (const void *a, const void *b, std::size_t len) noexcept
 

Typedef Documentation

◆ FE52

Definition at line 45 of file point.hpp.

◆ FieldElement

◆ Point

Definition at line 37 of file point.hpp.

◆ Scalar

Definition at line 39 of file point.hpp.

Function Documentation

◆ affine_cmov()

void secp256k1::ct::affine_cmov ( CTAffinePoint r,
const CTAffinePoint a,
std::uint64_t  mask 
)
noexcept

◆ affine_endomorphism()

CTAffinePoint secp256k1::ct::affine_endomorphism ( const CTAffinePoint p)
noexcept

◆ affine_neg()

CTAffinePoint secp256k1::ct::affine_neg ( const CTAffinePoint p)
noexcept

◆ affine_table_lookup()

CTAffinePoint secp256k1::ct::affine_table_lookup ( const CTAffinePoint table,
std::size_t  table_size,
std::size_t  index 
)
noexcept

◆ affine_table_lookup_signed()

CTAffinePoint secp256k1::ct::affine_table_lookup_signed ( const CTAffinePoint table,
std::size_t  table_size,
std::uint64_t  n,
unsigned  group_size 
)
noexcept

◆ affine_table_lookup_signed_into()

void secp256k1::ct::affine_table_lookup_signed_into ( CTAffinePoint out,
const CTAffinePoint table,
std::size_t  table_size,
std::uint64_t  n,
unsigned  group_size 
)
noexcept

◆ bool_to_mask()

SECP256K1_CT_NO_STACK_PROTECTOR std::uint64_t secp256k1::ct::bool_to_mask ( bool  flag)
inlinenoexcept

Definition at line 143 of file ops.hpp.

References value_barrier().

Referenced by ct_memcpy_if(), ct_memswap_if(), and ct_select_byte().

◆ cmov256()

void secp256k1::ct::cmov256 ( std::uint64_t  dst[4],
const std::uint64_t  src[4],
std::uint64_t  mask 
)
inlinenoexcept

Definition at line 174 of file ops.hpp.

◆ cmov64()

void secp256k1::ct::cmov64 ( std::uint64_t *  dst,
const std::uint64_t *  src,
std::uint64_t  mask 
)
inlinenoexcept

Definition at line 167 of file ops.hpp.

◆ cswap256()

void secp256k1::ct::cswap256 ( std::uint64_t  a[4],
std::uint64_t  b[4],
std::uint64_t  mask 
)
inlinenoexcept

Definition at line 185 of file ops.hpp.

◆ ct_compare()

int secp256k1::ct::ct_compare ( const void *  a,
const void *  b,
std::size_t  len 
)
inlinenoexcept

◆ ct_equal() [1/2]

template<std::size_t N>
bool secp256k1::ct::ct_equal ( const std::array< std::uint8_t, N > &  a,
const std::array< std::uint8_t, N > &  b 
)
inlinenoexcept

Definition at line 60 of file ct_utils.hpp.

References ct_equal().

◆ ct_equal() [2/2]

bool secp256k1::ct::ct_equal ( const void *  a,
const void *  b,
std::size_t  len 
)
inlinenoexcept

Definition at line 37 of file ct_utils.hpp.

References is_zero_mask().

Referenced by ct_equal().

◆ ct_glv_decompose()

CTGLVDecomposition secp256k1::ct::ct_glv_decompose ( const Scalar k)
noexcept

◆ ct_is_zero() [1/2]

template<std::size_t N>
bool secp256k1::ct::ct_is_zero ( const std::array< std::uint8_t, N > &  data)
inlinenoexcept

Definition at line 109 of file ct_utils.hpp.

References ct_is_zero().

◆ ct_is_zero() [2/2]

bool secp256k1::ct::ct_is_zero ( const void *  data,
std::size_t  len 
)
inlinenoexcept

Definition at line 99 of file ct_utils.hpp.

References is_zero_mask().

Referenced by ct_is_zero().

◆ ct_lookup()

void secp256k1::ct::ct_lookup ( const void *  table,
std::size_t  count,
std::size_t  stride,
std::size_t  index,
void *  out 
)
inlinenoexcept

Definition at line 218 of file ops.hpp.

References eq_mask().

◆ ct_lookup_256()

void secp256k1::ct::ct_lookup_256 ( const std::uint64_t  table[][4],
std::size_t  count,
std::size_t  index,
std::uint64_t  out[4] 
)
inlinenoexcept

Definition at line 237 of file ops.hpp.

References eq_mask().

◆ ct_memcpy_if()

void secp256k1::ct::ct_memcpy_if ( void *  dst,
const void *  src,
std::size_t  len,
bool  flag 
)
inlinenoexcept

Definition at line 67 of file ct_utils.hpp.

References bool_to_mask().

◆ ct_memswap_if()

void secp256k1::ct::ct_memswap_if ( void *  a,
void *  b,
std::size_t  len,
bool  flag 
)
inlinenoexcept

Definition at line 82 of file ct_utils.hpp.

References bool_to_mask().

◆ ct_memzero()

void secp256k1::ct::ct_memzero ( void *  data,
std::size_t  len 
)
inlinenoexcept

Definition at line 115 of file ct_utils.hpp.

◆ ct_normalize_low_s()

ECDSASignature secp256k1::ct::ct_normalize_low_s ( const ECDSASignature sig)
noexcept

◆ ct_select()

std::uint64_t secp256k1::ct::ct_select ( std::uint64_t  a,
std::uint64_t  b,
std::uint64_t  mask 
)
inlinenoexcept

Definition at line 207 of file ops.hpp.

◆ ct_select_byte()

std::uint8_t secp256k1::ct::ct_select_byte ( std::uint8_t  a,
std::uint8_t  b,
bool  flag 
)
inlinenoexcept

Definition at line 127 of file ct_utils.hpp.

References bool_to_mask().

◆ ecdsa_sign() [1/2]

ECDSASignature secp256k1::ct::ecdsa_sign ( const std::array< std::uint8_t, 32 > &  msg_hash,
const fast::Scalar private_key 
)

◆ ecdsa_sign() [2/2]

ECDSASignature secp256k1::ct::ecdsa_sign ( const std::array< std::uint8_t, 32 > &  msg_hash,
const PrivateKey private_key 
)
inline

Definition at line 78 of file sign.hpp.

References ecdsa_sign(), and secp256k1::PrivateKey::scalar().

◆ ecdsa_sign_hedged() [1/2]

ECDSASignature secp256k1::ct::ecdsa_sign_hedged ( const std::array< std::uint8_t, 32 > &  msg_hash,
const fast::Scalar private_key,
const std::array< std::uint8_t, 32 > &  aux_rand 
)

Referenced by ecdsa_sign_hedged().

◆ ecdsa_sign_hedged() [2/2]

ECDSASignature secp256k1::ct::ecdsa_sign_hedged ( const std::array< std::uint8_t, 32 > &  msg_hash,
const PrivateKey private_key,
const std::array< std::uint8_t, 32 > &  aux_rand 
)
inline

Definition at line 89 of file sign.hpp.

References ecdsa_sign_hedged(), and secp256k1::PrivateKey::scalar().

◆ ecdsa_sign_hedged_verified() [1/2]

ECDSASignature secp256k1::ct::ecdsa_sign_hedged_verified ( const std::array< std::uint8_t, 32 > &  msg_hash,
const fast::Scalar private_key,
const std::array< std::uint8_t, 32 > &  aux_rand 
)

◆ ecdsa_sign_hedged_verified() [2/2]

ECDSASignature secp256k1::ct::ecdsa_sign_hedged_verified ( const std::array< std::uint8_t, 32 > &  msg_hash,
const PrivateKey private_key,
const std::array< std::uint8_t, 32 > &  aux_rand 
)
inline

Definition at line 95 of file sign.hpp.

References ecdsa_sign_hedged_verified(), and secp256k1::PrivateKey::scalar().

◆ ecdsa_sign_recoverable() [1/2]

RecoverableSignature secp256k1::ct::ecdsa_sign_recoverable ( const std::array< std::uint8_t, 32 > &  msg_hash,
const fast::Scalar private_key 
)

Referenced by ecdsa_sign_recoverable().

◆ ecdsa_sign_recoverable() [2/2]

RecoverableSignature secp256k1::ct::ecdsa_sign_recoverable ( const std::array< std::uint8_t, 32 > &  msg_hash,
const PrivateKey private_key 
)
inline

Definition at line 70 of file sign.hpp.

References ecdsa_sign_recoverable(), and secp256k1::PrivateKey::scalar().

◆ ecdsa_sign_verified() [1/2]

ECDSASignature secp256k1::ct::ecdsa_sign_verified ( const std::array< std::uint8_t, 32 > &  msg_hash,
const fast::Scalar private_key 
)

◆ ecdsa_sign_verified() [2/2]

ECDSASignature secp256k1::ct::ecdsa_sign_verified ( const std::array< std::uint8_t, 32 > &  msg_hash,
const PrivateKey private_key 
)
inline

Definition at line 83 of file sign.hpp.

References ecdsa_sign_verified(), and secp256k1::PrivateKey::scalar().

◆ eq_mask()

std::uint64_t secp256k1::ct::eq_mask ( std::uint64_t  a,
std::uint64_t  b 
)
inlinenoexcept

Definition at line 138 of file ops.hpp.

References is_zero_mask().

Referenced by ct_lookup(), and ct_lookup_256().

◆ field_add()

FieldElement secp256k1::ct::field_add ( const FieldElement a,
const FieldElement b 
)
noexcept

◆ field_cmov()

void secp256k1::ct::field_cmov ( FieldElement r,
const FieldElement a,
std::uint64_t  mask 
)
noexcept

◆ field_cneg()

FieldElement secp256k1::ct::field_cneg ( const FieldElement a,
std::uint64_t  mask 
)
noexcept

◆ field_cswap()

void secp256k1::ct::field_cswap ( FieldElement a,
FieldElement b,
std::uint64_t  mask 
)
noexcept

◆ field_eq()

std::uint64_t secp256k1::ct::field_eq ( const FieldElement a,
const FieldElement b 
)
noexcept

◆ field_half()

FieldElement secp256k1::ct::field_half ( const FieldElement a)
noexcept

◆ field_inv()

FieldElement secp256k1::ct::field_inv ( const FieldElement a)
noexcept

◆ field_is_zero()

std::uint64_t secp256k1::ct::field_is_zero ( const FieldElement a)
noexcept

◆ field_mul()

FieldElement secp256k1::ct::field_mul ( const FieldElement a,
const FieldElement b 
)
noexcept

◆ field_neg()

FieldElement secp256k1::ct::field_neg ( const FieldElement a)
noexcept

◆ field_normalize()

FieldElement secp256k1::ct::field_normalize ( const FieldElement a)
noexcept

◆ field_select()

FieldElement secp256k1::ct::field_select ( const FieldElement a,
const FieldElement b,
std::uint64_t  mask 
)
noexcept

◆ field_sqr()

FieldElement secp256k1::ct::field_sqr ( const FieldElement a)
noexcept

◆ field_sub()

FieldElement secp256k1::ct::field_sub ( const FieldElement a,
const FieldElement b 
)
noexcept

◆ generator_mul()

Point secp256k1::ct::generator_mul ( const Scalar k)
noexcept

Referenced by pubkey_create_core().

◆ init_generator_table()

void secp256k1::ct::init_generator_table ( )
noexcept

◆ is_nonzero_mask()

std::uint64_t secp256k1::ct::is_nonzero_mask ( std::uint64_t  v)
inlinenoexcept

Definition at line 133 of file ops.hpp.

◆ is_zero_mask()

SECP256K1_CT_NO_STACK_PROTECTOR std::uint64_t secp256k1::ct::is_zero_mask ( std::uint64_t  v)
inlinenoexcept

Definition at line 107 of file ops.hpp.

References value_barrier().

Referenced by ct_equal(), ct_is_zero(), and eq_mask().

◆ lt_mask()

std::uint64_t secp256k1::ct::lt_mask ( std::uint64_t  a,
std::uint64_t  b 
)
inlinenoexcept

Definition at line 153 of file ops.hpp.

References value_barrier().

◆ point_add_complete()

CTJacobianPoint secp256k1::ct::point_add_complete ( const CTJacobianPoint p,
const CTJacobianPoint q 
)
noexcept

◆ point_add_mixed_complete()

CTJacobianPoint secp256k1::ct::point_add_mixed_complete ( const CTJacobianPoint p,
const CTAffinePoint q 
)
noexcept

◆ point_add_mixed_unified()

CTJacobianPoint secp256k1::ct::point_add_mixed_unified ( const CTJacobianPoint a,
const CTAffinePoint b 
)
noexcept

◆ point_add_mixed_unified_into()

void secp256k1::ct::point_add_mixed_unified_into ( CTJacobianPoint out,
const CTJacobianPoint a,
const CTAffinePoint b 
)
noexcept

◆ point_cmov()

void secp256k1::ct::point_cmov ( CTJacobianPoint r,
const CTJacobianPoint a,
std::uint64_t  mask 
)
noexcept

◆ point_dbl()

CTJacobianPoint secp256k1::ct::point_dbl ( const CTJacobianPoint p)
noexcept

◆ point_dbl_n()

CTJacobianPoint secp256k1::ct::point_dbl_n ( const CTJacobianPoint p,
unsigned  n 
)
noexcept

◆ point_dbl_n_inplace()

void secp256k1::ct::point_dbl_n_inplace ( CTJacobianPoint r,
unsigned  n 
)
noexcept

◆ point_endomorphism()

CTJacobianPoint secp256k1::ct::point_endomorphism ( const CTJacobianPoint p)
noexcept

◆ point_eq()

std::uint64_t secp256k1::ct::point_eq ( const Point a,
const Point b 
)
noexcept

◆ point_is_on_curve()

std::uint64_t secp256k1::ct::point_is_on_curve ( const Point p)
noexcept

◆ point_neg()

CTJacobianPoint secp256k1::ct::point_neg ( const CTJacobianPoint p)
noexcept

◆ point_select()

CTJacobianPoint secp256k1::ct::point_select ( const CTJacobianPoint a,
const CTJacobianPoint b,
std::uint64_t  mask 
)
noexcept

◆ point_table_lookup()

CTJacobianPoint secp256k1::ct::point_table_lookup ( const CTJacobianPoint table,
std::size_t  table_size,
std::size_t  index 
)
noexcept

◆ scalar_add()

Scalar secp256k1::ct::scalar_add ( const Scalar a,
const Scalar b 
)
noexcept

◆ scalar_bit()

std::uint64_t secp256k1::ct::scalar_bit ( const Scalar a,
std::size_t  index 
)
noexcept

◆ scalar_cmov()

void secp256k1::ct::scalar_cmov ( Scalar r,
const Scalar a,
std::uint64_t  mask 
)
noexcept

◆ scalar_cneg()

Scalar secp256k1::ct::scalar_cneg ( const Scalar a,
std::uint64_t  mask 
)
noexcept

◆ scalar_cswap()

void secp256k1::ct::scalar_cswap ( Scalar a,
Scalar b,
std::uint64_t  mask 
)
noexcept

◆ scalar_eq()

std::uint64_t secp256k1::ct::scalar_eq ( const Scalar a,
const Scalar b 
)
noexcept

◆ scalar_half()

Scalar secp256k1::ct::scalar_half ( const Scalar a)
noexcept

◆ scalar_inverse()

Scalar secp256k1::ct::scalar_inverse ( const Scalar a)
noexcept

◆ scalar_is_high()

std::uint64_t secp256k1::ct::scalar_is_high ( const Scalar a)
noexcept

◆ scalar_is_zero()

std::uint64_t secp256k1::ct::scalar_is_zero ( const Scalar a)
noexcept

◆ scalar_mul()

Point secp256k1::ct::scalar_mul ( const Point p,
const Scalar k 
)
noexcept

◆ scalar_neg()

Scalar secp256k1::ct::scalar_neg ( const Scalar a)
noexcept

◆ scalar_select()

Scalar secp256k1::ct::scalar_select ( const Scalar a,
const Scalar b,
std::uint64_t  mask 
)
noexcept

◆ scalar_sub()

Scalar secp256k1::ct::scalar_sub ( const Scalar a,
const Scalar b 
)
noexcept

◆ scalar_window()

std::uint64_t secp256k1::ct::scalar_window ( const Scalar a,
std::size_t  pos,
unsigned  width 
)
noexcept

◆ schnorr_keypair_create() [1/2]

◆ schnorr_keypair_create() [2/2]

SchnorrKeypair secp256k1::ct::schnorr_keypair_create ( const PrivateKey pk)
inline

Definition at line 115 of file sign.hpp.

References secp256k1::PrivateKey::scalar(), and schnorr_keypair_create().

◆ schnorr_pubkey() [1/2]

std::array< std::uint8_t, 32 > secp256k1::ct::schnorr_pubkey ( const fast::Scalar private_key)

Referenced by schnorr_pubkey().

◆ schnorr_pubkey() [2/2]

std::array< std::uint8_t, 32 > secp256k1::ct::schnorr_pubkey ( const PrivateKey pk)
inline

Definition at line 106 of file sign.hpp.

References secp256k1::PrivateKey::scalar(), and schnorr_pubkey().

◆ schnorr_sign()

SchnorrSignature secp256k1::ct::schnorr_sign ( const SchnorrKeypair kp,
const std::array< std::uint8_t, 32 > &  msg,
const std::array< std::uint8_t, 32 > &  aux_rand 
)

◆ schnorr_sign_verified()

SchnorrSignature secp256k1::ct::schnorr_sign_verified ( const SchnorrKeypair kp,
const std::array< std::uint8_t, 32 > &  msg,
const std::array< std::uint8_t, 32 > &  aux_rand 
)

◆ value_barrier() [1/2]

void secp256k1::ct::value_barrier ( std::uint32_t &  v)
inlinenoexcept

Definition at line 98 of file ops.hpp.

◆ value_barrier() [2/2]

void secp256k1::ct::value_barrier ( std::uint64_t &  v)
inlinenoexcept