40#ifndef QSC_SPHINCSPLUSBASE_H
41#define QSC_SPHINCSPLUSBASE_H
47QSC_CPLUSPLUS_ENABLED_START
54size_t sphincsplus_ref_sign_secretkeybytes(
void);
59size_t sphincsplus_ref_sign_publickeybytes(
void);
64size_t sphincsplus_ref_sign_bytes(
void);
69size_t sphincsplus_ref_sign_seedbytes(
void);
78int32_t sphincsplus_ref_generate_seed_keypair(uint8_t* pk, uint8_t* sk,
const uint8_t* seed);
87void sphincsplus_ref_generate_keypair(uint8_t* pk, uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
99void sphincsplus_ref_sign_signature(uint8_t* sig,
size_t* siglen,
const uint8_t* m,
size_t mlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
111bool sphincsplus_ref_sign_verify(
const uint8_t* sig,
size_t siglen,
const uint8_t* m,
size_t mlen,
const uint8_t* pk);
123void sphincsplus_ref_sign(uint8_t* sm,
size_t* smlen,
const uint8_t* m,
size_t mlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
135bool sphincsplus_ref_sign_open(uint8_t* m,
size_t* mlen,
const uint8_t* sm,
size_t smlen,
const uint8_t* pk);
137QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.