MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClRandomModes_MemoryConsumption.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2022-2024 NXP */
3/* */
4/* SPDX-License-Identifier: BSD-3-Clause */
5/* */
6/* Redistribution and use in source and binary forms, with or without */
7/* modification, are permitted provided that the following conditions are */
8/* met: */
9/* */
10/* 1. Redistributions of source code must retain the above copyright */
11/* notice, this list of conditions and the following disclaimer. */
12/* */
13/* 2. Redistributions in binary form must reproduce the above copyright */
14/* notice, this list of conditions and the following disclaimer in the */
15/* documentation and/or other materials provided with the distribution. */
16/* */
17/* 3. Neither the name of the copyright holder nor the names of its */
18/* contributors may be used to endorse or promote products derived from */
19/* this software without specific prior written permission. */
20/* */
21/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS */
22/* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
23/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
24/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
25/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
26/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
27/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR */
28/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
29/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
30/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
31/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32/*--------------------------------------------------------------------------*/
33
38
39#ifndef MCUXCLRANDOMMODES_MEMORYCONSUMPTION_H_
40#define MCUXCLRANDOMMODES_MEMORYCONSUMPTION_H_
41
48
49#define MCUXCLRANDOMMODES_PATCHMODE_DESCRIPTOR_SIZE (20u)
50
51#define MCUXCLRANDOMMODES_TESTMODE_DESCRIPTOR_SIZE (20u)
52
53#define MCUXCLRANDOMMODES_MAX_CPU_WA_BUFFER_SIZE (316u)
54
55#define MCUXCLRANDOMMODES_INIT_WACPU_SIZE (288u)
56#define MCUXCLRANDOMMODES_RESEED_WACPU_SIZE (256u)
57#define MCUXCLRANDOMMODES_GENERATE_WACPU_SIZE (256u)
58#define MCUXCLRANDOMMODES_SELFTEST_WACPU_SIZE (316u)
59#define MCUXCLRANDOMMODES_UNINIT_WACPU_SIZE (0u)
60#define MCUXCLRANDOMMODES_CHECKSECURITYSTRENGTH_WACPU_SIZE (0u)
61#define MCUXCLRANDOMMODES_CREATEPATCHMODE_WACPU_SIZE (0u)
62#define MCUXCLRANDOMMODES_CREATETESTMODEFROMNORMALMODE_WACPU_SIZE (0u)
63
64
65#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_128
66#define MCUXCLRANDOMMODES_CTR_DRBG_AES128_CONTEXT_SIZE ($(mcuxClRandomModes_Context_Aes128)u)
67#define MCUXCLRANDOMMODES_CTR_DRBG_AES128_CONTEXT_SIZE_IN_WORDS ((MCUXCLRANDOMMODES_CTR_DRBG_AES128_CONTEXT_SIZE + sizeof(uint32_t) - 1u) / sizeof(uint32_t))
68#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_128
69
70#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_192
71#define MCUXCLRANDOMMODES_CTR_DRBG_AES192_CONTEXT_SIZE ($(mcuxClRandomModes_Context_Aes192)u)
72#define MCUXCLRANDOMMODES_CTR_DRBG_AES192_CONTEXT_SIZE_IN_WORDS ((MCUXCLRANDOMMODES_CTR_DRBG_AES192_CONTEXT_SIZE + sizeof(uint32_t) - 1u) / sizeof(uint32_t))
73#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_192
74
75#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_256
76#define MCUXCLRANDOMMODES_CTR_DRBG_AES256_CONTEXT_SIZE (72u)
77#define MCUXCLRANDOMMODES_CTR_DRBG_AES256_CONTEXT_SIZE_IN_WORDS ((MCUXCLRANDOMMODES_CTR_DRBG_AES256_CONTEXT_SIZE + sizeof(uint32_t) - 1u) / sizeof(uint32_t))
78#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_256
79
80#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_128
81#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES128_INIT_ENTROPY_SIZE ($(mcuxClRandomModes_TestMode_CtrDrbg_Aes128_Entropy_Input_Init_size)u)
82#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES128_RESEED_ENTROPY_SIZE ($(mcuxClRandomModes_TestMode_CtrDrbg_Aes128_Entropy_Input_Reseed_size)u)
83#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_128
84
85#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_192
86#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES192_INIT_ENTROPY_SIZE ($(mcuxClRandomModes_TestMode_CtrDrbg_Aes192_Entropy_Input_Init_size)u)
87#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES192_RESEED_ENTROPY_SIZE ($(mcuxClRandomModes_TestMode_CtrDrbg_Aes192_Entropy_Input_Reseed_size)u)
88#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_192
89
90#ifdef MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_256
91#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES256_INIT_ENTROPY_SIZE (64u)
92#define MCUXCLRANDOMMODES_TESTMODE_CTR_DRBG_AES256_RESEED_ENTROPY_SIZE (48u)
93#endif // MCUXCL_FEATURE_RANDOMMODES_SECSTRENGTH_256
94
95
96#define MCUXCLRANDOMMODES_PATCHMODE_CONTEXT_SIZE (4u)
97#define MCUXCLRANDOMMODES_PATCHMODE_CONTEXT_SIZE_IN_WORDS ((MCUXCLRANDOMMODES_PATCHMODE_CONTEXT_SIZE + sizeof(uint32_t) - 1u) / sizeof(uint32_t))
98 /* mcuxClRandomModes_MemoryConsumption */
102
103#endif /* MCUXCLRANDOMMODES_MEMORYCONSUMPTION_H_ */