|
UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
|
#include <array>#include <cstdint>#include <cstddef>Go to the source code of this file.
Namespaces | |
| namespace | secp256k1 |
| namespace | secp256k1::hash |
| namespace | secp256k1::hash::scalar |
Enumerations | |
| enum class | secp256k1::hash::HashTier : int { secp256k1::hash::SCALAR = 0 , secp256k1::hash::ARM_SHA2 = 1 , secp256k1::hash::SHA_NI = 2 , secp256k1::hash::AVX2 = 3 , secp256k1::hash::AVX512 = 4 } |
Functions | |
| HashTier | secp256k1::hash::detect_hash_tier () noexcept |
| Detect best available hashing tier at runtime. | |
| const char * | secp256k1::hash::hash_tier_name (HashTier tier) noexcept |
| Human-readable tier name. | |
| bool | secp256k1::hash::sha_ni_available () noexcept |
| Check individual features. | |
| bool | secp256k1::hash::avx2_available () noexcept |
| bool | secp256k1::hash::avx512_available () noexcept |
| std::array< std::uint8_t, 32 > | secp256k1::hash::sha256 (const void *data, std::size_t len) noexcept |
| SHA-256 of arbitrary data (auto-selects best implementation). | |
| void | secp256k1::hash::sha256_33 (const std::uint8_t *pubkey33, std::uint8_t *out32) noexcept |
| void | secp256k1::hash::sha256_32 (const std::uint8_t *in32, std::uint8_t *out32) noexcept |
| SHA-256 of exactly 32 bytes (e.g. second hash in double-SHA256) | |
| std::array< std::uint8_t, 32 > | secp256k1::hash::sha256d (const void *data, std::size_t len) noexcept |
| Double-SHA256: SHA256(SHA256(data)) for arbitrary data. | |
| std::array< std::uint8_t, 20 > | secp256k1::hash::ripemd160 (const void *data, std::size_t len) noexcept |
| RIPEMD-160 of arbitrary data (auto-selects best implementation). | |
| void | secp256k1::hash::ripemd160_32 (const std::uint8_t *in32, std::uint8_t *out20) noexcept |
| std::array< std::uint8_t, 20 > | secp256k1::hash::hash160 (const void *data, std::size_t len) noexcept |
| Hash160 of arbitrary data. | |
| void | secp256k1::hash::hash160_33 (const std::uint8_t *pubkey33, std::uint8_t *out20) noexcept |
| void | secp256k1::hash::sha256_33_batch (const std::uint8_t *pubkeys, std::uint8_t *out32s, std::size_t count) noexcept |
| void | secp256k1::hash::ripemd160_32_batch (const std::uint8_t *in32s, std::uint8_t *out20s, std::size_t count) noexcept |
| void | secp256k1::hash::hash160_33_batch (const std::uint8_t *pubkeys, std::uint8_t *out20s, std::size_t count) noexcept |
| void | secp256k1::hash::scalar::sha256_compress (const std::uint8_t block[64], std::uint32_t state[8]) noexcept |
| void | secp256k1::hash::scalar::sha256_33 (const std::uint8_t *pubkey33, std::uint8_t *out32) noexcept |
| void | secp256k1::hash::scalar::sha256_32 (const std::uint8_t *in32, std::uint8_t *out32) noexcept |
| void | secp256k1::hash::scalar::ripemd160_compress (const std::uint8_t block[64], std::uint32_t state[5]) noexcept |
| void | secp256k1::hash::scalar::ripemd160_32 (const std::uint8_t *in32, std::uint8_t *out20) noexcept |
| void | secp256k1::hash::scalar::hash160_33 (const std::uint8_t *pubkey33, std::uint8_t *out20) noexcept |