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)
124
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)))
152
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)
157
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)
168
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))))
185
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)
212
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)))
229
232 /****************************************************************************/
233 /* Definitions of workarea sizes for the mcuxClRsa_verify function. */
234 /****************************************************************************/
241 #define MCUXCLRSA_VERIFY_OPTIONNOVERIFY_WACPU_SIZE (16u)
242
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)
247
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)
260
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))))
277
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))))
288
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
315
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))
333
334
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))
363
364
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)
392
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)
396
397
400 #endif /* MCUXCL_FEATURE_RSA_KEYGENERATION */
401
402 #endif /* MCUXCLRSA_MEMORYCONSUMPTION_H_ */