QSC Post Quantum Cryptographic Library 1.3.0.0 (C1)
A post quantum secure library written in Ansi C
Loading...
Searching...
No Matches
eddh448base.h
1/* 2020-2026 Quantum Resistant Cryptographic Solutions Corporation
2 * All Rights Reserved.
3 *
4 * NOTICE: See ed448.h for full license text.
5 *
6 * Written by: John G. Underhill
7 * Contact: contact@qrcscorp.ca
8 */
9
10#ifndef QSC_ECDH448BASE_H
11#define QSC_ECDH448BASE_H
12
13#include "qsccommon.h"
14
15/* \cond NO_DOCUMENT */
16
17QSC_CPLUSPLUS_ENABLED_START
18
29
34#define QSC_X448_PUBLICKEY_SIZE 56U
35
40#define QSC_X448_PRIVATEKEY_SIZE 56U
41
46#define QSC_X448_SECRET_SIZE 56U
47
58void qsc_crypto_scalarmult_curve448_ref10_base(uint8_t* q, const uint8_t* n);
59
70void qsc_crypto_scalarmult_curve448_ref10(uint8_t* r, const uint8_t* n, const uint8_t* q);
71
79void qsc_crypto_sc448_clamp(uint8_t* k);
80
91void qsc_crypto_scalarmult_curve448(uint8_t* q, const uint8_t* n, const uint8_t* p);
92
102void qsc_x448_generate_keypair(uint8_t* publickey, uint8_t* privatekey, bool (*rng_generate)(uint8_t*, size_t));
103
113void qsc_x448_generate_seeded_keypair(uint8_t* publickey, uint8_t* privatekey, const uint8_t* seed);
114
127bool qsc_x448_key_exchange(uint8_t* secret, const uint8_t* publickey, const uint8_t* privatekey);
128
129QSC_CPLUSPLUS_ENABLED_END
130
131/* \endcond NO_DOCUMENT */
132
133#endif
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.