10#ifndef QSC_ECDH448BASE_H
11#define QSC_ECDH448BASE_H
17QSC_CPLUSPLUS_ENABLED_START
34#define QSC_X448_PUBLICKEY_SIZE 56U
40#define QSC_X448_PRIVATEKEY_SIZE 56U
46#define QSC_X448_SECRET_SIZE 56U
58void qsc_crypto_scalarmult_curve448_ref10_base(uint8_t* q,
const uint8_t* n);
70void qsc_crypto_scalarmult_curve448_ref10(uint8_t* r,
const uint8_t* n,
const uint8_t* q);
79void qsc_crypto_sc448_clamp(uint8_t* k);
91void qsc_crypto_scalarmult_curve448(uint8_t* q,
const uint8_t* n,
const uint8_t* p);
102void qsc_x448_generate_keypair(uint8_t* publickey, uint8_t* privatekey,
bool (*rng_generate)(uint8_t*,
size_t));
113void qsc_x448_generate_seeded_keypair(uint8_t* publickey, uint8_t* privatekey,
const uint8_t* seed);
127bool qsc_x448_key_exchange(uint8_t* secret,
const uint8_t* publickey,
const uint8_t* privatekey);
129QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.