40#ifndef QSC_DILITHIUMBASE_AVX2_H
41#define QSC_DILITHIUMBASE_AVX2_H
47QSC_CPLUSPLUS_ENABLED_START
57void qsc_dilithium_avx2_generate_keypair(uint8_t* pk, uint8_t* sk,
bool (*rng_generate)(uint8_t*,
size_t));
71void qsc_dilithium_avx2_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));
83void qsc_dilithium_avx2_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));
97bool qsc_dilithium_avx2_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);
111bool qsc_dilithium_avx2_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);
113QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.