52#ifndef QSC_DILITHIUMBASE_AVX2_H
53#define QSC_DILITHIUMBASE_AVX2_H
59QSC_CPLUSPLUS_ENABLED_START
70bool qsc_dilithium_avx2_generate_keypair(uint8_t* pk, uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
80void qsc_dilithium_avx2_seeded_generate_keypair(uint8_t* pk, uint8_t* sk,
const uint8_t* seed);
95bool qsc_dilithium_avx2_sign_signature(uint8_t* sig,
size_t* siglen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
110bool qsc_dilithium_avx2_sign(uint8_t* sm,
size_t* smlen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
124bool qsc_dilithium_avx2_verify(
const uint8_t* sig,
size_t siglen,
const uint8_t* message,
size_t msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* pk);
138bool qsc_dilithium_avx2_open(uint8_t* message,
size_t* msglen,
const uint8_t* context,
size_t ctxlen,
const uint8_t* sm,
size_t smlen,
const uint8_t* pk);
140QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.