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
47extern "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_ */