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 NXP */
3/* */
4/* NXP Confidential and Proprietary. This software is owned or controlled */
5/* by NXP and may only be used strictly in accordance with the applicable */
6/* license terms. By expressly accepting such terms or by downloading, */
7/* installing, activating and/or otherwise using the software, you are */
8/* agreeing that you have read, and that you agree to comply with and are */
9/* bound by, such license terms. If you do not agree to be bound by the */
10/* applicable license terms, then you may not retain, install, activate or */
11/* otherwise use the software. */
12/*--------------------------------------------------------------------------*/
13
18
19#ifndef MCUXCLRSA_MEMORYCONSUMPTION_H_
20#define MCUXCLRSA_MEMORYCONSUMPTION_H_
21
22#define MCUXCLRSA_SIGNATURE_PROTOCOLDESCRIPTOR_SIZE (52u)
23
30#define MCUXCLRSA_KEYGEN_MODE_SIZE (20u)
32
33/****************************************************************************/
34/* Definitions of workarea sizes for the mcuxClRsa Sign */
35/****************************************************************************/
36
43
44
45#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_1024_WACPU_SIZE (152u)
46#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_2048_WACPU_SIZE (152u)
47#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_3072_WACPU_SIZE (152u)
48#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_4096_WACPU_SIZE (152u)
49#define MCUXCLRSA_SIGN_PLAIN_PSSENCODE_WACPU_SIZE(keyBitLength) \
50 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_4096_WACPU_SIZE : \
51 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_3072_WACPU_SIZE : \
52 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PSSENCODE_2048_WACPU_SIZE : \
53 MCUXCLRSA_SIGN_PLAIN_PSSENCODE_1024_WACPU_SIZE)))
54
55#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_1024_WACPU_SIZE (152u)
56#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_2048_WACPU_SIZE (152u)
57#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_3072_WACPU_SIZE (152u)
58#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_4096_WACPU_SIZE (152u)
59#define MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
60 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_4096_WACPU_SIZE : \
61 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_3072_WACPU_SIZE : \
62 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_2048_WACPU_SIZE : \
63 MCUXCLRSA_SIGN_PLAIN_PKCS1V15ENCODE_1024_WACPU_SIZE)))
64
65#define MCUXCLRSA_SIGN_PLAIN_1024_WAPKC_SIZE (1344u)
66#define MCUXCLRSA_SIGN_PLAIN_2048_WAPKC_SIZE (2496u)
67#define MCUXCLRSA_SIGN_PLAIN_3072_WAPKC_SIZE (3648u)
68#define MCUXCLRSA_SIGN_PLAIN_4096_WAPKC_SIZE (4800u)
69#define MCUXCLRSA_SIGN_PLAIN_WAPKC_SIZE(keyBitLength) \
70 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_4096_WAPKC_SIZE : \
71 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_3072_WAPKC_SIZE : \
72 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_PLAIN_2048_WAPKC_SIZE : \
73 MCUXCLRSA_SIGN_PLAIN_1024_WAPKC_SIZE)))
74
75
76#define MCUXCLRSA_SIGN_CRT_PSSENCODE_1024_WACPU_SIZE (152u)
77#define MCUXCLRSA_SIGN_CRT_PSSENCODE_2048_WACPU_SIZE (152u)
78#define MCUXCLRSA_SIGN_CRT_PSSENCODE_3072_WACPU_SIZE (152u)
79#define MCUXCLRSA_SIGN_CRT_PSSENCODE_4096_WACPU_SIZE (152u)
80#define MCUXCLRSA_SIGN_CRT_PSSENCODE_WACPU_SIZE(keyBitLength) \
81 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_4096_WACPU_SIZE : \
82 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_3072_WACPU_SIZE : \
83 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PSSENCODE_2048_WACPU_SIZE : \
84 MCUXCLRSA_SIGN_CRT_PSSENCODE_1024_WACPU_SIZE)))
85
86#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_1024_WACPU_SIZE (152u)
87#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_2048_WACPU_SIZE (152u)
88#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_3072_WACPU_SIZE (152u)
89#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_4096_WACPU_SIZE (152u)
90#define MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_WACPU_SIZE(keyBitLength) \
91 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_4096_WACPU_SIZE : \
92 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_3072_WACPU_SIZE : \
93 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_2048_WACPU_SIZE : \
94 MCUXCLRSA_SIGN_CRT_PKCS1V15ENCODE_1024_WACPU_SIZE)))
95
96#define MCUXCLRSA_SIGN_CRT_1024_WAPKC_SIZE (1128u)
97#define MCUXCLRSA_SIGN_CRT_2048_WAPKC_SIZE (2152u)
98#define MCUXCLRSA_SIGN_CRT_3072_WAPKC_SIZE (3176u)
99#define MCUXCLRSA_SIGN_CRT_4096_WAPKC_SIZE (4200u)
100#define MCUXCLRSA_SIGN_CRT_WAPKC_SIZE(keyBitLength) \
101 ((3072u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_4096_WAPKC_SIZE : \
102 ((2048u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_3072_WAPKC_SIZE : \
103 ((1024u < (keyBitLength)) ? MCUXCLRSA_SIGN_CRT_2048_WAPKC_SIZE : \
104 MCUXCLRSA_SIGN_CRT_1024_WAPKC_SIZE)))
105
107
108/****************************************************************************/
109/* Definitions of workarea sizes for the mcuxClRsa Verify */
110/****************************************************************************/
117
118
119#define MCUXCLRSA_VERIFY_PSSVERIFY_WACPU_SIZE (152u)
120#define MCUXCLRSA_VERIFY_PKCS1V15VERIFY_WACPU_SIZE (152u)
121
122#define MCUXCLRSA_VERIFY_1024_WAPKC_SIZE (728u)
123#define MCUXCLRSA_VERIFY_2048_WAPKC_SIZE (1368u)
124#define MCUXCLRSA_VERIFY_3072_WAPKC_SIZE (2008u)
125#define MCUXCLRSA_VERIFY_4096_WAPKC_SIZE (2648u)
126#define MCUXCLRSA_VERIFY_WAPKC_SIZE(keyBitLength) \
127 ((3072u < (keyBitLength)) ? MCUXCLRSA_VERIFY_4096_WAPKC_SIZE : \
128 ((2048u < (keyBitLength)) ? MCUXCLRSA_VERIFY_3072_WAPKC_SIZE : \
129 ((1024u < (keyBitLength)) ? MCUXCLRSA_VERIFY_2048_WAPKC_SIZE : \
130 MCUXCLRSA_VERIFY_1024_WAPKC_SIZE)))
131
132
133
135
136
137/****************************************************************************/
138/* Definitions of workarea sizes for the mcuxClRsa Key Generation */
139/****************************************************************************/
140
147#define MCUXCLRSA_KEYGENERATION_CRT_1024_WACPU_SIZE (544u)
148#define MCUXCLRSA_KEYGENERATION_CRT_2048_WACPU_SIZE (672u)
149#define MCUXCLRSA_KEYGENERATION_CRT_3072_WACPU_SIZE (800u)
150#define MCUXCLRSA_KEYGENERATION_CRT_4096_WACPU_SIZE (928u)
151#define MCUXCLRSA_KEYGENERATION_CRT_WACPU_SIZE(keyBitLength) \
152 ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WACPU_SIZE : \
153 ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WACPU_SIZE : \
154 ((1024u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WACPU_SIZE : \
155 MCUXCLRSA_KEYGENERATION_CRT_1024_WACPU_SIZE)))
156
157#define MCUXCLRSA_KEYGENERATION_CRT_1024_WAPKC_SIZE (1048u)
158#define MCUXCLRSA_KEYGENERATION_CRT_2048_WAPKC_SIZE (1896u)
159#define MCUXCLRSA_KEYGENERATION_CRT_3072_WAPKC_SIZE (2792u)
160#define MCUXCLRSA_KEYGENERATION_CRT_4096_WAPKC_SIZE (3688u)
161#define MCUXCLRSA_KEYGENERATION_CRT_WAPKC_SIZE(keyBitLength) \
162 ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_4096_WAPKC_SIZE : \
163 ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_3072_WAPKC_SIZE : \
164 ((1024u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_CRT_2048_WAPKC_SIZE : \
165 MCUXCLRSA_KEYGENERATION_CRT_1024_WAPKC_SIZE)))
166
168
175#define MCUXCLRSA_KEYGENERATION_PLAIN_1024_WACPU_SIZE (512u)
176#define MCUXCLRSA_KEYGENERATION_PLAIN_2048_WACPU_SIZE (640u)
177#define MCUXCLRSA_KEYGENERATION_PLAIN_3072_WACPU_SIZE (768u)
178#define MCUXCLRSA_KEYGENERATION_PLAIN_4096_WACPU_SIZE (896u)
179#define MCUXCLRSA_KEYGENERATION_PLAIN_WACPU_SIZE(keyBitLength) \
180 ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WACPU_SIZE : \
181 ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WACPU_SIZE : \
182 ((1024u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WACPU_SIZE : \
183 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WACPU_SIZE)))
184
185#define MCUXCLRSA_KEYGENERATION_PLAIN_1024_WAPKC_SIZE (1200u)
186#define MCUXCLRSA_KEYGENERATION_PLAIN_2048_WAPKC_SIZE (2224u)
187#define MCUXCLRSA_KEYGENERATION_PLAIN_3072_WAPKC_SIZE (3248u)
188#define MCUXCLRSA_KEYGENERATION_PLAIN_4096_WAPKC_SIZE (4272u)
189#define MCUXCLRSA_KEYGENERATION_PLAIN_WAPKC_SIZE(keyBitLength) \
190 ((3072u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_4096_WAPKC_SIZE : \
191 ((2048u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_3072_WAPKC_SIZE : \
192 ((1024u < (keyBitLength)) ? MCUXCLRSA_KEYGENERATION_PLAIN_2048_WAPKC_SIZE : \
193 MCUXCLRSA_KEYGENERATION_PLAIN_1024_WAPKC_SIZE)))
194
196
203#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_1024_SIZE (272u)
204#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_2048_SIZE (528u)
205#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_3072_SIZE (784u)
206#define MCUXCLRSA_KEYGENERATION_PLAIN_KEY_DATA_4096_SIZE (1040u)
207
208#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_1024_SIZE (368u)
209#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_2048_SIZE (688u)
210#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_3072_SIZE (1008u)
211#define MCUXCLRSA_KEYGENERATION_CRT_KEY_DATA_4096_SIZE (1328u)
212
213#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_1024_SIZE (496u)
214#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_2048_SIZE (944u)
215#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_3072_SIZE (1392u)
216#define MCUXCLRSA_KEYGENERATION_CRTDFA_KEY_DATA_4096_SIZE (1840u)
217
218#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_SIZE(keyByteLen, expByteLen) \
219 (16u + (keyByteLen) + (expByteLen))
220#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_1024_SIZE (272u)
221#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_2048_SIZE (528u)
222#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_3072_SIZE (784u)
223#define MCUXCLRSA_KEYGENERATION_PUBLIC_KEY_DATA_4096_SIZE (1040u)
224
226
227
228#endif /* MCUXCLRSA_MEMORYCONSUMPTION_H_ */