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

Functions

std::uint64_t add64 (std::uint64_t a, std::uint64_t b, unsigned char &carry)
 
std::uint64_t sub64 (std::uint64_t a, std::uint64_t b, unsigned char &borrow)
 
std::uint64_t mulhi64 (std::uint64_t a, std::uint64_t b) noexcept
 
void csprng_fill (unsigned char *buf, std::size_t len) noexcept
 
void secure_erase (void *ptr, std::size_t len) noexcept
 
void sha256_compress_dispatch (const std::uint8_t block[64], std::uint32_t state[8]) noexcept
 
SHA256 make_tag_midstate (std::string_view tag)
 
std::array< uint8_t, 32 > cached_tagged_hash (const SHA256 &midstate, const void *data, std::size_t len)
 

Variables

constexpr const char * bip39_english [2048]
 
const SHA256 g_aux_midstate = make_tag_midstate("BIP0340/aux")
 
const SHA256 g_nonce_midstate = make_tag_midstate("BIP0340/nonce")
 
const SHA256 g_challenge_midstate = make_tag_midstate("BIP0340/challenge")
 

Function Documentation

◆ add64()

std::uint64_t secp256k1::detail::add64 ( std::uint64_t  a,
std::uint64_t  b,
unsigned char &  carry 
)
inline

Definition at line 53 of file arith64.hpp.

◆ cached_tagged_hash()

std::array< uint8_t, 32 > secp256k1::detail::cached_tagged_hash ( const SHA256 midstate,
const void *  data,
std::size_t  len 
)
inline

Definition at line 42 of file tagged_hash.hpp.

References secp256k1::SHA256::finalize(), and secp256k1::SHA256::update().

◆ csprng_fill()

void secp256k1::detail::csprng_fill ( unsigned char *  buf,
std::size_t  len 
)
inlinenoexcept

Definition at line 27 of file csprng.hpp.

◆ make_tag_midstate()

SHA256 secp256k1::detail::make_tag_midstate ( std::string_view  tag)
inline

Definition at line 24 of file tagged_hash.hpp.

References secp256k1::SHA256::hash(), and secp256k1::SHA256::update().

◆ mulhi64()

std::uint64_t secp256k1::detail::mulhi64 ( std::uint64_t  a,
std::uint64_t  b 
)
inlinenoexcept

Definition at line 102 of file arith64.hpp.

References mulhi64().

Referenced by mulhi64().

◆ secure_erase()

void secp256k1::detail::secure_erase ( void *  ptr,
std::size_t  len 
)
inlinenoexcept

Definition at line 30 of file secure_erase.hpp.

Referenced by ecdh_parse_args(), parse_bip32_key(), pubkey_create_core(), secure_erase_scalar_vector(), ufsecp_bip322_sign(), ufsecp_bip32_derive(), ufsecp_bip32_derive_path(), ufsecp_bip32_master(), ufsecp_bip32_privkey(), ufsecp_bip32_pubkey(), ufsecp_bip39_to_seed(), ufsecp_bip85_bip39(), ufsecp_bip85_entropy(), ufsecp_btc_message_sign(), ufsecp_coin_derive_from_seed(), ufsecp_coin_wif_encode(), ufsecp_ecdh(), ufsecp_ecdh_raw(), ufsecp_ecdh_xonly(), ufsecp_ecdsa_adaptor_adapt(), ufsecp_ecdsa_adaptor_extract(), ufsecp_ecdsa_adaptor_sign(), ufsecp_ecdsa_sign(), ufsecp_ecdsa_sign_batch(), ufsecp_ecdsa_sign_recoverable(), ufsecp_ecdsa_sign_verified(), ufsecp_ecies_decrypt(), ufsecp_frost_keygen_begin(), ufsecp_frost_keygen_finalize(), ufsecp_frost_sign(), ufsecp_frost_sign_nonce_gen(), ufsecp_musig2_nonce_gen(), ufsecp_musig2_partial_sign(), ufsecp_psbt_sign_legacy(), ufsecp_psbt_sign_segwit(), ufsecp_psbt_sign_taproot(), ufsecp_pubkey_xonly(), ufsecp_schnorr_adaptor_adapt(), ufsecp_schnorr_adaptor_extract(), ufsecp_schnorr_adaptor_sign(), ufsecp_schnorr_sign(), ufsecp_schnorr_sign_batch(), ufsecp_schnorr_sign_verified(), ufsecp_seckey_negate(), ufsecp_seckey_tweak_add(), ufsecp_seckey_tweak_mul(), ufsecp_seckey_verify(), ufsecp_silent_payment_address(), ufsecp_silent_payment_create_output(), ufsecp_silent_payment_scan(), ufsecp_taproot_tweak_seckey(), ufsecp_wif_decode(), ufsecp_wif_encode(), ufsecp_zk_dleq_prove(), ufsecp_zk_knowledge_prove(), and SecureEraseGuard< T >::~SecureEraseGuard().

◆ sha256_compress_dispatch()

void secp256k1::detail::sha256_compress_dispatch ( const std::uint8_t  block[64],
std::uint32_t  state[8] 
)
noexcept

◆ sub64()

std::uint64_t secp256k1::detail::sub64 ( std::uint64_t  a,
std::uint64_t  b,
unsigned char &  borrow 
)
inline

Definition at line 63 of file arith64.hpp.

Variable Documentation

◆ bip39_english

constexpr const char* secp256k1::detail::bip39_english[2048]
inlineconstexpr

Definition at line 8 of file bip39_wordlist.hpp.

◆ g_aux_midstate

const SHA256 secp256k1::detail::g_aux_midstate = make_tag_midstate("BIP0340/aux")
inline

Definition at line 33 of file tagged_hash.hpp.

◆ g_challenge_midstate

const SHA256 secp256k1::detail::g_challenge_midstate = make_tag_midstate("BIP0340/challenge")
inline

Definition at line 35 of file tagged_hash.hpp.

◆ g_nonce_midstate

const SHA256 secp256k1::detail::g_nonce_midstate = make_tag_midstate("BIP0340/nonce")
inline

Definition at line 34 of file tagged_hash.hpp.