1 #ifndef PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_HASH_H
2 #define PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_HASH_H
3 
4 #include "hash_state.h"
5 
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 void PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_initialize_hash_function(
10     hash_state *hash_state_seeded,
11     const unsigned char *pub_seed, const unsigned char *sk_seed);
12 
13 void PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_destroy_hash_function(hash_state *hash_state_seeded);
14 
15 void PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_prf_addr(
16     unsigned char *out, const unsigned char *key, const uint32_t addr[8],
17     const hash_state *hash_state_seeded);
18 
19 void PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_gen_message_random(
20     unsigned char *R,
21     const unsigned char *sk_prf, const unsigned char *optrand,
22     const unsigned char *m, size_t mlen,
23     const hash_state *hash_state_seeded);
24 
25 void PQCLEAN_SPHINCSHARAKA256FROBUST_CLEAN_hash_message(
26     unsigned char *digest, uint64_t *tree, uint32_t *leaf_idx,
27     const unsigned char *R, const unsigned char *pk,
28     const unsigned char *m, size_t mlen,
29     const hash_state *hash_state_seeded);
30 
31 #endif
32