MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClKey_Constants.h
Go to the documentation of this file.
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 MCUXCLKEY_CONSTANTS_H_
20
#define MCUXCLKEY_CONSTANTS_H_
21
22
#include <mcuxClConfig.h>
// Exported features flags header
23
24
/**********************************************
25
* CONSTANTS
26
**********************************************/
38
#define MCUXCLKEY_STATUS_OK ((mcuxClKey_Status_t) 0xE2E2E2E2u )
39
#define MCUXCLKEY_STATUS_ERROR ((mcuxClKey_Status_t) 0xE2E22E2Eu )
40
#define MCUXCLKEY_STATUS_FAILURE ((mcuxClKey_Status_t) 0xE2E2E22Eu )
41
#define MCUXCLKEY_STATUS_INVALID_INPUT ((mcuxClKey_Status_t) 0xE2E22EE2u )
42
#define MCUXCLKEY_STATUS_FAULT_ATTACK ((mcuxClKey_Status_t) 0xE2E2F0F0u )
43
#define MCUXCLKEY_STATUS_CRC_NOT_OK ((mcuxClKey_Status_t) 0x003E0002u)
44
#define MCUXCLKEY_STATUS_NOT_SUPPORTED ((mcuxClKey_Status_t) 0xE2E20000u)
45
52
#define MCUXCLKEY_LOADSTATUS_NOTLOADED 0x0000u
53
#define MCUXCLKEY_LOADSTATUS_MEMORY 0x0001u
54
#define MCUXCLKEY_LOADSTATUS_COPRO 0x0002u
55
#define MCUXCLKEY_LOADSTATUS_KEEPLOADED 0x8000u
56
59
/* Define algorithm IDs */
60
66
#define MCUXCLKEY_ALGO_ID_AES 0x0F01u
67
#define MCUXCLKEY_ALGO_ID_RSA 0x0E02u
68
#define MCUXCLKEY_ALGO_ID_ECC_SHWS_GFP 0x0D03u
69
#define MCUXCLKEY_ALGO_ID_ECC_SHWS_GF2M 0x0C04u
70
#define MCUXCLKEY_ALGO_ID_ECC_MONTDH 0x0B05u
71
#define MCUXCLKEY_ALGO_ID_ECC_EDDSA 0x0A06u
72
#define MCUXCLKEY_ALGO_ID_HMAC 0x0907u
73
#define MCUXCLKEY_ALGO_ID_SM4 0x0808u
74
#define MCUXCLKEY_ALGO_ID_SM2 0x0809u
75
#define MCUXCLKEY_ALGO_ID_ECC_SHWS_GFP_EPHEMERAL_CUSTOM 0x0709u
76
#define MCUXCLKEY_ALGO_ID_ECC_SHWS_GFP_STATIC_CUSTOM 0x060Au
77
#define MCUXCLKEY_ALGO_ID_ALGO_MASK 0x0FFFu
78
79
#define MCUXCLKEY_ALGO_ID_SYMMETRIC_KEY 0x0000u
80
#define MCUXCLKEY_ALGO_ID_PUBLIC_KEY 0x8000u
81
#define MCUXCLKEY_ALGO_ID_PRIVATE_KEY 0x4000u
82
#define MCUXCLKEY_ALGO_ID_PRIVATE_KEY_CRT 0x6000u
83
#define MCUXCLKEY_ALGO_ID_KEY_PAIR 0xC000u
84
#define MCUXCLKEY_ALGO_ID_PRIVATE_KEY_CRT_DFA 0xE000u
85
86
#define MCUXCLKEY_ALGO_ID_USAGE_MASK 0xF000u
87
89
/* Define key sizes */
90
96
#define MCUXCLKEY_SIZE_NOTUSED 0u
97
#define MCUXCLKEY_SIZE_128 16u
98
#define MCUXCLKEY_SIZE_160 20u
99
#define MCUXCLKEY_SIZE_192 24u
100
#define MCUXCLKEY_SIZE_224 28u
101
#define MCUXCLKEY_SIZE_256 32u
102
#define MCUXCLKEY_SIZE_320 40u
103
#define MCUXCLKEY_SIZE_384 48u
104
#define MCUXCLKEY_SIZE_512 64u
105
#define MCUXCLKEY_SIZE_521 66u
106
#define MCUXCLKEY_SIZE_1024 1024u
107
#define MCUXCLKEY_SIZE_2048 2048u
108
#define MCUXCLKEY_SIZE_3072 3072u
109
#define MCUXCLKEY_SIZE_4096 4096u
110
#define MCUXCLKEY_SIZE_6144 6144u
111
#define MCUXCLKEY_SIZE_8192 8192u
112
113
// TODO CLNS-6135: replace these divides by a macro that ensures rounding up
114
#define MCUXCLKEY_SIZE_128_IN_WORDS (MCUXCLKEY_SIZE_128 / sizeof(uint32_t))
115
#define MCUXCLKEY_SIZE_160_IN_WORDS (MCUXCLKEY_SIZE_160 / sizeof(uint32_t))
116
#define MCUXCLKEY_SIZE_192_IN_WORDS (MCUXCLKEY_SIZE_192 / sizeof(uint32_t))
117
#define MCUXCLKEY_SIZE_224_IN_WORDS (MCUXCLKEY_SIZE_224 / sizeof(uint32_t))
118
#define MCUXCLKEY_SIZE_256_IN_WORDS (MCUXCLKEY_SIZE_256 / sizeof(uint32_t))
119
#define MCUXCLKEY_SIZE_320_IN_WORDS (MCUXCLKEY_SIZE_320 / sizeof(uint32_t))
120
#define MCUXCLKEY_SIZE_384_IN_WORDS (MCUXCLKEY_SIZE_384 / sizeof(uint32_t))
121
#define MCUXCLKEY_SIZE_512_IN_WORDS (MCUXCLKEY_SIZE_512 / sizeof(uint32_t))
122
#define MCUXCLKEY_SIZE_521_IN_WORDS ((MCUXCLKEY_SIZE_521 + sizeof(uint32_t) - 1u) / sizeof(uint32_t))
123
#define MCUXCLKEY_SIZE_1024_IN_WORDS (MCUXCLKEY_SIZE_1024 / (sizeof(uint32_t) * 8u))
124
#define MCUXCLKEY_SIZE_2048_IN_WORDS (MCUXCLKEY_SIZE_2048 / (sizeof(uint32_t) * 8u))
125
#define MCUXCLKEY_SIZE_3072_IN_WORDS (MCUXCLKEY_SIZE_3072 / (sizeof(uint32_t) * 8u))
126
#define MCUXCLKEY_SIZE_4096_IN_WORDS (MCUXCLKEY_SIZE_4096 / (sizeof(uint32_t) * 8u))
127
#define MCUXCLKEY_SIZE_6144_IN_WORDS (MCUXCLKEY_SIZE_6144 / (sizeof(uint32_t) * 8u))
128
#define MCUXCLKEY_SIZE_8192_IN_WORDS (MCUXCLKEY_SIZE_8192 / (sizeof(uint32_t) * 8u))
129
136
#define MCUXCLKEY_WA_SIZE_MAX 0U
137
142
#define MCUXCLKEY_INVALID_KEYSLOT 0xFFu
143
144
#endif
/* MCUXCLKEY_CONSTANTS_H_ */
mcuxClKey_Constants.h
Generated by
1.8.15