MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClHash_MemoryConsumption.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-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 
17 #ifndef MCUXCLHASH_MEMORYCONSUMPTION_H_
18 #define MCUXCLHASH_MEMORYCONSUMPTION_H_
19 
27 /****************************************************************************/
28 /* Definitions of workarea buffer sizes for the mcuxClHash functions. */
29 /****************************************************************************/
30 
31 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL (1u)
32 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MD5 (1u)
33 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA_1 (1u)
34 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_224 (96u)
35 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_256 (96u)
36 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_384 (192u)
37 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512 (192u)
38 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512_224 (192u)
39 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512_256 (192u)
40 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA3 (1u)
41 #define MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MAX (192u)
42 
43 
44 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL
45 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_MD5 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MD5
46 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA_1 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA_1
47 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_224 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_224
48 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_256 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_256
49 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_384 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_384
50 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_512 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512
51 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_512_224 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512_224
52 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA2_512_256 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA2_512_256
53 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_SHA3 MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_SHA3
54 #define MCUXCLHASH_COMPARE_CPU_WA_BUFFER_SIZE_MAX MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MAX
55 
56 #define MCUXCLHASH_INIT_CPU_WA_BUFFER_SIZE (0u)
57 
58 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL (0u)
59 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_MD5 (1u)
60 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA_1 (1u)
61 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_224 (1u)
62 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_256 (1u)
63 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_384 (1u)
64 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_512 (1u)
65 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_512_224 (1u)
66 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA2_512_256 (1u)
67 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_SHA3 (0u)
68 #define MCUXCLHASH_PROCESS_CPU_WA_BUFFER_SIZE_MAX (4u)
69 
70 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL (1)
71 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MD5 (1u)
72 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA_1 (1u)
73 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_224 (96u)
74 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_256 (96u)
75 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_384 (192u)
76 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512 (192u)
77 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512_224 (192u)
78 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512_256 (192u)
79 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA3 (1u)
80 #define MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MAX (192u)
81 
82 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MIYAGUCHI_PRENEEL
83 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_MD5 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MD5
84 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA_1 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA_1
85 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_224 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_224
86 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_256 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_256
87 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_384 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_384
88 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_512 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512
89 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_512_224 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512_224
90 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA2_512_256 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA2_512_256
91 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_SHA3 MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_SHA3
92 #define MCUXCLHASH_VERIFY_CPU_WA_BUFFER_SIZE_MAX MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MAX
93 
94 #define MCUXCLHASH_MAX_CPU_WA_BUFFER_SIZE (MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MAX > MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MAX ? \
95  MCUXCLHASH_COMPUTE_CPU_WA_BUFFER_SIZE_MAX : MCUXCLHASH_FINISH_CPU_WA_BUFFER_SIZE_MAX)
96 
97 
106 /********************************************************************************************/
107 /* Definitions of state buffer sizes for mcuxClHash_export_state and mcuxClHash_import_state */
108 /********************************************************************************************/
109 
110 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_MD5 (1u)
111 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA_1 (1u)
112 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_224 (1u)
113 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_256 (1u)
114 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_384 (1u)
115 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_512 (1u)
116 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_512_224 (1u)
117 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_SHA2_512_256 (1u)
118 #define MCUXCLHASH_EXPORT_IMPORT_STATE_SIZE_MAX (1u)
119 
120 
130 /****************************************************************************/
131 /* Definitions of context sizes for the mcuxClHash multi-part functions. */
132 /****************************************************************************/
133 
134 #define MCUXCLHASH_CONTEXT_SIZE (224u)
135 
136 
139 #endif /* MCUXCLHASH_MEMORYCONSUMPTION_H_ */