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-2025 NXP */
3
/* */
4
/* SPDX-License-Identifier: BSD-3-Clause */
5
/* */
6
/* Redistribution and use in source and binary forms, with or without */
7
/* modification, are permitted provided that the following conditions are */
8
/* met: */
9
/* */
10
/* 1. Redistributions of source code must retain the above copyright */
11
/* notice, this list of conditions and the following disclaimer. */
12
/* */
13
/* 2. Redistributions in binary form must reproduce the above copyright */
14
/* notice, this list of conditions and the following disclaimer in the */
15
/* documentation and/or other materials provided with the distribution. */
16
/* */
17
/* 3. Neither the name of the copyright holder nor the names of its */
18
/* contributors may be used to endorse or promote products derived from */
19
/* this software without specific prior written permission. */
20
/* */
21
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS */
22
/* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
23
/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
24
/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
25
/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
26
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
27
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR */
28
/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
29
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
30
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
31
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32
/*--------------------------------------------------------------------------*/
33
38
39
40
#ifndef MCUXCLECC_CONSTANTS_H_
41
#define MCUXCLECC_CONSTANTS_H_
42
43
44
#include <mcuxClCore_Platform.h>
45
46
#ifdef __cplusplus
47
extern
"C"
{
48
#endif
49
50
57
58
/**********************************************************/
59
/* Return codes of mcuxClEcc */
60
/**********************************************************/
61
66
#define MCUXCLECC_STATUS_OK ((mcuxClEcc_Status_t) 0x04442E03u)
67
#define MCUXCLECC_STATUS_INVALID_PARAMS ((mcuxClEcc_Status_t) 0x044453F8u)
68
#define MCUXCLECC_STATUS_SCALAR_ZERO ((mcuxClEcc_Status_t) 0x04445370u)
69
#define MCUXCLECC_STATUS_INVALID_SIGNATURE ((mcuxClEcc_Status_t) 0x04448930u)
70
#define MCUXCLECC_STATUS_NEUTRAL_POINT ((mcuxClEcc_Status_t) 0x04448934u)
71
#define MCUXCLECC_STATUS_FAULT_ATTACK ((mcuxClEcc_Status_t) 0x0444F0F0u)
72
73
#ifdef MCUXCL_FEATURE_ECC_MONTDH
74
#define MCUXCLECC_STATUS_SMALL_SUBGROUP_ATTACK ((mcuxClEcc_Status_t) 0x04445374u)
75
#endif
/* MCUXCL_FEATURE_ECC_MONTDH */
/* MCUXCLECC_STATUS_ */
77
78
83
84
/**********************************************************/
85
/* Options for generating custom domain parameters */
86
/**********************************************************/
87
88
#define MCUXCLECC_OPTION_GENERATEPRECPOINT_YES (0x00000001u)
89
#define MCUXCLECC_OPTION_GENERATEPRECPOINT_NO (0x00000002u)
90
#define MCUXCLECC_OPTION_GENERATEPRECPOINT_MASK (MCUXCLECC_OPTION_GENERATEPRECPOINT_YES | MCUXCLECC_OPTION_GENERATEPRECPOINT_NO)
91
#define MCUXCLECC_OPTION_GENERATEPRECPOINT_OFFSET 0u
92
93
94
95
#ifdef MCUXCL_FEATURE_ECC_EDDSA
96
97
/**********************************************************/
98
/* Options for EdDsa */
99
/**********************************************************/
100
101
/* phflag values for EdDSA */
102
#define MCUXCLECC_EDDSA_PHFLAG_ZERO 0u
103
#define MCUXCLECC_EDDSA_PHFLAG_ONE 1u
104
105
#endif
/* MCUXCL_FEATURE_ECC_EDDSA */
/* mcuxClEcc_Options */
107
/* mcuxClEcc_Constants */
111
112
119
120
#ifdef MCUXCL_FEATURE_ECC_MONTDH
121
126
#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP (32U)
127
#define MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER (32U)
128
#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_BASEPOINTORDER)
129
#define MCUXCLECC_MONTDH_CURVE25519_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP)
130
#define MCUXCLECC_MONTDH_CURVE25519_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE25519_SIZE_PRIMEP)
/* MCUXCLECC_MONTDH_CURVE25519_SIZE_ */
132
137
#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP (56U)
138
#define MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER (56U)
139
#define MCUXCLECC_MONTDH_CURVE448_SIZE_PRIVATEKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_BASEPOINTORDER)
140
#define MCUXCLECC_MONTDH_CURVE448_SIZE_PUBLICKEY (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP)
141
#define MCUXCLECC_MONTDH_CURVE448_SIZE_SHAREDSECRET (MCUXCLECC_MONTDH_CURVE448_SIZE_PRIMEP)
/* MCUXCLECC_MONTDH_CURVE448_SIZE_ */
143
#endif
/* MCUXCL_FEATURE_ECC_MONTDH */
144
145
#ifdef MCUXCL_FEATURE_ECC_SECPK1_CURVES
146
151
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP (20U)
152
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER (21U)
153
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER)
154
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
155
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
156
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP160K1_SIZE_BASEPOINTORDER)
157
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
158
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP)
159
#define MCUXCLECC_WEIERECC_SECP160K1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP160K1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP160K1_SIZE_ */
161
166
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP (24U)
167
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER (24U)
168
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER)
169
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
170
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
171
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192K1_SIZE_BASEPOINTORDER)
172
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
173
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP)
174
#define MCUXCLECC_WEIERECC_SECP192K1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP192K1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP192K1_SIZE_ */
176
181
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP (28U)
182
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER (29U)
183
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER)
184
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
185
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
186
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224K1_SIZE_BASEPOINTORDER)
187
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
188
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP)
189
#define MCUXCLECC_WEIERECC_SECP224K1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP224K1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP224K1_SIZE_ */
191
196
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP (32U)
197
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER (32U)
198
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER)
199
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
200
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
201
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256K1_SIZE_BASEPOINTORDER)
202
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
203
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP)
204
#define MCUXCLECC_WEIERECC_SECP256K1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP256K1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP256K1_SIZE_ */
206
207
#endif
/* MCUXCL_FEATURE_ECC_SECPK1_CURVES */
208
209
#ifdef MCUXCL_FEATURE_ECC_SECPR1_CURVES
214
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP (24U)
215
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER (24U)
216
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
217
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
218
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
219
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
220
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
221
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
222
#define MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP192R1_SIZE_ */
224
229
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP (28U)
230
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER (28U)
231
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
232
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
233
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
234
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
235
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
236
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
237
#define MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP224R1_SIZE_ */
239
#endif
/* MCUXCL_FEATURE_ECC_SECPR1_CURVES */
240
241
#if defined(MCUXCL_FEATURE_ECC_SECPR1_CURVES)
246
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP (32U)
247
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER (32U)
248
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
249
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
250
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
251
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
252
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
253
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
254
#define MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP256R1_SIZE_ */
256
#endif
/* defined(MCUXCL_FEATURE_ECC_SECPR1_CURVES) || defined(MCUXCL_FEATURE_ECC_ECCKI) */
257
258
#if defined(MCUXCL_FEATURE_ECC_SECPR1_CURVES)
263
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP (48U)
264
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER (48U)
265
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
266
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
267
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
268
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
269
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
270
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
271
#define MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP384R1_SIZE_ */
273
#endif
/* defined(MCUXCL_FEATURE_ECC_SECPR1_CURVES) || defined(MCUXCL_FEATURE_ECC_ECCKI) */
274
275
#if defined(MCUXCL_FEATURE_ECC_SECPR1_CURVES)
280
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP (66U)
281
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER (66U)
282
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
283
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
284
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
285
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
286
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
287
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
288
#define MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_SECP521R1_SIZE_ */
290
291
#endif
/* MCUXCL_FEATURE_ECC_SECPR1_CURVES */
292
293
#ifdef MCUXCL_FEATURE_ECC_NISTPR1_CURVES
294
299
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIMEP)
300
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP192R1_SIZE_BASEPOINTORDER)
301
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PRIVATEKEY)
302
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP192R1_SIZE_PUBLICKEY)
303
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SHAREDSECRET)
304
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP192R1_SIZE_SIGNATURE)
305
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_ENCPOINT_SEC_NEUTRAL (MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_NEUTRAL)
306
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_ENCPOINT_SEC_COMPRESSED (MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_COMPRESSED)
307
#define MCUXCLECC_WEIERECC_NIST_P192_SIZE_ENCPOINT_SEC_UNCOMPRESSED (MCUXCLECC_WEIERECC_SECP192R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED)
/* MCUXCLECC_WEIERECC_NIST_P192_SIZE_ */
309
314
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIMEP)
315
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP224R1_SIZE_BASEPOINTORDER)
316
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PRIVATEKEY)
317
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP224R1_SIZE_PUBLICKEY)
318
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SHAREDSECRET)
319
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP224R1_SIZE_SIGNATURE)
320
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_ENCPOINT_SEC_NEUTRAL (MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_NEUTRAL)
321
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_ENCPOINT_SEC_COMPRESSED (MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_COMPRESSED)
322
#define MCUXCLECC_WEIERECC_NIST_P224_SIZE_ENCPOINT_SEC_UNCOMPRESSED (MCUXCLECC_WEIERECC_SECP224R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED)
/* MCUXCLECC_WEIERECC_NIST_P224_SIZE_ */
324
#endif
/* MCUXCL_FEATURE_ECC_NISTPR1_CURVES */
325
326
#if defined(MCUXCL_FEATURE_ECC_NISTPR1_CURVES)
331
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIMEP)
332
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP256R1_SIZE_BASEPOINTORDER)
333
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PRIVATEKEY)
334
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP256R1_SIZE_PUBLICKEY)
335
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SHAREDSECRET)
336
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP256R1_SIZE_SIGNATURE)
337
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_ENCPOINT_SEC_NEUTRAL (MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_NEUTRAL)
338
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_ENCPOINT_SEC_COMPRESSED (MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_COMPRESSED)
339
#define MCUXCLECC_WEIERECC_NIST_P256_SIZE_ENCPOINT_SEC_UNCOMPRESSED (MCUXCLECC_WEIERECC_SECP256R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED)
/* MCUXCLECC_WEIERECC_NIST_P256_SIZE_ */
341
#endif
/* defined(MCUXCL_FEATURE_ECC_NISTPR1_CURVES) || defined(MCUXCL_FEATURE_ECC_ECCKI) */
342
343
#if defined(MCUXCL_FEATURE_ECC_NISTPR1_CURVES)
348
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIMEP)
349
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP384R1_SIZE_BASEPOINTORDER)
350
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PRIVATEKEY)
351
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP384R1_SIZE_PUBLICKEY)
352
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SHAREDSECRET)
353
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP384R1_SIZE_SIGNATURE)
354
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_ENCPOINT_SEC_NEUTRAL (MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_NEUTRAL)
355
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_ENCPOINT_SEC_COMPRESSED (MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_COMPRESSED)
356
#define MCUXCLECC_WEIERECC_NIST_P384_SIZE_ENCPOINT_SEC_UNCOMPRESSED (MCUXCLECC_WEIERECC_SECP384R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED)
/* MCUXCLECC_WEIERECC_NIST_P384_SIZE_ */
358
#endif
/* defined(MCUXCL_FEATURE_ECC_NISTPR1_CURVES) || defined(MCUXCL_FEATURE_ECC_ECCKI) */
359
360
#if defined(MCUXCL_FEATURE_ECC_NISTPR1_CURVES)
365
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIMEP (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIMEP)
366
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_BASEPOINTORDER (MCUXCLECC_WEIERECC_SECP521R1_SIZE_BASEPOINTORDER)
367
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PRIVATEKEY)
368
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_PUBLICKEY (MCUXCLECC_WEIERECC_SECP521R1_SIZE_PUBLICKEY)
369
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SHAREDSECRET)
370
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_SIGNATURE (MCUXCLECC_WEIERECC_SECP521R1_SIZE_SIGNATURE)
371
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_ENCPOINT_SEC_NEUTRAL (MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_NEUTRAL)
372
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_ENCPOINT_SEC_COMPRESSED (MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_COMPRESSED)
373
#define MCUXCLECC_WEIERECC_NIST_P521_SIZE_ENCPOINT_SEC_UNCOMPRESSED (MCUXCLECC_WEIERECC_SECP521R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED)
/* MCUXCLECC_WEIERECC_NIST_P521_SIZE_ */
375
376
#endif
/* MCUXCL_FEATURE_ECC_NISTPR1_CURVES */
377
378
#ifdef MCUXCL_FEATURE_ECC_BRAINPOOLR1_CURVES
379
384
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP (20U)
385
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER (20U)
386
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER)
387
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
388
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
389
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_BASEPOINTORDER)
390
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
391
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP)
392
#define MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP160R1_SIZE_ */
394
399
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP (24U)
400
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER (24U)
401
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER)
402
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
403
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
404
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_BASEPOINTORDER)
405
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
406
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP)
407
#define MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP192R1_SIZE_ */
409
414
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP (28U)
415
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER (28U)
416
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER)
417
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
418
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
419
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_BASEPOINTORDER)
420
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
421
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP)
422
#define MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP224R1_SIZE_ */
424
429
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP (32U)
430
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER (32U)
431
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER)
432
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
433
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
434
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_BASEPOINTORDER)
435
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
436
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP)
437
#define MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP256R1_SIZE_ */
439
444
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP (40U)
445
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER (40U)
446
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER)
447
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
448
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
449
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_BASEPOINTORDER)
450
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
451
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP)
452
#define MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP320R1_SIZE_ */
454
459
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP (48U)
460
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER (48U)
461
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER)
462
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
463
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
464
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_BASEPOINTORDER)
465
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
466
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP)
467
#define MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP384R1_SIZE_ */
469
474
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP (64U)
475
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER (64U)
476
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER)
477
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
478
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
479
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_BASEPOINTORDER)
480
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
481
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP)
482
#define MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP512R1_SIZE_ */
484
485
#endif
/* MCUXCL_FEATURE_ECC_BRAINPOOLR1_CURVES */
486
487
#ifdef MCUXCL_FEATURE_ECC_BRAINPOOLT1_CURVES
488
493
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP (20U)
494
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER (20U)
495
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER)
496
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
497
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
498
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_BASEPOINTORDER)
499
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
500
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP)
501
#define MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP160T1_SIZE_ */
503
508
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP (24U)
509
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER (24U)
510
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER)
511
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
512
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
513
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_BASEPOINTORDER)
514
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
515
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP)
516
#define MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP192T1_SIZE_ */
518
523
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP (28U)
524
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER (28U)
525
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER)
526
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
527
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
528
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_BASEPOINTORDER)
529
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
530
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP)
531
#define MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP224T1_SIZE_ */
533
538
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP (32U)
539
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER (32U)
540
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER)
541
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
542
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
543
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_BASEPOINTORDER)
544
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
545
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP)
546
#define MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP256T1_SIZE_ */
548
553
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP (40U)
554
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER (40U)
555
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER)
556
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
557
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
558
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_BASEPOINTORDER)
559
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
560
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP)
561
#define MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP320T1_SIZE_ */
563
568
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP (48U)
569
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER (48U)
570
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER)
571
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
572
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
573
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_BASEPOINTORDER)
574
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
575
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP)
576
#define MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP384T1_SIZE_ */
578
583
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP (64U)
584
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER (64U)
585
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER)
586
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
587
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
588
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_BASEPOINTORDER)
589
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
590
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP)
591
#define MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_BRAINPOOLP512T1_SIZE_ */
593
594
#endif
/* MCUXCL_FEATURE_ECC_BRAINPOOLT1_CURVES */
595
596
600
#define MCUXCLECC_WEIERECC_MIN_SIZE_PRIMEP (16U)
601
#define MCUXCLECC_WEIERECC_MIN_SIZE_BASEPOINTORDER (16U)
602
#define MCUXCLECC_WEIERECC_MIN_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_MIN_SIZE_BASEPOINTORDER)
603
#define MCUXCLECC_WEIERECC_MIN_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_MIN_SIZE_PRIMEP)
604
#define MCUXCLECC_WEIERECC_MIN_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_MIN_SIZE_PRIMEP)
605
#define MCUXCLECC_WEIERECC_MIN_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_MIN_SIZE_BASEPOINTORDER)
606
#define MCUXCLECC_WEIERECC_MIN_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
607
#define MCUXCLECC_WEIERECC_MIN_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_MIN_SIZE_PRIMEP)
608
#define MCUXCLECC_WEIERECC_MIN_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_MIN_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_MIN_SIZE */
610
614
#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP (80U)
615
#define MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER (80U)
616
#define MCUXCLECC_WEIERECC_MAX_SIZE_PRIVATEKEY (MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER)
617
#define MCUXCLECC_WEIERECC_MAX_SIZE_PUBLICKEY (2U * MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
618
#define MCUXCLECC_WEIERECC_MAX_SIZE_SHAREDSECRET (MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
619
#define MCUXCLECC_WEIERECC_MAX_SIZE_SIGNATURE (2U * MCUXCLECC_WEIERECC_MAX_SIZE_BASEPOINTORDER)
620
#define MCUXCLECC_WEIERECC_MAX_SIZE_ENCPOINT_SEC_NEUTRAL (1u)
621
#define MCUXCLECC_WEIERECC_MAX_SIZE_ENCPOINT_SEC_COMPRESSED (1u + MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP)
622
#define MCUXCLECC_WEIERECC_MAX_SIZE_ENCPOINT_SEC_UNCOMPRESSED (1u + (2u * MCUXCLECC_WEIERECC_MAX_SIZE_PRIMEP))
/* MCUXCLECC_WEIERECC_MAX_SIZE */
624
625
626
#ifdef MCUXCL_FEATURE_ECC_EDDSA
627
628
#define MCUXCLECC_EDDSA_SIZE_HASH_PREFIX(domPrefixLen, contextLen) ((domPrefixLen) + 2u + (contextLen))
629
633
#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIMEP (32u)
634
#define MCUXCLECC_EDDSA_ED25519_SIZE_BASEPOINTORDER (32u)
635
#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEY (32u)
636
#define MCUXCLECC_EDDSA_ED25519_SIZE_PRIVATEKEYDATA (96u)
637
#define MCUXCLECC_EDDSA_ED25519_SIZE_PUBLICKEY (32u)
638
#define MCUXCLECC_EDDSA_ED25519_SIZE_SIGNATURE (64u)
639
#define MCUXCLECC_EDDSA_ED25519_DOMPREFIXLEN (32u)
640
/* MCUXCLECC_EDDSA_ED25519_SIZE_ */
642
643
#endif
/* MCUXCL_FEATURE_ECC_EDDSA */
644
/* mcuxClEcc_ParameterSizes */
648
649
#ifdef __cplusplus
650
}
/* extern "C" */
651
#endif
652
653
#endif
/* MCUXCLECC_CONSTANTS_H_ */
mcuxClEcc_Constants.h
Generated by
1.16.1