#include "hash.h"
#include "util.h"
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
Go to the source code of this file.
|
| #define | Ch(x, y, z) |
| #define | Maj(x, y, z) |
| #define | Sigma0(x) |
| #define | Sigma1(x) |
| #define | sigma0(x) |
| #define | sigma1(x) |
| #define | Round(a, b, c, d, e, f, g, h, k, w) |
|
| static void | secp256k1_sha256_initialize (secp256k1_sha256 *hash) |
| static void | secp256k1_sha256_transform (uint32_t *s, const unsigned char *buf) |
| | Perform one SHA-256 transformation, processing 16 big endian 32-bit words.
|
| static void | secp256k1_sha256_write (secp256k1_sha256 *hash, const unsigned char *data, size_t len) |
| static void | secp256k1_sha256_finalize (secp256k1_sha256 *hash, unsigned char *out32) |
| static void | secp256k1_sha256_initialize_tagged (secp256k1_sha256 *hash, const unsigned char *tag, size_t taglen) |
| static void | secp256k1_sha256_clear (secp256k1_sha256 *hash) |
| static void | secp256k1_hmac_sha256_initialize (secp256k1_hmac_sha256 *hash, const unsigned char *key, size_t keylen) |
| static void | secp256k1_hmac_sha256_write (secp256k1_hmac_sha256 *hash, const unsigned char *data, size_t size) |
| static void | secp256k1_hmac_sha256_finalize (secp256k1_hmac_sha256 *hash, unsigned char *out32) |
| static void | secp256k1_hmac_sha256_clear (secp256k1_hmac_sha256 *hash) |
| static void | secp256k1_rfc6979_hmac_sha256_initialize (secp256k1_rfc6979_hmac_sha256 *rng, const unsigned char *key, size_t keylen) |
| static void | secp256k1_rfc6979_hmac_sha256_generate (secp256k1_rfc6979_hmac_sha256 *rng, unsigned char *out, size_t outlen) |
| static void | secp256k1_rfc6979_hmac_sha256_finalize (secp256k1_rfc6979_hmac_sha256 *rng) |
| static void | secp256k1_rfc6979_hmac_sha256_clear (secp256k1_rfc6979_hmac_sha256 *rng) |
◆ Ch
Value:((z) ^ ((x) & ((y) ^ (z))))
Definition at line 17 of file hash_impl.h.
◆ Maj
Value:(((x) & (y)) | ((z) & ((x) | (y))))
Definition at line 18 of file hash_impl.h.
◆ Round
| #define Round |
( |
| a, |
|
|
| b, |
|
|
| c, |
|
|
| d, |
|
|
| e, |
|
|
| f, |
|
|
| g, |
|
|
| h, |
|
|
| k, |
|
|
| w ) |
Value: do { \
uint32_t t1 = (h) +
Sigma1(e) +
Ch((e), (f), (
g)) + (
k) + (w); \
uint32_t t2 =
Sigma0(a) +
Maj((a), (b), (c)); \
(d) += t1; \
(h) = t1 + t2; \
} while(0)
Definition at line 24 of file hash_impl.h.
◆ Sigma0
Value:(((x) >> 2 | (x) << 30) ^ ((x) >> 13 | (x) << 19) ^ ((x) >> 22 | (x) << 10))
Definition at line 19 of file hash_impl.h.
◆ sigma0
Value:(((x) >> 7 | (x) << 25) ^ ((x) >> 18 | (x) << 14) ^ ((x) >> 3))
Definition at line 21 of file hash_impl.h.
◆ Sigma1
Value:(((x) >> 6 | (x) << 26) ^ ((x) >> 11 | (x) << 21) ^ ((x) >> 25 | (x) << 7))
Definition at line 20 of file hash_impl.h.
◆ sigma1
Value:(((x) >> 17 | (x) << 15) ^ ((x) >> 19 | (x) << 13) ^ ((x) >> 10))
Definition at line 22 of file hash_impl.h.
◆ secp256k1_hmac_sha256_clear()
◆ secp256k1_hmac_sha256_finalize()
◆ secp256k1_hmac_sha256_initialize()
| void secp256k1_hmac_sha256_initialize |
( |
secp256k1_hmac_sha256 * | hash, |
|
|
const unsigned char * | key, |
|
|
size_t | keylen ) |
|
static |
◆ secp256k1_hmac_sha256_write()
| void secp256k1_hmac_sha256_write |
( |
secp256k1_hmac_sha256 * | hash, |
|
|
const unsigned char * | data, |
|
|
size_t | size ) |
|
static |
◆ secp256k1_rfc6979_hmac_sha256_clear()
◆ secp256k1_rfc6979_hmac_sha256_finalize()
◆ secp256k1_rfc6979_hmac_sha256_generate()
◆ secp256k1_rfc6979_hmac_sha256_initialize()
◆ secp256k1_sha256_clear()
◆ secp256k1_sha256_finalize()
| void secp256k1_sha256_finalize |
( |
secp256k1_sha256 * | hash, |
|
|
unsigned char * | out32 ) |
|
static |
◆ secp256k1_sha256_initialize()
◆ secp256k1_sha256_initialize_tagged()
| void secp256k1_sha256_initialize_tagged |
( |
secp256k1_sha256 * | hash, |
|
|
const unsigned char * | tag, |
|
|
size_t | taglen ) |
|
static |
◆ secp256k1_sha256_transform()
| void secp256k1_sha256_transform |
( |
uint32_t * | s, |
|
|
const unsigned char * | buf ) |
|
static |
Perform one SHA-256 transformation, processing 16 big endian 32-bit words.
Definition at line 44 of file hash_impl.h.
◆ secp256k1_sha256_write()
| void secp256k1_sha256_write |
( |
secp256k1_sha256 * | hash, |
|
|
const unsigned char * | data, |
|
|
size_t | len ) |
|
static |