MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClEcc_MemoryConsumption.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2021-2024 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#include <mcuxClCore_Macros.h>
23
36#define MCUXCLECC_KEYGEN_WACPU_SIZE 96u
37
38#define MCUXCLECC_SIGN_WACPU_SIZE 96u
39#ifdef MCUXCL_FEATURE_ECC_ECDSA_DETERMINISTIC
40#define MCUXCLECC_SIGN_DETERMINISTIC_ECDSA_WACPU_SIZE $(mcuxClEcc_Sign_DeterministicECDSA_WaCPU_SIZE)u
41#endif /* MCUXCL_FEATURE_ECC_ECDSA_DETERMINISTIC */
42
43#define MCUXCLECC_VERIFY_WACPU_SIZE 104u
44
45#define MCUXCLECC_POINTMULT_WACPU_SIZE 96u
46
47
48
49
50 /* MCUXCLECC_WACPU_ */
54
61#define MCUXCLECC_MONTDH_GENERATEKEYPAIR_CURVE25519_WACPU_SIZE 92u
62#define MCUXCLECC_MONTDH_GENERATEKEYPAIR_CURVE448_WACPU_SIZE 92u
63
64#define MCUXCLECC_MONTDH_KEYAGREEMENT_CURVE25519_WACPU_SIZE 88u
65#define MCUXCLECC_MONTDH_KEYAGREEMENT_CURVE448_WACPU_SIZE 88u
66 /* MCUXCLECC_MONTDH_WACPU_ */
70
77#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WACPU_SIZE 360u
78#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WACPU_SIZE 540u
79#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WACPU_SIZE 540u
80
81 /* MCUXCLECC_EDDSA_WACPU_ */
85
95#define MCUXCLECC_PKC_WORDSIZE 8u
96
100#define MCUXCLECC_KEYGEN_WAPKC_SIZE(pByteLen,nByteLen) \
101 (24u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLECC_PKC_WORDSIZE, MCUXCLCORE_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
102
103#define MCUXCLECC_KEYGEN_WAPKC_SIZE_128 (576u)
104#define MCUXCLECC_KEYGEN_WAPKC_SIZE_256 (960u)
105#define MCUXCLECC_KEYGEN_WAPKC_SIZE_384 (1344u)
106#define MCUXCLECC_KEYGEN_WAPKC_SIZE_512 (1728u)
107#define MCUXCLECC_KEYGEN_WAPKC_SIZE_640 (2112u)
108
112#define MCUXCLECC_SIGN_WAPKC_SIZE(pByteLen,nByteLen) \
113 (24u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLECC_PKC_WORDSIZE, MCUXCLCORE_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
114
115#define MCUXCLECC_SIGN_WAPKC_SIZE_128 (576u )
116#define MCUXCLECC_SIGN_WAPKC_SIZE_256 (960u )
117#define MCUXCLECC_SIGN_WAPKC_SIZE_384 (1344u )
118#define MCUXCLECC_SIGN_WAPKC_SIZE_512 (1728u )
119#define MCUXCLECC_SIGN_WAPKC_SIZE_640 (2112u )
120
125#define MCUXCLECC_VERIFY_WAPKC_SIZE(pByteLen,nByteLen) \
126 (28u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLECC_PKC_WORDSIZE, MCUXCLCORE_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
127
128#define MCUXCLECC_VERIFY_WAPKC_SIZE_128 (672u)
129#define MCUXCLECC_VERIFY_WAPKC_SIZE_256 (1120u)
130#define MCUXCLECC_VERIFY_WAPKC_SIZE_384 (1568u)
131#define MCUXCLECC_VERIFY_WAPKC_SIZE_512 (2016u)
132#define MCUXCLECC_VERIFY_WAPKC_SIZE_640 (2464u)
133
137#define MCUXCLECC_POINTMULT_WAPKC_SIZE(pByteLen,nByteLen) \
138 (24u * (MCUXCLCORE_ALIGN_TO_WORDSIZE(MCUXCLECC_PKC_WORDSIZE, MCUXCLCORE_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
139
140#define MCUXCLECC_POINTMULT_WAPKC_SIZE_128 (576u)
141#define MCUXCLECC_POINTMULT_WAPKC_SIZE_256 (960u)
142#define MCUXCLECC_POINTMULT_WAPKC_SIZE_384 (1344u)
143#define MCUXCLECC_POINTMULT_WAPKC_SIZE_512 (1728u)
144#define MCUXCLECC_POINTMULT_WAPKC_SIZE_640 (2112u)
145
146
147
148
149 /* MCUXCLECC_WAPKC_ */
153
154
164#define MCUXCLECC_MONTDH_GENERATEKEYPAIR_CURVE25519_WAPKC_SIZE 880u
165#define MCUXCLECC_MONTDH_GENERATEKEYPAIR_CURVE448_WAPKC_SIZE 1408u
166
170#define MCUXCLECC_MONTDH_KEYAGREEMENT_CURVE25519_WAPKC_SIZE 880u
171#define MCUXCLECC_MONTDH_KEYAGREEMENT_CURVE448_WAPKC_SIZE 1408u
172 /* MCUXCLECC_MONTDH_WAPKC_ */
176
186#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WAPKC_SIZE 1760u
187
191#define MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WAPKC_SIZE 1760u
192
196#define MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WAPKC_SIZE 1760u
197 /* MCUXCLECC_EDDSA_WAPKC_ */
201
202
208#define MCUXCLECC_EDDSA_GENERATEKEYPAIR_DESCRIPTOR_SIZE 8u /* MCUXCLECC_EDDSA_GENKEYPAIR_DESC_SIZE_ */
212
218#define MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESCRIPTOR_SIZE 20u
219
220#define MCUXCLECC_EDDSA_ED25519_SIZE_SIGNATURE_PROTOCOL_DESCRIPTOR(contextLen) \
221 (MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESCRIPTOR_SIZE + MCUXCLECC_EDDSA_SIZE_HASH_PREFIX(MCUXCLECC_EDDSA_ED25519_DOMPREFIXLEN, (contextLen)))
223 /* MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESC_SIZE_ */
227
228
229
230#ifdef MCUXCL_FEATURE_ECC_ECDSA_DETERMINISTIC
236#define MCUXCLECC_ECDSA_SIGNATURE_PROTOCOL_DESCRIPTOR_SIZE 12u /* MCUXCLECC_EDDSA_SIGNATURE_PROTOCOL_DESC_SIZE_ */
240 #endif /* MCUXCL_FEATURE_ECC_ECDSA_DETERMINISTIC */
241
242 /* mcuxClEcc_MemoryConsumption */
246
247#endif /* MCUXCLECC_MEMORYCONSUMPTION_H_ */
Definition of macros.