MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClEcc_MemoryConsumption.h
Go to the documentation of this file.
1
/*--------------------------------------------------------------------------*/
2
/* Copyright 2021-2023 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 MCUXCLECC_MEMORYCONSUMPTION_H_
20
#define MCUXCLECC_MEMORYCONSUMPTION_H_
21
22
35
#define MCUXCLECC_ALIGN_SIZE_CPU(byteLen) ((((byteLen) + (sizeof(uint32_t)) - 1u) / (sizeof(uint32_t))) * (sizeof(uint32_t)))
36
37
#ifdef MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND
38
#define MCUXCLECC_KEYGEN_WACPU_SIZE(byteLenN) (416u + MCUXCLECC_ALIGN_SIZE_CPU(byteLenN + 8u))
39
#define MCUXCLECC_SIGN_WACPU_SIZE(byteLenN) (416u + MCUXCLECC_ALIGN_SIZE_CPU(byteLenN + 8u))
40
#else
/* ! MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND */
41
#define MCUXCLECC_KEYGEN_WACPU_SIZE(byteLenN) 416u
42
#define MCUXCLECC_SIGN_WACPU_SIZE(byteLenN) 416u
43
#endif
/* MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND */
44
45
#define MCUXCLECC_VERIFY_WACPU_SIZE 424u
46
#define MCUXCLECC_POINTMULT_WACPU_SIZE 416u
47
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WACPU_SIZE 88u
48
49
/* MCUXCLECC_WACPU_ */
53
59
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE25519_WACPU_SIZE 444u
60
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE448_WACPU_SIZE 468u
61
62
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE25519_WACPU_SIZE 88u
63
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE448_WACPU_SIZE 88u
64
/* MCUXCLECC_MONTDH_WACPU_ */
67
73
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WACPU_SIZE 680u
74
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED448_WACPU_SIZE 516u
75
76
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WACPU_SIZE 540u
77
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED448_WACPU_SIZE 132u
78
79
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WACPU_SIZE 540u
80
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED448_WACPU_SIZE 132u
81
82
/* MCUXCLECC_EDDSA_WACPU_ */
85
86
96
#define MCUXCLECC_PKC_WORDSIZE 8u
97
101
#define MCUXCLECC_MAX(value0, value1) (((value0) > (value1)) ? (value0) : (value1))
102
106
#define MCUXCLECC_ALIGN_SIZE_PKC(size) ((((size) + MCUXCLECC_PKC_WORDSIZE - 1u) / MCUXCLECC_PKC_WORDSIZE) * MCUXCLECC_PKC_WORDSIZE)
107
111
#define MCUXCLECC_KEYGEN_WAPKC_SIZE(pByteLen,nByteLen) \
112
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
113
114
118
#define MCUXCLECC_SIGN_WAPKC_SIZE(pByteLen,nByteLen) \
119
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
120
121
126
#define MCUXCLECC_VERIFY_WAPKC_SIZE(pByteLen,nByteLen) \
127
(28u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
128
129
133
#define MCUXCLECC_POINTMULT_WAPKC_SIZE(pByteLen,nByteLen) \
134
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
135
136
140
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE(pByteLen,nByteLen) \
141
(22u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
142
143
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_128 (528u )
144
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_256 (880u )
145
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_384 (1232u )
146
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_512 (1584u )
147
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_640 (1936u )
148
149
150
151
/* MCUXCLECC_WAPKC_ */
155
156
166
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE25519_WAPKC_SIZE 880u
167
171
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE25519_WAPKC_SIZE 880u
172
176
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE448_WAPKC_SIZE 1408u
177
181
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE448_WAPKC_SIZE 1408u
182
/* MCUXCLECC_MONTDH_WAPKC_ */
186
196
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WAPKC_SIZE 1760u
197
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED448_WAPKC_SIZE 2816u
198
199
202
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WAPKC_SIZE 1760u
203
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED448_WAPKC_SIZE 2816u
204
205
208
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WAPKC_SIZE 1760u
209
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED448_WAPKC_SIZE 2816u
210
211
/* MCUXCLECC_EDDSA_WAPKC_ */
214
218
#define MCUXCLECC_CUSTOMWEIERECCDOMAINPARAMS_SIZE(byteLenP, byteLenN) \
219
MCUXCLECC_ALIGN_SIZE_CPU(76u \
220
+ 8u * (byteLenP) \
221
+ 2u * (byteLenN) )
222
228
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_DESCRIPTOR_SIZE 8u
229
/* MCUXCLECC_EDDSA_GENKEYPAIR_DESC_SIZE_ */
232
238
#define MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESCRIPTOR_SIZE 20u
239
/* MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESC_SIZE_ */
242
243
244
/* mcuxClEcc_MemoryConsumption */
248
249
#endif
/* MCUXCLECC_MEMORYCONSUMPTION_H_ */
mcuxClEcc_MemoryConsumption.h
Generated by
1.8.15