MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClOsccaSm2_MemoryConsumption.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2022-2023 NXP */
3/* */
4/* NXP Proprietary. This software is owned or controlled by NXP and may */
5/* only be used strictly in accordance with the applicable license terms. */
6/* By expressly accepting such terms or by downloading, installing, */
7/* activating and/or otherwise using the software, you are agreeing that */
8/* you have read, and that you agree to comply with and are bound by, such */
9/* license terms. If you do not agree to be bound by the applicable */
10/* license terms, then you may not retain, install, activate or otherwise */
11/* use the software. */
12/*--------------------------------------------------------------------------*/
13
19#ifndef MCUXCLOSCCASM2_MEMORYCONSUMPTION_H_
20#define MCUXCLOSCCASM2_MEMORYCONSUMPTION_H_
21
28/*********************************************************************************************/
30/*********************************************************************************************/
31#define MCUXCLOSCCASM2_COMMON_SIZEOF_WA_CPU (84u)
32
33/*********************************************************************************************/
35/*********************************************************************************************/
36#define MCUXCLOSCCASM2_SIGN_SIZEOF_WA_CPU(nLength) (84u + mcuxClOscca_alignSize(nLength))
37
38/*********************************************************************************************/
40/*********************************************************************************************/
41#define MCUXCLOSCCASM2_INVERTPRIVATEKEY_SIZEOF_WA_CPU (84u)
42
43/*********************************************************************************************/
45/*********************************************************************************************/
46#define MCUXCLOSCCASM2_COMPUTE_PREHASH_SIZEOF_WA_CPU (160u)
47
48/*************************************************************************************************/
50/*************************************************************************************************/
51#define MCUXCLOSCCASM2_KEY_GENERATEKEYPAIR_SIZEOF_WA_CPU (84u)
52
53/*********************************************************************************************/
55/*********************************************************************************************/
56#define MCUXCLOSCCASM2_VERIFY_SIZEOF_WA_CPU (84u)
57
58
59/*********************************************************************************************/
61/*********************************************************************************************/
62#define MCUXCLOSCCASM2_ENCRYPT_SIZEOF_FIXED_WA_CPU (84u)
63
64/*********************************************************************************************/
66/*********************************************************************************************/
67#define MCUXCLOSCCASM2_DECRYPT_SIZEOF_FIXED_WA_CPU (84u)
68
69/******************************************************************************************************/
71/******************************************************************************************************/
72#define MCUXCLOSCCASM2_ENCRYPT_SIZEOF_WA_CPU(pLength) (212u + mcuxClOscca_alignSize(3UL * (uint32_t)pLength + 1UL))
73
74/******************************************************************************************************/
76/******************************************************************************************************/
77#define MCUXCLOSCCASM2_DECRYPT_SIZEOF_WA_CPU(pLength) (212u + mcuxClOscca_alignSize(pLength))
78
79/*********************************************************************************************/
81/*********************************************************************************************/
82#if defined(MCUXCL_FEATURE_SM2_SIGNATURE) && defined (MCUXCL_FEATURE_SIGNATURE_SELFTEST)
83#define MCUXCLOSCCASM2_SIGNATURE_SELFTEST_SIZEOF_WA_CPU (400u)
84#endif /* MCUXCL_FEATURE_SM2_SIGNATURE && MCUXCL_FEATURE_SIGNATURE_SELFTEST */
85
86/******************************************************************************************************/
88/******************************************************************************************************/
89#define MCUXCLOSCCASM2_ENC_DEC_CTX_SIZE(pLength) (328u + mcuxClOscca_alignSize(pLength))
90
91/******************************************************************************************************/
93/******************************************************************************************************/
94#ifdef MCUXCL_FEATURE_SM2_CIPHER
95
96#define MCUXCLOSSCASM2_CIPHER_CRYPT_CONTEXT_SIZE (60u)
97
98#endif /* MCUXCL_FEATURE_SM2_CIPHER */
99
100/*********************************************************************************************/
102/*********************************************************************************************/
103#ifdef MCUXCL_FEATURE_SM2_CIPHER
104#define MCUXCLOSCCASM2_CIPHER_ENCDEC_FIXED_SIZEOF_WA_CPU (56u)
105#define MCUXCLOSCCASM2_CIPHER_ENCDEC_SIZEOF_WA_CPU(pLength) (56u + \
106 MCUXCLOSSCASM2_CIPHER_CRYPT_CONTEXT_SIZE+ \
107 MCUXCLOSCCASM2_ENCRYPT_SIZEOF_WA_CPU(pLength)+ \
108 MCUXCLOSCCASM2_ENC_DEC_CTX_SIZE(pLength)+ \
109 mcuxClOscca_alignSize(2UL * (uint32_t)pLength + 1UL))
110
111#endif /* MCUXCL_FEATURE_SM2_CIPHER */
112
113/*********************************************************************************************/
115/*********************************************************************************************/
116#define MCUXCLOSCCASM2_SIGNVERIFY_SELFTEST_SIZEOF_WA_CPU (528u)
117
118/*********************************************************************************************/
120/*********************************************************************************************/
121#define MCUXCLOSCCASM2_ENCDEC_SELFTEST_SIZEOF_WA_CPU (1028u)
122
123/******************************************************************************************************/
125/******************************************************************************************************/
126#define MCUXCLOSCCASM2_KEYEXCHANGE_SIZEOF_WA_CPU (484u)
127
128/************************************************************************************************/
130/************************************************************************************************/
131#ifdef MCUXCL_FEATURE_SM2_KEYAGREEMENT
132#define MCUXCLOSCCASM2_KEYAGREEMENT_SIZEOF_WA_CPU (484u)
133#define MCUXCLOSCCASM2_KEYAGREEMENT_SELFTEST_SIZEOF_WA_CPU (676u)
134#endif /* MCUXCL_FEATURE_SM2_KEYAGREEMENT */
135
136/*********************************************************************************************/
138/*********************************************************************************************/
139#define MCUXCLOSCCASM2_KEYEX_SELFTEST_SIZEOF_WA_CPU (564u)
140
141/*********************************************************************************************/
143/*********************************************************************************************/
144#define MCUXCLOSCCASM2_SELFTEST_SIZEOF_WA_CPU (MCUXCLCORE_MAX(MCUXCLOSCCASM2_KEYEX_SELFTEST_SIZEOF_WA_CPU, \
145 MCUXCLCORE_MAX(MCUXCLOSCCASM2_ENCDEC_SELFTEST_SIZEOF_WA_CPU,\
146 MCUXCLOSCCASM2_SIGNVERIFY_SELFTEST_SIZEOF_WA_CPU)))
147
148/******************************************************************************************************/
150/******************************************************************************************************/
151#define MCUXCLOSCCASM2_COMPUTE_PREHASH_SIZEOF_WA_PKC (4u)
152
156#define MCUXCLOSCCASM2_PKC_WORDSIZE 8u
157
158/******************************************************************************************************/
161/******************************************************************************************************/
162#define MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen) \
163 (30u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLOSCCASM2_PKC_WORDSIZE, MCUXCLCORE_MAX(MCUXCLCORE_MAX((uint32_t)pLen,(uint32_t)nLen),32u)) + MCUXCLOSCCASM2_PKC_WORDSIZE))
164
165/******************************************************************************************************/
167/******************************************************************************************************/
168#define MCUXCLOSCCASM2_VERIFY_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
169
170/******************************************************************************************************/
172/******************************************************************************************************/
173#define MCUXCLOSCCASM2_VERIFY_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
174
175/******************************************************************************************************/
177/******************************************************************************************************/
178#define MCUXCLOSCCASM2_INVERTPRIVATEKEY_SIZEOF_WA_PKC(pLen, nLen) \
179 (9u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLOSCCASM2_PKC_WORDSIZE, MCUXCLCORE_MAX(MCUXCLCORE_MAX((uint32_t)pLen,(uint32_t)nLen), 32u)) + MCUXCLOSCCASM2_PKC_WORDSIZE))
180
181/******************************************************************************************************/
183/******************************************************************************************************/
184#define MCUXCLOSCCASM2_INVERTPRIVATEKEY_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INVERTPRIVATEKEY_SIZEOF_WA_PKC(32u, 32u))
185
186/******************************************************************************************************/
188/******************************************************************************************************/
189#define MCUXCLOSCCASM2_SIGN_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
190
191/******************************************************************************************************/
193/******************************************************************************************************/
194#define MCUXCLOSCCASM2_SIGN_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
195
196/******************************************************************************************************/
198/******************************************************************************************************/
199#if defined(MCUXCL_FEATURE_SM2_SIGNATURE) && defined (MCUXCL_FEATURE_SIGNATURE_SELFTEST)
200#define MCUXCLOSCCASM2_SIGNATURE_SELFTEST_SIZEOF_WA_PKC_256() MCUXCLCORE_MAX(MCUXCLOSCCASM2_SIGN_SIZEOF_WA_PKC_256(),\
201 MCUXCLOSCCASM2_VERIFY_SIZEOF_WA_PKC_256())
202#endif /* MCUXCL_FEATURE_SM2_SIGNATURE && MCUXCL_FEATURE_SIGNATURE_SELFTEST */
203
204
205/******************************************************************************************************/
207/******************************************************************************************************/
208#define MCUXCLOSCCASM2_KEYGEN_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
209
210/*************************************************************************************************************/
212/*************************************************************************************************************/
213#define MCUXCLOSCCASM2_KEY_GENERATEKEYPAIR_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
214
215/*************************************************************************************************************/
217/*************************************************************************************************************/
218#define MCUXCLOSCCASM2_KEY_GENERATEKEYPAIR_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
219
220/******************************************************************************************************/
222/******************************************************************************************************/
223#define MCUXCLOSCCASM2_ENCRYPT_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
224
225/******************************************************************************************************/
227/******************************************************************************************************/
228#define MCUXCLOSCCASM2_ENCRYPT_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
229
230/******************************************************************************************************/
232/******************************************************************************************************/
233#define MCUXCLOSCCASM2_DECRYPT_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
234
235/******************************************************************************************************/
237/******************************************************************************************************/
238#define MCUXCLOSCCASM2_DECRYPT_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
239
240/******************************************************************************************************/
242/******************************************************************************************************/
243#define MCUXCLOSCCASM2_CIPHER_ENCDEC_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
244
245/******************************************************************************************************/
247/******************************************************************************************************/
248#define MCUXCLOSCCASM2_CIPHER_ENCDEC_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
249
250/******************************************************************************************************/
252/******************************************************************************************************/
253#define MCUXCLOSCCASM2_KEYEXCHANGE_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
254
255/*********************************************************************************************/
257/*********************************************************************************************/
258#define MCUXCLOSCCASM2_SELFTEST_SIZEOF_WA_PKC MCUXCLCORE_MAX(MCUXCLCORE_MAX(MCUXCLCORE_MAX(MCUXCLCORE_MAX( \
259 MCUXCLCORE_MAX(MCUXCLCORE_MAX( \
260 MCUXCLOSCCASM2_INVERTPRIVATEKEY_SIZEOF_WA_PKC_256(), \
261 MCUXCLOSCCASM2_COMPUTE_PREHASH_SIZEOF_WA_PKC), \
262 MCUXCLOSCCASM2_SIGN_SIZEOF_WA_PKC_256()), \
263 MCUXCLOSCCASM2_VERIFY_SIZEOF_WA_PKC_256()), \
264 MCUXCLOSCCASM2_ENCRYPT_SIZEOF_WA_PKC_256()), \
265 MCUXCLOSCCASM2_DECRYPT_SIZEOF_WA_PKC_256()), \
266 MCUXCLOSCCASM2_KEYEXCHANGE_SIZEOF_WA_PKC(MCUXCLOSCCASM2_SM2P256_SIZE_PRIMEP, MCUXCLOSCCASM2_SM2P256_SIZE_BASEPOINTORDER))
267
268/************************************************************************************************************/
270/************************************************************************************************************/
271#ifdef MCUXCL_FEATURE_SM2_KEYAGREEMENT
272#define MCUXCLOSCCASM2_KEYAGREEMENT_SIZEOF_WA_PKC(pLen, nLen) MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(pLen, nLen)
273#define MCUXCLOSCCASM2_KEYAGREEMENT_SELFTEST_SIZEOF_WA_PKC (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
274#endif /* MCUXCL_FEATURE_SM2_KEYAGREEMENT */
275
276/************************************************************************************************************/
278/************************************************************************************************************/
279#ifdef MCUXCL_FEATURE_SM2_KEYAGREEMENT
280#define MCUXCLOSCCASM2_KEYAGREEMENT_SIZEOF_WA_PKC_256() (MCUXCLOSCCASM2_INTERNAL_SIZEOF_WA_PKC(32u, 32u))
281#endif /* MCUXCL_FEATURE_SM2_KEYAGREEMENT */
282 /* mcuxClOsccaSm2_MemoryConsumption */
286
287#endif /* MCUXCLOSCCASM2_MEMORYCONSUMPTION_H_ */
288