52#ifndef QSC_SPHINCSPLUSBASE2_H
53#define QSC_SPHINCSPLUSBASE2_H
59QSC_CPLUSPLUS_ENABLED_START
66size_t sphincsplus_ref_sign_secretkeybytes(
void);
71size_t sphincsplus_ref_sign_publickeybytes(
void);
76size_t sphincsplus_ref_sign_bytes(
void);
81size_t sphincsplus_ref_sign_seedbytes(
void);
91bool sphincsplus_ref_generate_seeded_keypair(uint8_t* pk, uint8_t* sk,
const uint8_t* seed);
100bool sphincsplus_ref_generate_keypair(uint8_t* pk, uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
115bool sphincsplus_ref_sign(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* sk,
const uint8_t* seed);
130bool sphincsplus_ref_sign_signature(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* sk,
const uint8_t* seed);
144bool sphincsplus_ref_open(uint8_t* message,
size_t* msglen,
const uint8_t* context,
size_t cxtlen,
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* pk);
158bool sphincsplus_ref_verify(
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* pk);
160QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.