52#ifndef QSC_ECNISTP521BASE_H
53#define QSC_ECNISTP521BASE_H
57QSC_CPLUSPLUS_ENABLED_START
75#define EC_NISTP521_SEED_SIZE 66U
78#define EC_NISTP521_PUBLICKEY_SIZE 132U
81#define EC_NISTP521_PRIVATEKEY_SIZE 198U
84#define EC_NISTP521_SIGNATURE_SIZE 132U
98int32_t qsc_p521_publickey_from_privatekey(uint8_t* publickey,
const uint8_t* privatekey);
114int32_t qsc_p521_keypair(uint8_t* publickey, uint8_t* privatekey,
const uint8_t* seed);
132int32_t qsc_p521_sign(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
150int32_t qsc_p521_sign_scalar(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
163bool qsc_p521_verify(uint8_t* message,
size_t* msglen,
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* publickey);
165QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.