MCUX CLNS MCUX Crypto Library Normal Secure |

mcuxClEcc_MemoryConsumption.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 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
20 #ifndef MCUXCLECC_MEMORYCONSUMPTION_H_
21 #define MCUXCLECC_MEMORYCONSUMPTION_H_
22
23
36 #define MCUXCLECC_KEYGEN_WACPU_SIZE 0u
37 #define MCUXCLECC_SIGN_WACPU_SIZE 0u
38 #define MCUXCLECC_VERIFY_WACPU_SIZE 0u
39 #define MCUXCLECC_POINTMULT_WACPU_SIZE 0u
40 /* MCUXCLECC_WACPU_ */
43 #ifdef MCUXCL_FEATURE_ECC_MONTGOMERY_DH
44
49 #define MCUXCLECC_MONT_DHKEYGENERATION_WACPU_SIZE 100u
50 #define MCUXCLECC_MONT_DHKEYAGREEMENT_WACPU_SIZE 100u
51 /* MCUXCLECC_MONT_WACPU_ */
54 #endif
55
65 #define MCUXCLECC_PKC_WORDSIZE 8u
66
70 #define MCUXCLECC_MAX(value0, value1) (((value0) > (value1)) ? (value0) : (value1))
71
75 #define MCUXCLECC_ALIGN_SIZE_PKC(size) ((((size) + MCUXCLECC_PKC_WORDSIZE - 1u) / MCUXCLECC_PKC_WORDSIZE) * MCUXCLECC_PKC_WORDSIZE)
76
80 #define MCUXCLECC_KEYGEN_WAPKC_SIZE(pByteLen,nByteLen) \
81 (24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
82
86 #define MCUXCLECC_SIGN_WAPKC_SIZE(pByteLen,nByteLen) \
87 (24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
88
92 #define MCUXCLECC_VERIFY_WAPKC_SIZE(pByteLen,nByteLen) \
93 (28u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
94
98 #define MCUXCLECC_POINTMULT_WAPKC_SIZE(pByteLen,nByteLen) \
99 (24u * (MCUXCLECC_ALIGN_SIZE_PKC(MCUXCLECC_MAX(pByteLen,nByteLen)) + MCUXCLECC_PKC_WORDSIZE))
100 /* MCUXCLECC_WAPKC_ */
104
105 #ifdef MCUXCL_FEATURE_ECC_MONTGOMERY_DH
106
116 #define MCUXCLECC_MONT_DHKEYGENERATION_CURVE25519_WAPKC_SIZE \
117 (1000u)
118
122 #define MCUXCLECC_MONT_DHKEYAGREEMENT_CURVE25519_WAPKC_SIZE \
123 (1000u)
124 /* MCUXCLECC_WAPKC_ */
128
129 #endif
130 /* mcuxClEcc_MemoryConsumption */
133
134
135 #endif /* MCUXCLECC_MEMORYCONSUMPTION_H_ */