Electroneum
hash.h
Go to the documentation of this file.
1
/***********************************************************************
2
* Copyright (c) 2014 Pieter Wuille *
3
* Distributed under the MIT software license, see the accompanying *
4
* file COPYING or https://www.opensource.org/licenses/mit-license.php.*
5
***********************************************************************/
6
7
#ifndef SECP256K1_HASH_H
8
#define SECP256K1_HASH_H
9
10
#include <stdlib.h>
11
#include <
stdint.h
>
12
13
typedef
struct
{
14
uint32_t
s[8];
15
unsigned
char
buf
[64];
16
uint64_t
bytes
;
17
}
secp256k1_sha256
;
18
19
static
void
secp256k1_sha256_initialize(
secp256k1_sha256
*
hash
);
20
static
void
secp256k1_sha256_write(
secp256k1_sha256
*
hash
,
const
unsigned
char
*data,
size_t
size);
21
static
void
secp256k1_sha256_finalize(
secp256k1_sha256
*
hash
,
unsigned
char
*out32);
22
23
typedef
struct
{
24
secp256k1_sha256
inner,
outer
;
25
}
secp256k1_hmac_sha256
;
26
27
static
void
secp256k1_hmac_sha256_initialize(
secp256k1_hmac_sha256
*
hash
,
const
unsigned
char
*
key
,
size_t
size);
28
static
void
secp256k1_hmac_sha256_write(
secp256k1_hmac_sha256
*
hash
,
const
unsigned
char
*data,
size_t
size);
29
static
void
secp256k1_hmac_sha256_finalize(
secp256k1_hmac_sha256
*
hash
,
unsigned
char
*out32);
30
31
typedef
struct
{
32
unsigned
char
v[32];
33
unsigned
char
k[32];
34
int
retry
;
35
}
secp256k1_rfc6979_hmac_sha256
;
36
37
static
void
secp256k1_rfc6979_hmac_sha256_initialize(
secp256k1_rfc6979_hmac_sha256
*rng,
const
unsigned
char
*
key
,
size_t
keylen);
38
static
void
secp256k1_rfc6979_hmac_sha256_generate(
secp256k1_rfc6979_hmac_sha256
*rng,
unsigned
char
*out,
size_t
outlen);
39
static
void
secp256k1_rfc6979_hmac_sha256_finalize(
secp256k1_rfc6979_hmac_sha256
*rng);
40
41
#endif
/* SECP256K1_HASH_H */
secp256k1_hmac_sha256::outer
secp256k1_sha256 outer
Definition:
hash.h:24
key
const char * key
Definition:
hmac_keccak.cpp:39
secp256k1_sha256
Definition:
hash.h:13
uint32_t
unsigned int uint32_t
Definition:
stdint.h:126
uint64_t
unsigned __int64 uint64_t
Definition:
stdint.h:136
buf
const char * buf
Definition:
slow_memmem.cpp:74
secp256k1_sha256::bytes
uint64_t bytes
Definition:
hash.h:16
stdint.h
secp256k1_rfc6979_hmac_sha256
Definition:
hash.h:31
secp256k1_hmac_sha256
Definition:
hash.h:23
crypto::hash
POD_CLASS hash
Definition:
hash.h:50
secp256k1_rfc6979_hmac_sha256::retry
int retry
Definition:
hash.h:34
external
secp256k1
src
hash.h
Generated on Sun Mar 10 2024 12:00:00 for Electroneum by
1.8.14