40#ifndef QSC_DILITHIUMBASE_H
41#define QSC_DILITHIUMBASE_H
47QSC_CPLUSPLUS_ENABLED_START
57void qsc_dilithium_ref_generate_keypair(uint8_t* pk, uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
71void qsc_dilithium_ref_sign_signature(uint8_t* sig,
size_t* siglen,
const uint8_t* m,
size_t mlen,
const uint8_t* context,
size_t contextlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
85void qsc_dilithium_ref_sign(uint8_t* sm,
size_t* smlen,
const uint8_t* m,
size_t mlen,
const uint8_t* context,
size_t contextlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
99bool qsc_dilithium_ref_verify(
const uint8_t* sig,
size_t siglen,
const uint8_t* m,
size_t mlen,
const uint8_t* context,
size_t contextlen,
const uint8_t* pk);
113bool qsc_dilithium_ref_open(uint8_t* m,
size_t* mlen,
const uint8_t* sm,
size_t smlen,
const uint8_t* context,
size_t contextlen,
const uint8_t* pk);
115QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.