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
20
#ifndef MCUXCLECC_MEMORYCONSUMPTION_H_
21
#define MCUXCLECC_MEMORYCONSUMPTION_H_
22
23
36
#define MCUXCLECC_ALIGN_SIZE_CPU(byteLen) ((((byteLen) + (sizeof(uint32_t)) - 1u) / (sizeof(uint32_t))) * (sizeof(uint32_t)))
37
38
#ifdef MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND
39
#define MCUXCLECC_KEYGEN_WACPU_SIZE(byteLenN) (416u + MCUXCLECC_ALIGN_SIZE_CPU(byteLenN + 8u))
40
#define MCUXCLECC_SIGN_WACPU_SIZE(byteLenN) (416u + MCUXCLECC_ALIGN_SIZE_CPU(byteLenN + 8u))
41
#else
/* ! MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND */
42
#define MCUXCLECC_KEYGEN_WACPU_SIZE(byteLenN) 416u
43
#define MCUXCLECC_SIGN_WACPU_SIZE(byteLenN) 416u
44
#endif
/* MCUXCL_FEATURE_ELS_ACCESS_PKCRAM_WORKAROUND */
45
46
#define MCUXCLECC_VERIFY_WACPU_SIZE 424u
47
#define MCUXCLECC_POINTMULT_WACPU_SIZE 416u
48
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WACPU_SIZE 88u
49
50
/* MCUXCLECC_WACPU_ */
54
60
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE25519_WACPU_SIZE 444u
61
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE448_WACPU_SIZE 468u
62
63
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE25519_WACPU_SIZE 88u
64
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE448_WACPU_SIZE 88u
65
/* MCUXCLECC_MONTDH_WACPU_ */
68
74
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WACPU_SIZE 680u
75
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED448_WACPU_SIZE 516u
76
77
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WACPU_SIZE 548u
78
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED448_WACPU_SIZE 356u
79
80
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WACPU_SIZE 548u
81
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED448_WACPU_SIZE 356u
82
83
/* MCUXCLECC_EDDSA_WACPU_ */
86
87
97
#define MCUXCLECC_PKC_WORDSIZE 8u
98
102
#define MCUXCLECC_MAX(value0, value1) (((value0) > (value1)) ? (value0) : (value1))
103
107
#define MCUXCLECC_ALIGN_SIZE_PKC(size) ((((size) + MCUXCLECC_PKC_WORDSIZE - 1u) / MCUXCLECC_PKC_WORDSIZE) * MCUXCLECC_PKC_WORDSIZE)
108
112
#define MCUXCLECC_KEYGEN_WAPKC_SIZE(pByteLen,nByteLen) \
113
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
114
115
119
#define MCUXCLECC_SIGN_WAPKC_SIZE(pByteLen,nByteLen) \
120
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
121
122
127
#define MCUXCLECC_VERIFY_WAPKC_SIZE(pByteLen,nByteLen) \
128
(28u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
129
130
134
#define MCUXCLECC_POINTMULT_WAPKC_SIZE(pByteLen,nByteLen) \
135
(24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
136
137
141
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE(pByteLen,nByteLen) \
142
(22u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
143
144
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_128 (528u )
145
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_256 (880u )
146
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_384 (1232u )
147
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_512 (1584u )
148
#define MCUXCLECC_WEIERECC_GENERATEDOMAINPARAMS_WAPKC_SIZE_640 (1936u )
149
150
151
152
/* MCUXCLECC_WAPKC_ */
156
157
167
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE25519_WAPKC_SIZE 880u
168
172
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE25519_WAPKC_SIZE 880u
173
177
#define MCUXCLECC_MONT_DHKEYGENERATION_CURVE448_WAPKC_SIZE 1408u
178
182
#define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE448_WAPKC_SIZE 1408u
183
/* MCUXCLECC_MONTDH_WAPKC_ */
187
197
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WAPKC_SIZE 1760u
198
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED448_WAPKC_SIZE 2816u
199
200
203
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WAPKC_SIZE 1760u
204
#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED448_WAPKC_SIZE 2816u
205
206
209
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WAPKC_SIZE 1760u
210
#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED448_WAPKC_SIZE 2816u
211
212
/* MCUXCLECC_EDDSA_WAPKC_ */
215
219
#define MCUXCLECC_CUSTOMWEIERECCDOMAINPARAMS_SIZE(byteLenP, byteLenN) \
220
MCUXCLECC_ALIGN_SIZE_CPU(76u \
221
+ 8u * (byteLenP) \
222
+ 2u * (byteLenN) )
223
229
#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_DESCRIPTOR_SIZE 8u
230
/* MCUXCLECC_EDDSA_GENKEYPAIR_DESC_SIZE_ */
233
239
#define MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESCRIPTOR_SIZE 20u
240
/* MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESC_SIZE_ */
243
244
245
/* mcuxClEcc_MemoryConsumption */
249
250
#endif
/* MCUXCLECC_MEMORYCONSUMPTION_H_ */
mcuxClEcc_MemoryConsumption.h
Generated by
1.8.15