57QSC_CPLUSPLUS_ENABLED_START
103#if defined(QSC_EDDSA_S1EC25519)
109# define QSC_ECDSA_SIGNATURE_SIZE 64
115# define QSC_ECDSA_PRIVATEKEY_SIZE 64
121# define QSC_ECDSA_PUBLICKEY_SIZE 32
124# error "The ECDSA parameter set is invalid!"
131#define QSC_ECDSA_SEED_SIZE 32ULL
137#define QSC_ECDSA_ALGNAME "EDDSA"
148QSC_EXPORT_API void qsc_eddsa_generate_seeded_keypair(uint8_t* publickey, uint8_t* privatekey,
const uint8_t* seed);
161QSC_EXPORT_API bool qsc_eddsa_generate_keypair(uint8_t* publickey, uint8_t* privatekey,
bool (*rng_generate)(uint8_t*,
size_t));
174QSC_EXPORT_API void qsc_eddsa_sign(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
187QSC_EXPORT_API bool qsc_eddsa_verify(uint8_t* message,
size_t* msglen,
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* publickey);
189QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605