MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClCipherModes_MemoryConsumption.h
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 MCUXCLCIPHER_MEMORYCONSUMPTION_H_
20 #define MCUXCLCIPHER_MEMORYCONSUMPTION_H_
21 
22 /* Macro to calculate the WA size in the CPU wordsize */
23 #define MCUXCLCIPHER_SIZE_IN_CPUWORDS(size) (((uint32_t) (size)) / (sizeof(uint32_t)))
24 
25 /* Workarea sizes */
26 #define MCUXCLCIPHER_AES_CRYPT_CPU_WA_BUFFER_SIZE (48u)
27 #define MCUXCLCIPHER_AES_CRYPT_CPU_WA_BUFFER_SIZE_IN_WORDS MCUXCLCIPHER_SIZE_IN_CPUWORDS(MCUXCLCIPHER_AES_CRYPT_CPU_WA_BUFFER_SIZE)
28 
29 #define MCUXCLCIPHER_AES_INIT_CPU_WA_BUFFER_SIZE (4u)
30 #define MCUXCLCIPHER_AES_PROCESS_CPU_WA_BUFFER_SIZE (4u)
31 #define MCUXCLCIPHER_AES_FINISH_CPU_WA_BUFFER_SIZE (4u)
32 #define MCUXCLCIPHER_AES_INIT_CPU_WA_BUFFER_SIZE_IN_WORDS MCUXCLCIPHER_SIZE_IN_CPUWORDS(MCUXCLCIPHER_AES_INIT_CPU_WA_BUFFER_SIZE)
33 #define MCUXCLCIPHER_AES_PROCESS_CPU_WA_BUFFER_SIZE_IN_WORDS MCUXCLCIPHER_SIZE_IN_CPUWORDS(MCUXCLCIPHER_AES_PROCESS_CPU_WA_BUFFER_SIZE)
34 #define MCUXCLCIPHER_AES_FINISH_CPU_WA_BUFFER_SIZE_IN_WORDS MCUXCLCIPHER_SIZE_IN_CPUWORDS(MCUXCLCIPHER_AES_FINISH_CPU_WA_BUFFER_SIZE)
35 
36 #define MCUXCLCIPHER_MAX_AES_CPU_WA_BUFFER_SIZE (MCUXCLCIPHER_AES_CRYPT_CPU_WA_BUFFER_SIZE)
37 #define MCUXCLCIPHER_MAX_AES_CPU_WA_BUFFER_SIZE_IN_WORDS (MCUXCLCIPHER_AES_CRYPT_CPU_WA_BUFFER_SIZE_IN_WORDS)
38 
39 /* Context sizes */
40 #define MCUXCLCIPHER_AES_CONTEXT_SIZE (48u)
41 #define MCUXCLCIPHER_AES_CONTEXT_SIZE_IN_WORDS MCUXCLCIPHER_SIZE_IN_CPUWORDS(MCUXCLCIPHER_AES_CONTEXT_SIZE)
42 
43 
44 #endif /* MCUXCLCIPHER_MEMORYCONSUMPTION_H_ */