1#ifndef QSC_ECDHP384BASE_H
2#define QSC_ECDHP384BASE_H
46QSC_CPLUSPLUS_ENABLED_START
52#define QSC_ECDHP384_PUBLICKEY_SIZE 96U
58#define QSC_ECDHP384_PRIVATEKEY_SIZE 48U
64#define QSC_ECDHP384_SHAREDSECRET_SIZE 48U
70#define QSC_ECDHP384_SEED_SIZE 48U
127QSC_CPLUSPLUS_ENABLED_END
QSC_EXPORT_API bool qsc_p384_key_exchange(uint8_t *secret, const uint8_t *publickey, const uint8_t *privatekey)
Derive a P-384 shared secret using a peer public key and a local private key.
Definition ecdhp384base.c:948
QSC_EXPORT_API void qsc_p384_public_from_private(uint8_t *publickey, const uint8_t *privatekey)
Derive a serialized P-384 public key from a private key.
Definition ecdhp384base.c:893
QSC_EXPORT_API void qsc_p384_generate_seeded_keypair(uint8_t *publickey, uint8_t *privatekey, const uint8_t *seed)
Generate a deterministic P-384 public and private key-pair from a seed.
Definition ecdhp384base.c:904
QSC_EXPORT_API void qsc_p384_generate_keypair(uint8_t *publickey, uint8_t *privatekey, bool(*rng_generate)(uint8_t *, size_t))
Generate a random P-384 public and private key-pair.
Definition ecdhp384base.c:926
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:645