QSC Post Quantum Cryptographic Library 1.3.0.0 (C1)
A post quantum secure library written in Ansi C
Loading...
Searching...
No Matches
ecdhp384base.h
Go to the documentation of this file.
1#ifndef QSC_ECDHP384BASE_H
2#define QSC_ECDHP384BASE_H
3
4#include "qsccommon.h"
5
45
46QSC_CPLUSPLUS_ENABLED_START
47
52#define QSC_ECDHP384_PUBLICKEY_SIZE 96U
53
58#define QSC_ECDHP384_PRIVATEKEY_SIZE 48U
59
64#define QSC_ECDHP384_SHAREDSECRET_SIZE 48U
65
70#define QSC_ECDHP384_SEED_SIZE 48U
71
82QSC_EXPORT_API void qsc_p384_public_from_private(uint8_t* publickey, const uint8_t* privatekey);
83
96QSC_EXPORT_API void qsc_p384_generate_keypair(uint8_t* publickey, uint8_t* privatekey, bool (*rng_generate)(uint8_t*, size_t));
97
110QSC_EXPORT_API void qsc_p384_generate_seeded_keypair(uint8_t* publickey, uint8_t* privatekey, const uint8_t* seed);
111
125QSC_EXPORT_API bool qsc_p384_key_exchange(uint8_t* secret, const uint8_t* publickey, const uint8_t* privatekey);
126
127QSC_CPLUSPLUS_ENABLED_END
128
129#endif
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