MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClEcc_Constants.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2024 NXP */
3/* */
4/* NXP Proprietary. This software is owned or controlled by NXP and may */
5/* only be used strictly in accordance with the applicable license terms. */
6/* By expressly accepting such terms or by downloading, installing, */
7/* activating and/or otherwise using the software, you are agreeing that */
8/* you have read, and that you agree to comply with and are bound by, such */
9/* license terms. If you do not agree to be bound by the applicable */
10/* license terms, then you may not retain, install, activate or otherwise */
11/* use the software. */
12/*--------------------------------------------------------------------------*/
13
20#ifndef MCUXCLECC_CONSTANTS_H_
21#define MCUXCLECC_CONSTANTS_H_
22
23
24#include <mcuxClCore_Platform.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30
38/**********************************************************/
39/* Return codes of mcuxClEcc */
40/**********************************************************/
41
46#define MCUXCLECC_STATUS_OK ((mcuxClEcc_Status_t) 0x04442E03u)
47#define MCUXCLECC_STATUS_INVALID_PARAMS ((mcuxClEcc_Status_t) 0x044453F8u)
48#define MCUXCLECC_STATUS_RNG_ERROR ((mcuxClEcc_Status_t) 0x04445334u)
49#define MCUXCLECC_STATUS_INVALID_SIGNATURE ((mcuxClEcc_Status_t) 0x04448930u)
50#define MCUXCLECC_STATUS_NEUTRAL_POINT ((mcuxClEcc_Status_t) 0x04448934u)
51#define MCUXCLECC_STATUS_FAULT_ATTACK ((mcuxClEcc_Status_t) 0x0444F0F0u)
52#define MCUXCLECC_STATUS_NOT_SUPPORTED ((mcuxClEcc_Status_t) 0x04445370u)
53
54#define MCUXCLECC_STATUS_ERROR_SMALL_SUBGROUP ((mcuxClEcc_Status_t) 0x04445374u) /* MCUXCLECC_STATUS_ */
56
57
66/**********************************************************/
67/* Options for EdDsa */
68/**********************************************************/
69
70/* phflag values for EdDSA */
71#define MCUXCLECC_EDDSA_PHFLAG_ZERO 0u
72#define MCUXCLECC_EDDSA_PHFLAG_ONE 1u
73 /* mcuxClEcc_Options */
75 /* mcuxClEcc_Constants */
79
80
94#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP (32U)
95#define MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER (32U)
96#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER)
97#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP)
98#define MCUXCLECC_MONTDH_CURVE25519_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP) /* MCUXCLECC_MONTDH_CURVE25519_SIZE_ */
100
105#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP (56U)
106#define MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER (56U)
107#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER)
108#define MCUXCLECC_MONTDH_CURVE448_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP)
109#define MCUXCLECC_MONTDH_CURVE448_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP) /* MCUXCLECC_MONTDH_CURVE448_SIZE_ */
111
112
117#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP (20U)
118#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER (21U)
119#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER)
120#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
121#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
122#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP160K1_SIZE_ */
124
129#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP (24U)
130#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER (24U)
131#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER)
132#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
133#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
134#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP192K1_SIZE_ */
136
141#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP (28U)
142#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER (29U)
143#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER)
144#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
145#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
146#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP224K1_SIZE_ */
148
153#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP (32U)
154#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER (32U)
155#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER)
156#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
157#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
158#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP256K1_SIZE_ */
160
161
166#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP (24U)
167#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER (24U)
168#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
169#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
170#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
171#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP192R1_SIZE_ */
173
178#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP (28U)
179#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER (28U)
180#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
181#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
182#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
183#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP224R1_SIZE_ */
185
190#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP (32U)
191#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER (32U)
192#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
193#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
194#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
195#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP256R1_SIZE_ */
197
202#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP (48U)
203#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER (48U)
204#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
205#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
206#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
207#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP384R1_SIZE_ */
209
214#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP (66U)
215#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER (66U)
216#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
217#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
218#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
219#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP521R1_SIZE_ */
221
222
223
228#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
229#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
230#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY)
231#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY)
232#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET)
233#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P192_SIZE_ */
235
240#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
241#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
242#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY)
243#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY)
244#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET)
245#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P224_SIZE_ */
247
252#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
253#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
254#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY)
255#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY)
256#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET)
257#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P256_SIZE_ */
259
264#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
265#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
266#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY)
267#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY)
268#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET)
269#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P384_SIZE_ */
271
276#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
277#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
278#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY)
279#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY)
280#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET)
281#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P521_SIZE_ */
283
284
285
290#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP (20U)
291#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER (20U)
292#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER)
293#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
294#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
295#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ */
297
302#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP (24U)
303#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER (24U)
304#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER)
305#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
306#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
307#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ */
309
314#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP (28U)
315#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER (28U)
316#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER)
317#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
318#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
319#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ */
321
326#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP (32U)
327#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER (32U)
328#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER)
329#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
330#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
331#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ */
333
338#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP (40U)
339#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER (40U)
340#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER)
341#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
342#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
343#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ */
345
350#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP (48U)
351#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER (48U)
352#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER)
353#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
354#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
355#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ */
357
362#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP (64U)
363#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER (64U)
364#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER)
365#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
366#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
367#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ */
369
370
371
376#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP (20U)
377#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER (20U)
378#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER)
379#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
380#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
381#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ */
383
388#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP (24U)
389#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER (24U)
390#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER)
391#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
392#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
393#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ */
395
400#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP (28U)
401#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER (28U)
402#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER)
403#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
404#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
405#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ */
407
412#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP (32U)
413#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER (32U)
414#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER)
415#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
416#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
417#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ */
419
424#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP (40U)
425#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER (40U)
426#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER)
427#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
428#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
429#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ */
431
436#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP (48U)
437#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER (48U)
438#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER)
439#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
440#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
441#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ */
443
448#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP (64U)
449#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER (64U)
450#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER)
451#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
452#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
453#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ */
455
456
457
461#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP (80U)
462#define MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER (80U)
463#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER)
464#define MCUXCLECC_WEIERECC_MAX_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
465#define MCUXCLECC_WEIERECC_MAX_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
466#define MCUXCLECC_WEIERECC_MAX_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_MAX_SIZE */
468
469
470
471#define MCUXCLECC_EDDSA_SIZE_HASH_PREFIX(domPrefixLen, contextLen) ((domPrefixLen) + 2u + (contextLen))
472
476#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIMEP (32u)
477#define MCUXCLECC_EDDSA_ED25519_SIZE_BASEPOINTORDER (32u)
478#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEY (32u)
479#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEYDATA (96u)
480#define MCUXCLECC_EDDSA_ED25519_SIZE_PUBLICKEY (32u)
481#define MCUXCLECC_EDDSA_ED25519_SIZE_SIGNATURE (64u)
482#define MCUXCLECC_EDDSA_ED25519_DOMPREFIXLEN (32u)
483 /* MCUXCLECC_EDDSA_ED25519_SIZE_ */
485
486 /* mcuxClEcc_ParameterSizes */
490
491#ifdef __cplusplus
492} /* extern "C" */
493#endif
494
495#endif /* MCUXCLECC_CONSTANTS_H_ */