MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClRsa_MemoryConsumption.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2024, 2026 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#ifndef MCUXCLRSA_MEMORYCONSUMPTION_H_
40#define MCUXCLRSA_MEMORYCONSUMPTION_H_
41
42#define MCUXCLRSA_SIGNATURE_PROTOCOLDESCRIPTOR_SIZE (52u)
43#if defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT)
44#define MCUXCLRSA_CIPHER_MODE_SIZE ($(mcuxClRsa_Cipher_AlgorithmMode_Descriptors_Size)u)
45#endif /* defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT) */
46
53#define MCUXCLRSA_KEYGEN_MODE_SIZE (20u)
55
56#ifdef MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT
57/****************************************************************************/
58/* Definitions of workarea sizes for the RSA encryption. */
59/****************************************************************************/
60
67#define MCUXCLRSA_ENCRYPT_1024_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_1024_WaCPU)u)
68#define MCUXCLRSA_ENCRYPT_2048_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_2048_WaCPU)u)
69#define MCUXCLRSA_ENCRYPT_3072_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_3072_WaCPU)u)
70#define MCUXCLRSA_ENCRYPT_4096_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_4096_WaCPU)u)
71#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
72#define MCUXCLRSA_ENCRYPT_6144_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_6144_WaCPU)u)
73#define MCUXCLRSA_ENCRYPT_8192_WACPU_SIZE ($(mcuxClRsa_Util_Encrypt_8192_WaCPU)u)
74
75#define MCUXCLRSA_ENCRYPT_WACPU_SIZE(keyBitLength) \
76 ((6144U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_8192_WACPU_SIZE : \
77 ((4096U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_6144_WACPU_SIZE : \
78 ((3072U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_4096_WACPU_SIZE : \
79 ((2048U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_3072_WACPU_SIZE : \
80 ((1024U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_2048_WACPU_SIZE : \
81 MCUXCLRSA_ENCRYPT_1024_WACPU_SIZE)))))
82#else
83#define MCUXCLRSA_ENCRYPT_WACPU_SIZE(keyBitLength) \
84 ((3072U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_4096_WACPU_SIZE : \
85 ((2048U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_3072_WACPU_SIZE : \
86 ((1024U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_2048_WACPU_SIZE : \
87 MCUXCLRSA_ENCRYPT_1024_WACPU_SIZE)))
88#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
89
90#define MCUXCLRSA_ENCRYPT_1024_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_1024_WaPKC)u)
91#define MCUXCLRSA_ENCRYPT_2048_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_2048_WaPKC)u)
92#define MCUXCLRSA_ENCRYPT_3072_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_3072_WaPKC)u)
93#define MCUXCLRSA_ENCRYPT_4096_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_4096_WaPKC)u)
94#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
95#define MCUXCLRSA_ENCRYPT_6144_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_6144_WaPKC)u)
96#define MCUXCLRSA_ENCRYPT_8192_WAPKC_SIZE ($(mcuxClRsa_Util_Encrypt_8192_WaPKC)u)
97
98#define MCUXCLRSA_ENCRYPT_WAPKC_SIZE(keyBitLength) \
99 ((6144U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_8192_WAPKC_SIZE : \
100 ((4096U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_6144_WAPKC_SIZE : \
101 ((3072U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_4096_WAPKC_SIZE : \
102 ((2048U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_3072_WAPKC_SIZE : \
103 ((1024U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_2048_WAPKC_SIZE : \
104 MCUXCLRSA_ENCRYPT_1024_WAPKC_SIZE)))))
105#else
106#define MCUXCLRSA_ENCRYPT_WAPKC_SIZE(keyBitLength) \
107 ((3072U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_4096_WAPKC_SIZE : \
108 ((2048U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_3072_WAPKC_SIZE : \
109 ((1024U < (keyBitLength)) ? MCUXCLRSA_ENCRYPT_2048_WAPKC_SIZE : \
110 MCUXCLRSA_ENCRYPT_1024_WAPKC_SIZE)))
111#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
112
114#endif /* MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT */
115#ifdef MCUXCL_FEATURE_CIPHER_RSA_DECRYPT
116/****************************************************************************/
117/* Definitions of workarea sizes for the RSA decryption. */
118/****************************************************************************/
119
126#define MCUXCLRSA_DECRYPT_1024_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_1024_WaCPU)u)
127#define MCUXCLRSA_DECRYPT_2048_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_2048_WaCPU)u)
128#define MCUXCLRSA_DECRYPT_3072_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_3072_WaCPU)u)
129#define MCUXCLRSA_DECRYPT_4096_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_4096_WaCPU)u)
130#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
131#define MCUXCLRSA_DECRYPT_6144_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_6144_WaCPU)u)
132#define MCUXCLRSA_DECRYPT_8192_WACPU_SIZE ($(mcuxClRsa_Util_Decrypt_8192_WaCPU)u)
133
134#define MCUXCLRSA_DECRYPT_WACPU_SIZE(keyBitLength) \
135 ((6144U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_8192_WACPU_SIZE : \
136 ((4096U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_6144_WACPU_SIZE : \
137 ((3072U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_4096_WACPU_SIZE : \
138 ((2048U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_3072_WACPU_SIZE : \
139 ((1024U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_2048_WACPU_SIZE : \
140 MCUXCLRSA_DECRYPT_1024_WACPU_SIZE)))))
141#else
142#define MCUXCLRSA_DECRYPT_WACPU_SIZE(keyBitLength) \
143 ((3072U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_4096_WACPU_SIZE : \
144 ((2048U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_3072_WACPU_SIZE : \
145 ((1024U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_2048_WACPU_SIZE : \
146 MCUXCLRSA_DECRYPT_1024_WACPU_SIZE)))
147#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
148
149#define MCUXCLRSA_DECRYPT_1024_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_1024_WaPKC)u)
150#define MCUXCLRSA_DECRYPT_2048_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_2048_WaPKC)u)
151#define MCUXCLRSA_DECRYPT_3072_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_3072_WaPKC)u)
152#define MCUXCLRSA_DECRYPT_4096_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_4096_WaPKC)u)
153#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
154#define MCUXCLRSA_DECRYPT_6144_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_6144_WaPKC)u)
155#define MCUXCLRSA_DECRYPT_8192_WAPKC_SIZE ($(mcuxClRsa_Util_Decrypt_8192_WaPKC)u)
156
157#define MCUXCLRSA_DECRYPT_WAPKC_SIZE(keyBitLength) \
158 ((6144U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_8192_WAPKC_SIZE : \
159 ((4096U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_6144_WAPKC_SIZE : \
160 ((3072U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_4096_WAPKC_SIZE : \
161 ((2048U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_3072_WAPKC_SIZE : \
162 ((1024U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_2048_WAPKC_SIZE : \
163 MCUXCLRSA_DECRYPT_1024_WAPKC_SIZE)))))
164#else
165#define MCUXCLRSA_DECRYPT_WAPKC_SIZE(keyBitLength) \
166 ((3072U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_4096_WAPKC_SIZE : \
167 ((2048U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_3072_WAPKC_SIZE : \
168 ((1024U < (keyBitLength)) ? MCUXCLRSA_DECRYPT_2048_WAPKC_SIZE : \
169 MCUXCLRSA_DECRYPT_1024_WAPKC_SIZE)))
170#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
171
173#endif /* MCUXCL_FEATURE_CIPHER_RSA_DECRYPT */
174/****************************************************************************/
175/* Definitions of workarea sizes for the mcuxClRsa Sign */
176/****************************************************************************/
177
184
185
186#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_1024_WACPU_SIZE (216u)
187#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_2048_WACPU_SIZE (216u)
188#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_3072_WACPU_SIZE (216u)
189#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_4096_WACPU_SIZE (216u)
190#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
191#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_6144_WACPU_SIZE ($(mcuxClRsa_Sign_Plain_PssEncode_6144_WaCPU)u)
192#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_8192_WACPU_SIZE ($(mcuxClRsa_Sign_Plain_PssEncode_8192_WaCPU)u)
193
194#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_WACPU_SIZE(keyBitLength) \
195 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_8192_WACPU_SIZE : \
196 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_6144_WACPU_SIZE : \
197 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_4096_WACPU_SIZE : \
198 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_3072_WACPU_SIZE : \
199 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_2048_WACPU_SIZE : \
200 MCUXCLRSA_SIGN_PLAIN_PSSENCODE_1024_WACPU_SIZE)))))
201#else
202#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_WACPU_SIZE(keyBitLength) \
203 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_4096_WACPU_SIZE : \
204 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_3072_WACPU_SIZE : \
205 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_2048_WACPU_SIZE : \
206 MCUXCLRSA_SIGN_PLAIN_PSSENCODE_1024_WACPU_SIZE)))
207#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
208
209#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_1024_WACPU_SIZE (128u)
210#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_2048_WACPU_SIZE (128u)
211#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_3072_WACPU_SIZE (128u)
212#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_4096_WACPU_SIZE (128u)
213#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
214#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_6144_WACPU_SIZE ($(mcuxClRsa_Sign_Plain_Pkcs1v15Encode_6144_WaCPU)u)
215#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_8192_WACPU_SIZE ($(mcuxClRsa_Sign_Plain_Pkcs1v15Encode_8192_WaCPU)u)
216
217#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
218 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_8192_WACPU_SIZE : \
219 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_6144_WACPU_SIZE : \
220 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_4096_WACPU_SIZE : \
221 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_3072_WACPU_SIZE : \
222 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_2048_WACPU_SIZE : \
223 MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_1024_WACPU_SIZE)))))
224#else
225#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
226 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_4096_WACPU_SIZE : \
227 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_3072_WACPU_SIZE : \
228 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_2048_WACPU_SIZE : \
229 MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_1024_WACPU_SIZE)))
230#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
231
232#define MCUXCLRSA_SIGN_PLAIN_1024_WAPKC_SIZE (1344u)
233#define MCUXCLRSA_SIGN_PLAIN_2048_WAPKC_SIZE (2496u)
234#define MCUXCLRSA_SIGN_PLAIN_3072_WAPKC_SIZE (3648u)
235#define MCUXCLRSA_SIGN_PLAIN_4096_WAPKC_SIZE (4800u)
236#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
237#define MCUXCLRSA_SIGN_PLAIN_6144_WAPKC_SIZE ($(mcuxClRsa_Sign_Plain_6144_WaPKC)u)
238#define MCUXCLRSA_SIGN_PLAIN_8192_WAPKC_SIZE ($(mcuxClRsa_Sign_Plain_8192_WaPKC)u)
239
240#define MCUXCLRSA_SIGN_PLAIN_WAPKC_SIZE(keyBitLength) \
241 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_8192_WAPKC_SIZE : \
242 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_6144_WAPKC_SIZE : \
243 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_4096_WAPKC_SIZE : \
244 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_3072_WAPKC_SIZE : \
245 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_2048_WAPKC_SIZE : \
246 MCUXCLRSA_SIGN_PLAIN_1024_WAPKC_SIZE)))))
247#else
248#define MCUXCLRSA_SIGN_PLAIN_WAPKC_SIZE(keyBitLength) \
249 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_4096_WAPKC_SIZE : \
250 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_3072_WAPKC_SIZE : \
251 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_2048_WAPKC_SIZE : \
252 MCUXCLRSA_SIGN_PLAIN_1024_WAPKC_SIZE)))
253#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
254
255
256#define MCUXCLRSA_SIGN_CRT_PSSENCODE_1024_WACPU_SIZE (216u)
257#define MCUXCLRSA_SIGN_CRT_PSSENCODE_2048_WACPU_SIZE (216u)
258#define MCUXCLRSA_SIGN_CRT_PSSENCODE_3072_WACPU_SIZE (216u)
259#define MCUXCLRSA_SIGN_CRT_PSSENCODE_4096_WACPU_SIZE (216u)
260#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
261#define MCUXCLRSA_SIGN_CRT_PSSENCODE_6144_WACPU_SIZE ($(mcuxClRsa_Sign_CRT_PssEncode_6144_WaCPU)u)
262#define MCUXCLRSA_SIGN_CRT_PSSENCODE_8192_WACPU_SIZE ($(mcuxClRsa_Sign_CRT_PssEncode_8192_WaCPU)u)
263
264#define MCUXCLRSA_SIGN_CRT_PSSENCODE_WACPU_SIZE(keyBitLength) \
265 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_8192_WACPU_SIZE : \
266 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_6144_WACPU_SIZE : \
267 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_4096_WACPU_SIZE : \
268 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_3072_WACPU_SIZE : \
269 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_2048_WACPU_SIZE : \
270 MCUXCLRSA_SIGN_CRT_PSSENCODE_1024_WACPU_SIZE)))))
271#else
272#define MCUXCLRSA_SIGN_CRT_PSSENCODE_WACPU_SIZE(keyBitLength) \
273 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_4096_WACPU_SIZE : \
274 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_3072_WACPU_SIZE : \
275 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_2048_WACPU_SIZE : \
276 MCUXCLRSA_SIGN_CRT_PSSENCODE_1024_WACPU_SIZE)))
277#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
278
279#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_1024_WACPU_SIZE (128u)
280#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_2048_WACPU_SIZE (128u)
281#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_3072_WACPU_SIZE (128u)
282#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_4096_WACPU_SIZE (128u)
283#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
284#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_6144_WACPU_SIZE ($(mcuxClRsa_Sign_CRT_Pkcs1v15Encode_6144_WaCPU)u)
285#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_8192_WACPU_SIZE ($(mcuxClRsa_Sign_CRT_Pkcs1v15Encode_8192_WaCPU)u)
286
287#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
288 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_8192_WACPU_SIZE : \
289 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_6144_WACPU_SIZE : \
290 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_4096_WACPU_SIZE : \
291 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_3072_WACPU_SIZE : \
292 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_2048_WACPU_SIZE : \
293 MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_1024_WACPU_SIZE)))))
294#else
295#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
296 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_4096_WACPU_SIZE : \
297 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_3072_WACPU_SIZE : \
298 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_2048_WACPU_SIZE : \
299 MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_1024_WACPU_SIZE)))
300#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
301
302#define MCUXCLRSA_SIGN_CRT_1024_WAPKC_SIZE (1128u)
303#define MCUXCLRSA_SIGN_CRT_2048_WAPKC_SIZE (2152u)
304#define MCUXCLRSA_SIGN_CRT_3072_WAPKC_SIZE (3176u)
305#define MCUXCLRSA_SIGN_CRT_4096_WAPKC_SIZE (4200u)
306#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
307#define MCUXCLRSA_SIGN_CRT_6144_WAPKC_SIZE ($(mcuxClRsa_Sign_CRT_6144_WaPKC)u)
308#define MCUXCLRSA_SIGN_CRT_8192_WAPKC_SIZE ($(mcuxClRsa_Sign_CRT_8192_WaPKC)u)
309
310#define MCUXCLRSA_SIGN_CRT_WAPKC_SIZE(keyBitLength) \
311 ((6144U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_8192_WAPKC_SIZE : \
312 ((4096U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_6144_WAPKC_SIZE : \
313 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_4096_WAPKC_SIZE : \
314 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_3072_WAPKC_SIZE : \
315 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_2048_WAPKC_SIZE : \
316 MCUXCLRSA_SIGN_CRT_1024_WAPKC_SIZE)))))
317#else
318#define MCUXCLRSA_SIGN_CRT_WAPKC_SIZE(keyBitLength) \
319 ((3072U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_4096_WAPKC_SIZE : \
320 ((2048U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_3072_WAPKC_SIZE : \
321 ((1024U < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_2048_WAPKC_SIZE : \
322 MCUXCLRSA_SIGN_CRT_1024_WAPKC_SIZE)))
323
324#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
326
327/****************************************************************************/
328/* Definitions of workarea sizes for the mcuxClRsa Verify */
329/****************************************************************************/
336
337
338#define MCUXCLRSA_VERIFY_PSSVERIFY_WACPU_SIZE (216u)
339#define MCUXCLRSA_VERIFY_PKCS1V15VERIFY_WACPU_SIZE (128u)
340
341#define MCUXCLRSA_VERIFY_1024_WAPKC_SIZE (728u)
342#define MCUXCLRSA_VERIFY_2048_WAPKC_SIZE (1368u)
343#define MCUXCLRSA_VERIFY_3072_WAPKC_SIZE (2008u)
344#define MCUXCLRSA_VERIFY_4096_WAPKC_SIZE (2648u)
345#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
346#define MCUXCLRSA_VERIFY_6144_WAPKC_SIZE ($(mcuxClRsa_Verify_6144_WaPKC)u)
347#define MCUXCLRSA_VERIFY_8192_WAPKC_SIZE ($(mcuxClRsa_Verify_8192_WaPKC)u)
348
349#define MCUXCLRSA_VERIFY_WAPKC_SIZE(keyBitLength) \
350 ((6144U < (keyBitLength)) ? MCUXCLRSA_VERIFY_8192_WAPKC_SIZE : \
351 ((4096U < (keyBitLength)) ? MCUXCLRSA_VERIFY_6144_WAPKC_SIZE : \
352 ((3072U < (keyBitLength)) ? MCUXCLRSA_VERIFY_4096_WAPKC_SIZE : \
353 ((2048U < (keyBitLength)) ? MCUXCLRSA_VERIFY_3072_WAPKC_SIZE : \
354 ((1024U < (keyBitLength)) ? MCUXCLRSA_VERIFY_2048_WAPKC_SIZE : \
355 MCUXCLRSA_VERIFY_1024_WAPKC_SIZE)))))
356#else
357#define MCUXCLRSA_VERIFY_WAPKC_SIZE(keyBitLength) \
358 ((3072U < (keyBitLength)) ? MCUXCLRSA_VERIFY_4096_WAPKC_SIZE : \
359 ((2048U < (keyBitLength)) ? MCUXCLRSA_VERIFY_3072_WAPKC_SIZE : \
360 ((1024U < (keyBitLength)) ? MCUXCLRSA_VERIFY_2048_WAPKC_SIZE : \
361 MCUXCLRSA_VERIFY_1024_WAPKC_SIZE)))
362#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
363
364
365
367
368
369/****************************************************************************/
370/* Definitions of workarea sizes for the mcuxClRsa Key Generation */
371/****************************************************************************/
372
379#define MCUXCLRSA_KEYGENERATION_CRT_1024_WACPU_SIZE (640u)
380#define MCUXCLRSA_KEYGENERATION_CRT_2048_WACPU_SIZE (768u)
381#define MCUXCLRSA_KEYGENERATION_CRT_3072_WACPU_SIZE (896u)
382#define MCUXCLRSA_KEYGENERATION_CRT_4096_WACPU_SIZE (1024u)
383#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
384#define MCUXCLRSA_KEYGENERATION_CRT_6144_WACPU_SIZE ($(mcuxClRsa_KeyGeneration_Crt_6144_WaCPU)u)
385#define MCUXCLRSA_KEYGENERATION_CRT_8192_WACPU_SIZE ($(mcuxClRsa_KeyGeneration_Crt_8192_WaCPU)u)
386
387#define MCUXCLRSA_KEYGENERATION_CRT_WACPU_SIZE(keyBitLength) \
388 ((6144U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_8192_WACPU_SIZE : \
389 ((4096U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_6144_WACPU_SIZE : \
390 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WACPU_SIZE : \
391 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WACPU_SIZE : \
392 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WACPU_SIZE : \
393 MCUXCLRSA_KEYGENERATION_CRT_1024_WACPU_SIZE)))))
394
395#else
396#define MCUXCLRSA_KEYGENERATION_CRT_WACPU_SIZE(keyBitLength) \
397 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WACPU_SIZE : \
398 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WACPU_SIZE : \
399 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WACPU_SIZE : \
400 MCUXCLRSA_KEYGENERATION_CRT_1024_WACPU_SIZE)))
401#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
402
403#define MCUXCLRSA_KEYGENERATION_CRT_1024_WAPKC_SIZE (1048u)
404#define MCUXCLRSA_KEYGENERATION_CRT_2048_WAPKC_SIZE (1896u)
405#define MCUXCLRSA_KEYGENERATION_CRT_3072_WAPKC_SIZE (2792u)
406#define MCUXCLRSA_KEYGENERATION_CRT_4096_WAPKC_SIZE (3688u)
407#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
408#define MCUXCLRSA_KEYGENERATION_CRT_6144_WAPKC_SIZE ($(mcuxClRsa_KeyGeneration_Crt_6144_WaPKC)u)
409#define MCUXCLRSA_KEYGENERATION_CRT_8192_WAPKC_SIZE ($(mcuxClRsa_KeyGeneration_Crt_8192_WaPKC)u)
410
411#define MCUXCLRSA_KEYGENERATION_CRT_WAPKC_SIZE(keyBitLength) \
412 ((6144U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_8192_WAPKC_SIZE : \
413 ((4096U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_6144_WAPKC_SIZE : \
414 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WAPKC_SIZE : \
415 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WAPKC_SIZE : \
416 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WAPKC_SIZE : \
417 MCUXCLRSA_KEYGENERATION_CRT_1024_WAPKC_SIZE)))))
418#else
419#define MCUXCLRSA_KEYGENERATION_CRT_WAPKC_SIZE(keyBitLength) \
420 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WAPKC_SIZE : \
421 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WAPKC_SIZE : \
422 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WAPKC_SIZE : \
423 MCUXCLRSA_KEYGENERATION_CRT_1024_WAPKC_SIZE)))
424#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
425
427
434#define MCUXCLRSA_KEYGENERATION_PLAIN_1024_WACPU_SIZE (592u)
435#define MCUXCLRSA_KEYGENERATION_PLAIN_2048_WACPU_SIZE (720u)
436#define MCUXCLRSA_KEYGENERATION_PLAIN_3072_WACPU_SIZE (848u)
437#define MCUXCLRSA_KEYGENERATION_PLAIN_4096_WACPU_SIZE (976u)
438#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
439#define MCUXCLRSA_KEYGENERATION_PLAIN_6144_WACPU_SIZE ($(mcuxClRsa_KeyGeneration_Plain_6144_WaCPU)u)
440#define MCUXCLRSA_KEYGENERATION_PLAIN_8192_WACPU_SIZE ($(mcuxClRsa_KeyGeneration_Plain_8192_WaCPU)u)
441
442#define MCUXCLRSA_KEYGENERATION_PLAIN_WACPU_SIZE(keyBitLength) \
443 ((6144U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_8192_WACPU_SIZE : \
444 ((4096U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_6144_WACPU_SIZE : \
445 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WACPU_SIZE : \
446 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WACPU_SIZE : \
447 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WACPU_SIZE : \
448 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WACPU_SIZE)))))
449#else
450#define MCUXCLRSA_KEYGENERATION_PLAIN_WACPU_SIZE(keyBitLength) \
451 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WACPU_SIZE : \
452 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WACPU_SIZE : \
453 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WACPU_SIZE : \
454 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WACPU_SIZE)))
455#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
456
457#define MCUXCLRSA_KEYGENERATION_PLAIN_1024_WAPKC_SIZE (1200u)
458#define MCUXCLRSA_KEYGENERATION_PLAIN_2048_WAPKC_SIZE (2224u)
459#define MCUXCLRSA_KEYGENERATION_PLAIN_3072_WAPKC_SIZE (3248u)
460#define MCUXCLRSA_KEYGENERATION_PLAIN_4096_WAPKC_SIZE (4272u)
461#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
462#define MCUXCLRSA_KEYGENERATION_PLAIN_6144_WAPKC_SIZE ($(mcuxClRsa_KeyGeneration_Plain_6144_WaPKC)u)
463#define MCUXCLRSA_KEYGENERATION_PLAIN_8192_WAPKC_SIZE ($(mcuxClRsa_KeyGeneration_Plain_8192_WaPKC)u)
464
465#define MCUXCLRSA_KEYGENERATION_PLAIN_WAPKC_SIZE(keyBitLength) \
466 ((6144U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_8192_WAPKC_SIZE : \
467 ((4096U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_6144_WAPKC_SIZE : \
468 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WAPKC_SIZE : \
469 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WAPKC_SIZE : \
470 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WAPKC_SIZE : \
471 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WAPKC_SIZE)))))
472#else
473#define MCUXCLRSA_KEYGENERATION_PLAIN_WAPKC_SIZE(keyBitLength) \
474 ((3072U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WAPKC_SIZE : \
475 ((2048U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WAPKC_SIZE : \
476 ((1024U < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WAPKC_SIZE : \
477 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WAPKC_SIZE)))
478#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
479
481
488#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_1024_SIZE (272u)
489#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_2048_SIZE (528u)
490#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_3072_SIZE (784u)
491#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_4096_SIZE (1040u)
492#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
493#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_6144_SIZE ($(mcuxClRsa_KeyGeneration_Plain_Key_Data_6144)u)
494#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_8192_SIZE ($(mcuxClRsa_KeyGeneration_Plain_Key_Data_8192)u)
495#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
496
497#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_1024_SIZE (368u)
498#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_2048_SIZE (688u)
499#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_3072_SIZE (1008u)
500#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_4096_SIZE (1328u)
501#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
502#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_6144_SIZE ($(mcuxClRsa_KeyGeneration_Crt_Key_Data_6144)u)
503#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_8192_SIZE ($(mcuxClRsa_KeyGeneration_Crt_Key_Data_8192)u)
504#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
505
506#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_1024_SIZE (496u)
507#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_2048_SIZE (944u)
508#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_3072_SIZE (1392u)
509#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_4096_SIZE (1840u)
510#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
511#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_6144_SIZE ($(mcuxClRsa_KeyGeneration_CrtDfa_Key_Data_6144)u)
512#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_8192_SIZE ($(mcuxClRsa_KeyGeneration_CrtDfa_Key_Data_8192)u)
513#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
514
515#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_SIZE(keyByteLen, expByteLen) \
516 (16u + (keyByteLen) + (expByteLen))
517#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_1024_SIZE (272u)
518#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_2048_SIZE (528u)
519#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_3072_SIZE (784u)
520#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_4096_SIZE (1040u)
521#ifdef MCUXCL_FEATURE_RSA_8K_KEYS
522#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_6144_SIZE ($(mcuxClRsa_KeyGeneration_Public_Key_Data_6144)u)
523#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_8192_SIZE ($(mcuxClRsa_KeyGeneration_Public_Key_Data_8192)u)
524#endif /* MCUXCL_FEATURE_RSA_8K_KEYS */
525
527
528
529#endif /* MCUXCLRSA_MEMORYCONSUMPTION_H_ */