52#ifndef QSC_ECNISTP256BASE_H
53#define QSC_ECNISTP256BASE_H
57QSC_CPLUSPLUS_ENABLED_START
77#define EC_NISTP256_SEED_SIZE 32U
80#define EC_NISTP256_PUBLICKEY_SIZE 64U
83#define EC_NISTP256_PRIVATEKEY_SIZE 96U
86#define EC_NISTP256_SIGNATURE_SIZE 64U
104int32_t qsc_p256_publickey_from_privatekey(uint8_t* publickey,
const uint8_t* privatekey);
120int32_t qsc_p256_keypair(uint8_t* publickey, uint8_t* privatekey,
const uint8_t* seed);
137int32_t qsc_p256_sign(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
154int32_t qsc_p256_sign_scalar(uint8_t* signedmsg,
size_t* smsglen,
const uint8_t* message,
size_t msglen,
const uint8_t* privatekey);
171bool qsc_p256_verify(uint8_t* message,
size_t* msglen,
const uint8_t* signedmsg,
size_t smsglen,
const uint8_t* publickey);
173QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.