52#ifndef QSC_ECNISTP521BASE_H
53#define QSC_ECNISTP521BASE_H
57QSC_CPLUSPLUS_ENABLED_START
78#define EC_NISTP521_SEED_SIZE 66U
84#define EC_NISTP521_PUBLICKEY_SIZE 132U
90#define EC_NISTP521_PRIVATEKEY_SIZE 198U
96#define EC_NISTP521_SIGNATURE_SIZE 132U
110int32_t qsc_p521_publickey_from_privatekey(uint8_t* publickey,
const uint8_t* privatekey);
126int32_t qsc_p521_keypair(uint8_t* publickey, uint8_t* privatekey,
const uint8_t* seed);
144int32_t qsc_p521_sign(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
162int32_t qsc_p521_sign_scalar(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
175bool qsc_p521_verify(uint8_t* message,
size_t* msglen,
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* publickey);
177QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.