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-2023 NXP */
3/* */
4/* NXP Confidential. 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 license */
10/* terms, then you may not retain, install, activate or otherwise use the */
11/* software. */
12/*--------------------------------------------------------------------------*/
13
20#ifndef MCUXCLECC_CONSTANTS_H_
21#define MCUXCLECC_CONSTANTS_H_
22
23
24#include <stdint.h>
25#include <mcuxClConfig.h> // Exported features flags header
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31
39/**********************************************************/
40/* Return codes of mcuxClEcc */
41/**********************************************************/
42
47#define MCUXCLECC_STATUS_OK ((mcuxClEcc_Status_t) 0x04442E03u)
48#define MCUXCLECC_STATUS_INVALID_PARAMS ((mcuxClEcc_Status_t) 0x044453F8u)
49#define MCUXCLECC_STATUS_RNG_ERROR ((mcuxClEcc_Status_t) 0x04445334u)
50#define MCUXCLECC_STATUS_INVALID_SIGNATURE ((mcuxClEcc_Status_t) 0x04448930u)
51#define MCUXCLECC_STATUS_NEUTRAL_POINT ((mcuxClEcc_Status_t) 0x04448934u)
52#define MCUXCLECC_STATUS_FAULT_ATTACK ((mcuxClEcc_Status_t) 0x0444F0F0u)
53#define MCUXCLECC_STATUS_NOT_SUPPORTED ((mcuxClEcc_Status_t) 0x04445370u)
54
55#define MCUXCLECC_STATUS_ERROR_SMALL_SUBGROUP ((mcuxClEcc_Status_t) 0x04445374u) /* MCUXCLECC_STATUS_ */
57
58
67/**********************************************************/
68/* Options for EdDsa */
69/**********************************************************/
70
71/* phflag values for EdDSA */
72#define MCUXCLECC_EDDSA_PHFLAG_ZERO 0u
73#define MCUXCLECC_EDDSA_PHFLAG_ONE 1u
74 /* mcuxClEcc_Options */
76 /* mcuxClEcc_Constants */
80
81
95#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP (32U)
96#define MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER (32U)
97#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER)
98#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP)
99#define MCUXCLECC_MONTDH_CURVE25519_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP) /* MCUXCLECC_MONTDH_CURVE25519_SIZE_ */
101
106#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP (56U)
107#define MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER (56U)
108#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER)
109#define MCUXCLECC_MONTDH_CURVE448_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP)
110#define MCUXCLECC_MONTDH_CURVE448_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP) /* MCUXCLECC_MONTDH_CURVE448_SIZE_ */
112
113
118#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP (20U)
119#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER (21U)
120#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER)
121#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
122#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
123#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP160K1_SIZE_ */
125
130#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP (24U)
131#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER (24U)
132#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER)
133#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
134#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
135#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP192K1_SIZE_ */
137
142#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP (28U)
143#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER (29U)
144#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER)
145#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
146#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
147#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP224K1_SIZE_ */
149
154#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP (32U)
155#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER (32U)
156#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER)
157#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
158#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
159#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP256K1_SIZE_ */
161
162
167#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP (24U)
168#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER (24U)
169#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
170#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
171#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
172#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP192R1_SIZE_ */
174
179#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP (28U)
180#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER (28U)
181#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
182#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
183#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
184#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP224R1_SIZE_ */
186
191#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP (32U)
192#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER (32U)
193#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
194#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
195#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
196#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP256R1_SIZE_ */
198
203#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP (48U)
204#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER (48U)
205#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
206#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
207#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
208#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP384R1_SIZE_ */
210
215#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP (66U)
216#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER (66U)
217#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
218#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
219#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
220#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_SECP521R1_SIZE_ */
222
223
224
229#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
230#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
231#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY)
232#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY)
233#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET)
234#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P192_SIZE_ */
236
241#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
242#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
243#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY)
244#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY)
245#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET)
246#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P224_SIZE_ */
248
253#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
254#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
255#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY)
256#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY)
257#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET)
258#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P256_SIZE_ */
260
265#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
266#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
267#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY)
268#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY)
269#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET)
270#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P384_SIZE_ */
272
277#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
278#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
279#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY)
280#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY)
281#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET)
282#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE) /* MCUXCLECC_WEIERECC_NIST_P521_SIZE_ */
284
285
286
291#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP (20U)
292#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER (20U)
293#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER)
294#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
295#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
296#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ */
298
303#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP (24U)
304#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER (24U)
305#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER)
306#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
307#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
308#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ */
310
315#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP (28U)
316#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER (28U)
317#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER)
318#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
319#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
320#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ */
322
327#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP (32U)
328#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER (32U)
329#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER)
330#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
331#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
332#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ */
334
339#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP (40U)
340#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER (40U)
341#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER)
342#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
343#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
344#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ */
346
351#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP (48U)
352#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER (48U)
353#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER)
354#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
355#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
356#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ */
358
363#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP (64U)
364#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER (64U)
365#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER)
366#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
367#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
368#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ */
370
371
372
377#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP (20U)
378#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER (20U)
379#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER)
380#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
381#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
382#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ */
384
389#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP (24U)
390#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER (24U)
391#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER)
392#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
393#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
394#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ */
396
401#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP (28U)
402#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER (28U)
403#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER)
404#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
405#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
406#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ */
408
413#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP (32U)
414#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER (32U)
415#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER)
416#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
417#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
418#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ */
420
425#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP (40U)
426#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER (40U)
427#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER)
428#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
429#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
430#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ */
432
437#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP (48U)
438#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER (48U)
439#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER)
440#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
441#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
442#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ */
444
449#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP (64U)
450#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER (64U)
451#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER)
452#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
453#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
454#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ */
456
457
458
462#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP (80U)
463#define MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER (80U)
464#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER)
465#define MCUXCLECC_WEIERECC_MAX_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
466#define MCUXCLECC_WEIERECC_MAX_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
467#define MCUXCLECC_WEIERECC_MAX_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER) /* MCUXCLECC_WEIERECC_MAX_SIZE */
469
470
471
472#define MCUXCLECC_EDDSA_SIZE_HASH_PREFIX(domPrefixLen, contextLen) ((domPrefixLen) + 2u + (contextLen))
473
477#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIMEP (32u)
478#define MCUXCLECC_EDDSA_ED25519_SIZE_BASEPOINTORDER (32u)
479#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEY (32u)
480#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEYDATA (96u)
481#define MCUXCLECC_EDDSA_ED25519_SIZE_PUBLICKEY (32u)
482#define MCUXCLECC_EDDSA_ED25519_SIZE_SIGNATURE (64u)
483#define MCUXCLECC_EDDSA_ED25519_DOMPREFIXLEN (32u)
484 /* MCUXCLECC_EDDSA_ED25519_SIZE_ */
486
487 /* mcuxClEcc_ParameterSizes */
491
492#ifdef __cplusplus
493} /* extern "C" */
494#endif
495
496#endif /* MCUXCLECC_CONSTANTS_H_ */