MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClRsa_MemoryConsumption.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2021 NXP */
3 /* */
4 /* NXP Confidential. This software is owned or controlled by NXP and may */
5 /* only be used strictly in accordance with the applicable license terms. */
6 /* By expressly accepting such terms or by downloading, installing, */
7 /* activating and/or otherwise using the software, you are agreeing that */
8 /* you have read, and that you agree to comply with and are bound by, such */
9 /* license terms. If you do not agree to be bound by the applicable license */
10 /* terms, then you may not retain, install, activate or otherwise use the */
11 /* software. */
12 /*--------------------------------------------------------------------------*/
13 
19 #ifndef MCUXCLRSA_MEMORYCONSUMPTION_H_
20 #define MCUXCLRSA_MEMORYCONSUMPTION_H_
21 
22 /****************************************************************************/
23 /* Definitions of workarea sizes for the mcuxClRsa_sign function. */
24 /****************************************************************************/
25 
32 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_1024_WACPU_SIZE (148u)
33 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_2048_WACPU_SIZE (276u)
34 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_3072_WACPU_SIZE (404u)
35 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_4096_WACPU_SIZE (532u)
36 
37 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_WACPU_SIZE(keyBitLength) \
38  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_4096_WACPU_SIZE : \
39  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_3072_WACPU_SIZE : \
40  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_2048_WACPU_SIZE : \
41  MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_1024_WACPU_SIZE)))
42 
43 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_1024_WAPKC_SIZE (976u)
44 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_2048_WAPKC_SIZE (1872u)
45 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_3072_WAPKC_SIZE (2768u)
46 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_4096_WAPKC_SIZE (3664u)
47 
48 #define MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_WAPKC_SIZE(keyBitLength) \
49  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_4096_WAPKC_SIZE : \
50  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_3072_WAPKC_SIZE : \
51  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_2048_WAPKC_SIZE : \
52  MCUXCLRSA_SIGN_PLAIN_OPTIONNOENCODE_1024_WAPKC_SIZE)))
53 
54 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_1024_WACPU_SIZE (196u)
55 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_2048_WACPU_SIZE (276u)
56 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_3072_WACPU_SIZE (404u)
57 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_4096_WACPU_SIZE (532u)
58 
59 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_WACPU_SIZE(keyBitLength) \
60  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_4096_WACPU_SIZE : \
61  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_3072_WACPU_SIZE : \
62  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_2048_WACPU_SIZE : \
63  MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_1024_WACPU_SIZE)))
64 
65 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_1024_WAPKC_SIZE(saltLen) (976u) + (saltLen)
66 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_2048_WAPKC_SIZE(saltLen) (1872u) + (saltLen)
67 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_3072_WAPKC_SIZE(saltLen) (2768u) + (saltLen)
68 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_4096_WAPKC_SIZE(saltLen) (3664u) + (saltLen)
69 
70 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_WAPKC_SIZE(keyBitLength, saltLen) \
71  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_4096_WAPKC_SIZE(saltLen) : \
72  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_3072_WAPKC_SIZE(saltLen) : \
73  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_2048_WAPKC_SIZE(saltLen) : \
74  MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA224_1024_WAPKC_SIZE(saltLen))))
75 
76 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_1024_WAPKC_SIZE(saltLen) (976u) + (saltLen)
77 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_2048_WAPKC_SIZE(saltLen) (1872u) + (saltLen)
78 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_3072_WAPKC_SIZE(saltLen) (2768u) + (saltLen)
79 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_4096_WAPKC_SIZE(saltLen) (3664u) + (saltLen)
80 
81 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_WAPKC_SIZE(keyBitLength, saltLen) \
82  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_4096_WAPKC_SIZE(saltLen) : \
83  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_3072_WAPKC_SIZE(saltLen) : \
84  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_2048_WAPKC_SIZE(saltLen) : \
85  MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA256_1024_WAPKC_SIZE(saltLen))))
86 
87 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_1024_WAPKC_SIZE(saltLen) (976u) + (saltLen)
88 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_2048_WAPKC_SIZE(saltLen) (1872u) + (saltLen)
89 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_3072_WAPKC_SIZE(saltLen) (2768u) + (saltLen)
90 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_4096_WAPKC_SIZE(saltLen) (3664u) + (saltLen)
91 
92 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_WAPKC_SIZE(keyBitLength, saltLen) \
93  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_4096_WAPKC_SIZE(saltLen) : \
94  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_3072_WAPKC_SIZE(saltLen) : \
95  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_2048_WAPKC_SIZE(saltLen) : \
96  MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA384_1024_WAPKC_SIZE(saltLen))))
97 
98 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_1024_WAPKC_SIZE(saltLen) (976u) + (saltLen)
99 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_2048_WAPKC_SIZE(saltLen) (1872u) + (saltLen)
100 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_3072_WAPKC_SIZE(saltLen) (2768u) + (saltLen)
101 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_4096_WAPKC_SIZE(saltLen) (3664u) + (saltLen)
102 
103 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_WAPKC_SIZE(keyBitLength, saltLen) \
104  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_4096_WAPKC_SIZE(saltLen) : \
105  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_3072_WAPKC_SIZE(saltLen) : \
106  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_2048_WAPKC_SIZE(saltLen) : \
107  MCUXCLRSA_SIGN_PLAIN_OPTIONPSSENCODE_SHA512_1024_WAPKC_SIZE(saltLen))))
108 
109 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_1024_WACPU_SIZE (196u)
110 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_2048_WACPU_SIZE (276u)
111 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_3072_WACPU_SIZE (404u)
112 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_4096_WACPU_SIZE (532u)
113 
114 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
115  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_4096_WACPU_SIZE : \
116  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_3072_WACPU_SIZE : \
117  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_2048_WACPU_SIZE : \
118  MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_1024_WACPU_SIZE)))
119 
120 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_1024_WAPKC_SIZE (976u)
121 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_2048_WAPKC_SIZE (1872u)
122 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_3072_WAPKC_SIZE (2768u)
123 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_4096_WAPKC_SIZE (3664u)
125 #define MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_WAPKC_SIZE(keyBitLength) \
126  ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_4096_WAPKC_SIZE : \
127  ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_3072_WAPKC_SIZE : \
128  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_2048_WAPKC_SIZE : \
129  MCUXCLRSA_SIGN_PLAIN_OPTIONPKCS1V15ENCODE_1024_WAPKC_SIZE)))
130 
131 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_512_WACPU_SIZE (104u)
132 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1024_WACPU_SIZE (168u)
133 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1536_WACPU_SIZE (232u)
134 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_2048_WACPU_SIZE (296u)
135 
136 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_WACPU_SIZE(keyBitLength) \
137  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_2048_WACPU_SIZE : \
138  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1536_WACPU_SIZE : \
139  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1024_WACPU_SIZE : \
140  MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_512_WACPU_SIZE)))
141 
142 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_512_WAPKC_SIZE (968u)
143 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1024_WAPKC_SIZE (1864u)
144 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1536_WAPKC_SIZE (2760u)
145 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_2048_WAPKC_SIZE (3656u)
146 
147 #define MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_WAPKC_SIZE(keyBitLength) \
148  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_2048_WAPKC_SIZE : \
149  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1536_WAPKC_SIZE : \
150  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_1024_WAPKC_SIZE : \
151  MCUXCLRSA_SIGN_CRT_OPTIONNOENCODE_512_WAPKC_SIZE)))
153 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_512_WACPU_SIZE (196u)
154 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_1024_WACPU_SIZE (196u)
155 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_1536_WACPU_SIZE (232u)
156 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_2048_WACPU_SIZE (296u)
158 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_WACPU_SIZE(keyBitLength) \
159  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_2048_WACPU_SIZE : \
160  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_1536_WACPU_SIZE : \
161  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_1024_WACPU_SIZE : \
162  MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_512_WACPU_SIZE)))
163 
164 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_512_WAPKC_SIZE(saltLen) (968u) + (saltLen)
165 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_1024_WAPKC_SIZE(saltLen) (1864u) + (saltLen)
166 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_1536_WAPKC_SIZE(saltLen) (2760u) + (saltLen)
167 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_2048_WAPKC_SIZE(saltLen) (3656u) + (saltLen)
169 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_WAPKC_SIZE(keyBitLength, saltLen) \
170  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_2048_WAPKC_SIZE(saltLen) : \
171  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_1536_WAPKC_SIZE(saltLen) : \
172  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_1024_WAPKC_SIZE(saltLen) : \
173  MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA224_512_WAPKC_SIZE(saltLen))))
174 
175 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_512_WAPKC_SIZE(saltLen) (968u) + (saltLen)
176 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_1024_WAPKC_SIZE(saltLen) (1864u) + (saltLen)
177 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_1536_WAPKC_SIZE(saltLen) (2760u) + (saltLen)
178 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_2048_WAPKC_SIZE(saltLen) (3656u) + (saltLen)
179 
180 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_WAPKC_SIZE(keyBitLength, saltLen) \
181  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_2048_WAPKC_SIZE(saltLen) : \
182  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_1536_WAPKC_SIZE(saltLen) : \
183  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_1024_WAPKC_SIZE(saltLen) : \
184  MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA256_512_WAPKC_SIZE(saltLen))))
186 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_512_WAPKC_SIZE(saltLen) (968u) + (saltLen)
187 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_1024_WAPKC_SIZE(saltLen) (1864u) + (saltLen)
188 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_1536_WAPKC_SIZE(saltLen) (2760u) + (saltLen)
189 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_2048_WAPKC_SIZE(saltLen) (3656u) + (saltLen)
190 
191 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_WAPKC_SIZE(keyBitLength, saltLen) \
192  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_2048_WAPKC_SIZE(saltLen) : \
193  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_1536_WAPKC_SIZE(saltLen) : \
194  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_1024_WAPKC_SIZE(saltLen) : \
195  MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA384_512_WAPKC_SIZE(saltLen))))
196 
197 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_512_WAPKC_SIZE(saltLen) (968u) + (saltLen)
198 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_1024_WAPKC_SIZE(saltLen) (1864u) + (saltLen)
199 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_1536_WAPKC_SIZE(saltLen) (2760u) + (saltLen)
200 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_2048_WAPKC_SIZE(saltLen) (3656u) + (saltLen)
201 
202 #define MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_WAPKC_SIZE(keyBitLength, saltLen) \
203  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_2048_WAPKC_SIZE(saltLen) : \
204  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_1536_WAPKC_SIZE(saltLen) : \
205  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_1024_WAPKC_SIZE(saltLen) : \
206  MCUXCLRSA_SIGN_CRT_OPTIONPSSENCODE_SHA512_512_WAPKC_SIZE(saltLen))))
207 
208 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_512_WACPU_SIZE (196u)
209 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1024_WACPU_SIZE (196u)
210 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1536_WACPU_SIZE (232u)
211 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_2048_WACPU_SIZE (296u)
213 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
214  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_2048_WACPU_SIZE : \
215  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1536_WACPU_SIZE : \
216  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1024_WACPU_SIZE : \
217  MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_512_WACPU_SIZE)))
218 
219 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_512_WAPKC_SIZE (968u)
220 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1024_WAPKC_SIZE (1864u)
221 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1536_WAPKC_SIZE (2760u)
222 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_2048_WAPKC_SIZE (3656u)
223 
224 #define MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_WAPKC_SIZE(keyBitLength) \
225  ((1536u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_2048_WAPKC_SIZE : \
226  ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1536_WAPKC_SIZE : \
227  ((512u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_1024_WAPKC_SIZE : \
228  MCUXCLRSA_SIGN_CRT_OPTIONPKCS1V15ENCODE_512_WAPKC_SIZE)))
232 /****************************************************************************/
233 /* Definitions of workarea sizes for the mcuxClRsa_verify function. */
234 /****************************************************************************/
241 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_WACPU_SIZE (16u)
243 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_1024_WAPKC_SIZE (800u)
244 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_2048_WAPKC_SIZE (1568u)
245 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_3072_WAPKC_SIZE (2336u)
246 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_4096_WAPKC_SIZE (3104u)
248 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_WAPKC_SIZE(keyBitLength) \
249  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONNOVERIFY_4096_WAPKC_SIZE : \
250  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONNOVERIFY_3072_WAPKC_SIZE : \
251  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONNOVERIFY_2048_WAPKC_SIZE : \
252  MCUXCLRSA_VERIFY_OPTIONNOVERIFY_1024_WAPKC_SIZE)))
253 
254 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_WACPU_SIZE (196u)
255 
256 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_1024_WAPKC_SIZE(saltLen) (800u) + (saltLen)
257 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_2048_WAPKC_SIZE(saltLen) (1568u) + (saltLen)
258 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_3072_WAPKC_SIZE(saltLen) (2336u) + (saltLen)
259 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_4096_WAPKC_SIZE(saltLen) (3104u) + (saltLen)
261 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_WAPKC_SIZE(keyBitLength, saltLen) \
262  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_4096_WAPKC_SIZE(saltLen) : \
263  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_3072_WAPKC_SIZE(saltLen) : \
264  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_2048_WAPKC_SIZE(saltLen) : \
265  MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA224_1024_WAPKC_SIZE(saltLen))))
266 
267 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_1024_WAPKC_SIZE(saltLen) (800u) + (saltLen)
268 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_2048_WAPKC_SIZE(saltLen) (1568u) + (saltLen)
269 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_3072_WAPKC_SIZE(saltLen) (2336u) + (saltLen)
270 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_4096_WAPKC_SIZE(saltLen) (3104u) + (saltLen)
271 
272 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_WAPKC_SIZE(keyBitLength, saltLen) \
273  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_4096_WAPKC_SIZE(saltLen) : \
274  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_3072_WAPKC_SIZE(saltLen) : \
275  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_2048_WAPKC_SIZE(saltLen) : \
276  MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA256_1024_WAPKC_SIZE(saltLen))))
278 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_1024_WAPKC_SIZE(saltLen) (800u) + (saltLen)
279 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_2048_WAPKC_SIZE(saltLen) (1568u) + (saltLen)
280 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_3072_WAPKC_SIZE(saltLen) (2336u) + (saltLen)
281 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_4096_WAPKC_SIZE(saltLen) (3104u) + (saltLen)
282 
283 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_WAPKC_SIZE(keyBitLength, saltLen) \
284  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_4096_WAPKC_SIZE(saltLen) : \
285  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_3072_WAPKC_SIZE(saltLen) : \
286  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_2048_WAPKC_SIZE(saltLen) : \
287  MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA384_1024_WAPKC_SIZE(saltLen))))
289 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_1024_WAPKC_SIZE(saltLen) (800u) + (saltLen)
290 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_2048_WAPKC_SIZE(saltLen) (1568u) + (saltLen)
291 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_3072_WAPKC_SIZE(saltLen) (2336u) + (saltLen)
292 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_4096_WAPKC_SIZE(saltLen) (3104u) + (saltLen)
293 
294 #define MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_WAPKC_SIZE(keyBitLength, saltLen) \
295  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_4096_WAPKC_SIZE(saltLen) : \
296  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_3072_WAPKC_SIZE(saltLen) : \
297  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_2048_WAPKC_SIZE(saltLen) : \
298  MCUXCLRSA_VERIFY_OPTIONPSSVERIFY_SHA512_1024_WAPKC_SIZE(saltLen))))
299 
300 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_WACPU_SIZE (196u)
301 
302 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_1024_WAPKC_SIZE (800u)
303 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_2048_WAPKC_SIZE (1568u)
304 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_3072_WAPKC_SIZE (2336u)
305 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_4096_WAPKC_SIZE (3104u)
306 
307 #define MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_WAPKC_SIZE(keyBitLength) \
308  ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_4096_WAPKC_SIZE : \
309  ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_3072_WAPKC_SIZE : \
310  ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_2048_WAPKC_SIZE : \
311  MCUXCLRSA_VERIFY_OPTIONPKCS1V15VERIFY_1024_WAPKC_SIZE)))
312 
314 #ifdef MCUXCL_FEATURE_RSA_KEYGENERATION
316 /**********************************************************************************/
317 /* Definitions of workarea sizes for the mcuxClRsa_KeyGeneration_Crt function. */
318 /**********************************************************************************/
325 #define MCUXCLRSA_KEYGENERATON_CRT_2048_WACPU_SIZE (0u)
326 #define MCUXCLRSA_KEYGENERATON_CRT_3072_WACPU_SIZE (0u)
327 #define MCUXCLRSA_KEYGENERATON_CRT_4096_WACPU_SIZE (0u)
328 
329 #define MCUXCLRSA_KEYGENERATON_CRT_WACPU_SIZE(keyBitLength) \
330  ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_CRT_4096_WACPU_SIZE : \
331  ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_CRT_3072_WACPU_SIZE : \
332  MCUXCLRSA_KEYGENERATON_CRT_2048_WACPU_SIZE))
335 #define MCUXCLRSA_KEYGENERATON_CRT_2048_WAPKC_SIZE (0u)
336 #define MCUXCLRSA_KEYGENERATON_CRT_3072_WAPKC_SIZE (0u)
337 #define MCUXCLRSA_KEYGENERATON_CRT_4096_WAPKC_SIZE (0u)
338 
339 #define MCUXCLRSA_KEYGENERATON_CRT_WAPKC_SIZE(keyBitLength) \
340  ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_CRT_4096_WAPKC_SIZE : \
341  ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_CRT_3072_WAPKC_SIZE : \
342  MCUXCLRSA_KEYGENERATON_CRT_2048_WAPKC_SIZE))
343 
344 
346 /********************************************************************************/
347 /* Definitions of workarea sizes for the mcuxClRsa_KeyGeneration_Plain function. */
348 /********************************************************************************/
355 #define MCUXCLRSA_KEYGENERATON_PLAIN_2048_WACPU_SIZE (0u)
356 #define MCUXCLRSA_KEYGENERATON_PLAIN_3072_WACPU_SIZE (0u)
357 #define MCUXCLRSA_KEYGENERATON_PLAIN_4096_WACPU_SIZE (0u)
358 
359 #define MCUXCLRSA_KEYGENERATON_PLAIN_WACPU_SIZE(keyBitLength) \
360  ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_PLAIN_4096_WACPU_SIZE : \
361  ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_PLAIN_3072_WACPU_SIZE : \
362  MCUXCLRSA_KEYGENERATON_PLAIN_2048_WACPU_SIZE))
365 #define MCUXCLRSA_KEYGENERATON_PLAIN_2048_WAPKC_SIZE (0u)
366 #define MCUXCLRSA_KEYGENERATON_PLAIN_3072_WAPKC_SIZE (0u)
367 #define MCUXCLRSA_KEYGENERATON_PLAIN_4096_WAPKC_SIZE (0u)
368 
369 #define MCUXCLRSA_KEYGENERATON_PLAIN_WAPKC_SIZE(keyBitLength) \
370  ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_PLAIN_4096_WAPKC_SIZE : \
371  ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATON_PLAIN_3072_WAPKC_SIZE : \
372  MCUXCLRSA_KEYGENERATON_PLAIN_2048_WAPKC_SIZE))
373 
374 
376 /*************************************************************************************************************************/
377 /* Definitions of generated key data size for the mcuxClRsa_KeyGeneration_Crt and mcuxClRsa_KeyGeneration_Plain functions. */
378 /*************************************************************************************************************************/
385 #define MCUXCLRSA_KEYGENERATON_PLAIN_KEY_DATA_2048_SIZE ($(mcuxClRsa_KeyGeneration_Plain_2048)u)
386 #define MCUXCLRSA_KEYGENERATON_PLAIN_KEY_DATA_3072_SIZE ($(mcuxClRsa_KeyGeneration_Plain_3072)u)
387 #define MCUXCLRSA_KEYGENERATON_PLAIN_KEY_DATA_4096_SIZE ($(mcuxClRsa_KeyGeneration_Plain_4096)u)
388 
389 #define MCUXCLRSA_KEYGENERATON_PRIVATECRT_KEY_DATA_2048_SIZE ($(mcuxClRsa_KeyGeneration_PrivateCRT_2048)u)
390 #define MCUXCLRSA_KEYGENERATON_PRIVATECRT_KEY_DATA_3072_SIZE ($(mcuxClRsa_KeyGeneration_PrivateCRT_3072)u)
391 #define MCUXCLRSA_KEYGENERATON_PRIVATECRT_KEY_DATA_4096_SIZE ($(mcuxClRsa_KeyGeneration_PrivateCRT_4096)u)
393 #define MCUXCLRSA_KEYGENERATON_PUBLIC_KEY_DATA_2048_SIZE ($(mcuxClRsa_KeyGeneration_Public_2048)u)
394 #define MCUXCLRSA_KEYGENERATON_PUBLIC_KEY_DATA_3072_SIZE ($(mcuxClRsa_KeyGeneration_Public_3072)u)
395 #define MCUXCLRSA_KEYGENERATON_PUBLIC_KEY_DATA_4096_SIZE ($(mcuxClRsa_KeyGeneration_Public_4096)u)
400 #endif /* MCUXCL_FEATURE_RSA_KEYGENERATION */
401 
402 #endif /* MCUXCLRSA_MEMORYCONSUMPTION_H_ */