7#ifndef CRYPTO_KM_STRUCT_H
8#define CRYPTO_KM_STRUCT_H
18#define SESSION_KEY_LEN 16
crypto_klad_sec
Definition crypto_km_struct.h:151
@ CRYPTO_KLAD_SEC_INVALID
Definition crypto_km_struct.h:155
@ CRYPTO_KLAD_SEC_ENABLE
Definition crypto_km_struct.h:153
@ CRYPTO_KLAD_SEC_MAX
Definition crypto_km_struct.h:154
@ CRYPTO_KLAD_SEC_DISABLE
Definition crypto_km_struct.h:152
crypto_klad_level_sel
klad密钥派生时,决定当前派生的密钥层级。
Definition crypto_km_struct.h:236
@ CRYPTO_KLAD_LEVEL_SEL_FIRST
Definition crypto_km_struct.h:237
@ CRYPTO_KLAD_LEVEL_SEL_SECOND
Definition crypto_km_struct.h:238
crypto_kdf_sw_alg
软件PBKDF2算法时HASH算法选择。
Definition crypto_km_struct.h:64
@ CRYPTO_KDF_SW_ALG_SHA512
Definition crypto_km_struct.h:68
@ CRYPTO_KDF_SW_ALG_SM3
Definition crypto_km_struct.h:69
@ CRYPTO_KDF_SW_ALG_SHA256
Definition crypto_km_struct.h:66
@ CRYPTO_KDF_SW_ALG_SHA1
Definition crypto_km_struct.h:65
@ CRYPTO_KDF_SW_ALG_SHA384
Definition crypto_km_struct.h:67
crypto_klad_alg_sel
klad密钥派生时,决定当前派生使用的对称算法。
Definition crypto_km_struct.h:248
@ CRYPTO_KLAD_ALG_SEL_SM4
Definition crypto_km_struct.h:251
@ CRYPTO_KLAD_ALG_SEL_AES
Definition crypto_km_struct.h:250
@ CRYPTO_KLAD_ALG_SEL_TDES
Definition crypto_km_struct.h:249
crypto_klad_engine
klad 目标模块算法引擎,决定送出的 key 支持哪个算法。
Definition crypto_km_struct.h:141
@ CRYPTO_KLAD_ENGINE_AES
Definition crypto_km_struct.h:142
@ CRYPTO_KLAD_ENGINE_TDES
Definition crypto_km_struct.h:144
@ CRYPTO_KLAD_ENGINE_SM4
Definition crypto_km_struct.h:143
@ CRYPTO_KLAD_ENGINE_SHA1_HMAC
Definition crypto_km_struct.h:145
@ CRYPTO_KLAD_ENGINE_SM3_HMAC
Definition crypto_km_struct.h:147
@ CRYPTO_KLAD_ENGINE_SHA2_HMAC
Definition crypto_km_struct.h:146
@ CRYPTO_KLAD_ENGINE_MAX
Definition crypto_km_struct.h:148
#define SESSION_KEY_LEN
Definition crypto_km_struct.h:18
crypto_klad_key_size
对称密钥长度。决定了最终的工作密钥的长度
Definition crypto_km_struct.h:204
@ CRYPTO_KLAD_KEY_SIZE_128BIT
Definition crypto_km_struct.h:205
@ CRYPTO_KLAD_KEY_SIZE_256BIT
Definition crypto_km_struct.h:207
@ CRYPTO_KLAD_KEY_SIZE_192BIT
Definition crypto_km_struct.h:206
crypto_kdf_hard_key_type
KDF 密钥派生时派生key类型选择。
Definition crypto_km_struct.h:79
@ CRYPTO_KDF_HARD_KEY_TYPE_PSK
Definition crypto_km_struct.h:90
@ CRYPTO_KDF_HARD_KEY_TYPE_MDRK3
Definition crypto_km_struct.h:98
@ CRYPTO_KDF_HARD_KEY_TYPE_DRK0
Definition crypto_km_struct.h:86
@ CRYPTO_KDF_HARD_KEY_TYPE_ODRK0
Definition crypto_km_struct.h:92
@ CRYPTO_KDF_HARD_KEY_TYPE_RDRK_REE
Definition crypto_km_struct.h:102
@ CRYPTO_KDF_HARD_KEY_TYPE_ABRK2
Definition crypto_km_struct.h:85
@ CRYPTO_KDF_HARD_KEY_TYPE_RDRK_TEE
Definition crypto_km_struct.h:103
@ CRYPTO_KDF_HARD_KEY_TYPE_ABRK_REE
Definition crypto_km_struct.h:100
@ CRYPTO_KDF_HARD_KEY_TYPE_ABRK1
Definition crypto_km_struct.h:84
@ CRYPTO_KDF_HARD_KEY_TYPE_ODRK1
Definition crypto_km_struct.h:93
@ CRYPTO_KDF_HARD_KEY_TYPE_SBRK0
Definition crypto_km_struct.h:80
@ CRYPTO_KDF_HARD_KEY_TYPE_OARK0
Definition crypto_km_struct.h:94
@ CRYPTO_KDF_HARD_KEY_TYPE_DRK1
Definition crypto_km_struct.h:87
@ CRYPTO_KDF_HARD_KEY_TYPE_SBRK2
Definition crypto_km_struct.h:82
@ CRYPTO_KDF_HARD_KEY_TYPE_FDRK0
Definition crypto_km_struct.h:91
@ CRYPTO_KDF_HARD_KEY_TYPE_ABRK_TEE
Definition crypto_km_struct.h:101
@ CRYPTO_KDF_HARD_KEY_TYPE_MDRK1
Definition crypto_km_struct.h:96
@ CRYPTO_KDF_HARD_KEY_TYPE_RDRK1
Definition crypto_km_struct.h:89
@ CRYPTO_KDF_HARD_KEY_TYPE_SBRK1
Definition crypto_km_struct.h:81
@ CRYPTO_KDF_HARD_KEY_TYPE_MDRK2
Definition crypto_km_struct.h:97
@ CRYPTO_KDF_HARD_KEY_TYPE_MDRK0
Definition crypto_km_struct.h:95
@ CRYPTO_KDF_HARD_KEY_TYPE_ABRK0
Definition crypto_km_struct.h:83
@ CRYPTO_KDF_HARD_KEY_TYPE_RDRK0
Definition crypto_km_struct.h:88
crypto_kdf_update_alg
KDF 密钥派生时对称算法选择。
Definition crypto_km_struct.h:51
@ CRYPTO_KDF_UPDATE_ALG_AES
Definition crypto_km_struct.h:52
@ CRYPTO_KDF_UPDATE_ALG_MAX
Definition crypto_km_struct.h:54
@ CRYPTO_KDF_UPDATE_ALG_SM4
Definition crypto_km_struct.h:53
crypto_klad_hmac_type
当目标引擎为HMAC时,决定具体使用的HAMC算法。
Definition crypto_km_struct.h:217
@ CRYPTO_KLAD_HMAC_TYPE_SHA256
Definition crypto_km_struct.h:221
@ CRYPTO_KLAD_HMAC_TYPE_MAX
Definition crypto_km_struct.h:225
@ CRYPTO_KLAD_HMAC_TYPE_SM3
Definition crypto_km_struct.h:224
@ CRYPTO_KLAD_HMAC_TYPE_SHA512
Definition crypto_km_struct.h:223
@ CRYPTO_KLAD_HMAC_TYPE_INVALID
Definition crypto_km_struct.h:226
@ CRYPTO_KLAD_HMAC_TYPE_SHA224
Definition crypto_km_struct.h:220
@ CRYPTO_KLAD_HMAC_TYPE_SHA1
Definition crypto_km_struct.h:218
@ CRYPTO_KLAD_HMAC_TYPE_SHA384
Definition crypto_km_struct.h:222
td_bool(* drv_klad_wait_condition_func)(const td_void *param)
Definition crypto_km_struct.h:22
crypto_keyslot_type
keyslot 类型选择。
Definition crypto_km_struct.h:396
@ CRYPTO_KEYSLOT_TYPE_MCIPHER
Definition crypto_km_struct.h:397
@ CRYPTO_KEYSLOT_TYPE_HMAC
Definition crypto_km_struct.h:398
@ CRYPTO_KEYSLOT_TYPE_FLASH
Definition crypto_km_struct.h:399
crypto_klad_flash_key_type
Flash 在线解密模式,决定送 key 后使用哪种模式
Definition crypto_km_struct.h:190
@ CRYPTO_KLAD_FLASH_KEY_TYPE_TEE_DEC
Definition crypto_km_struct.h:192
@ CRYPTO_KLAD_FLASH_KEY_TYPE_REE_DEC
Definition crypto_km_struct.h:191
@ CRYPTO_KLAD_FLASH_KEY_TYPE_INVALID
Definition crypto_km_struct.h:194
@ CRYPTO_KLAD_FLASH_KEY_TYPE_TEE_AUT
Definition crypto_km_struct.h:193
crypto_kdf_hard_key_size
Definition crypto_km_struct.h:119
@ CRYPTO_KDF_HARD_KEY_SIZE_128BIT
Definition crypto_km_struct.h:120
@ CRYPTO_KDF_HARD_KEY_SIZE_256BIT
Definition crypto_km_struct.h:122
@ CRYPTO_KDF_HARD_KEY_SIZE_192BIT
Definition crypto_km_struct.h:121
crypto_kdf_hard_alg
KDF 密钥派生,硬件PBKDF2算法时HASH算法选择。
Definition crypto_km_struct.h:113
@ CRYPTO_KDF_HARD_ALG_SM3
Definition crypto_km_struct.h:115
@ CRYPTO_KDF_HARD_ALG_MAX
Definition crypto_km_struct.h:116
@ CRYPTO_KDF_HARD_ALG_SHA256
Definition crypto_km_struct.h:114
td_s32(* osal_kdf_wait_timeout_uninterruptible)(const td_void *wait, drv_kdf_wait_condition_func func, const td_void *param, const td_u32 timeout_ms)
Definition crypto_km_struct.h:24
crypto_klad_key_parity
Definition crypto_km_struct.h:160
@ CRYPTO_KLAD_KEY_ODD
Definition crypto_km_struct.h:162
@ CRYPTO_KLAD_KEY_EVEN
Definition crypto_km_struct.h:161
@ CRYPTO_KLAD_KEY_PARITY_INVALID
Definition crypto_km_struct.h:164
@ CRYPTO_KLAD_KEY_PARITY_MAX
Definition crypto_km_struct.h:163
td_s32(* osal_klad_wait_timeout_uninterruptible)(const td_void *wait, drv_klad_wait_condition_func func, const td_void *param, const td_u32 timeout_ms)
Definition crypto_km_struct.h:27
crypto_kdf_otp_key
KDF 密钥派生时根密钥选择。
Definition crypto_km_struct.h:37
@ CRYPTO_KDF_OTP_KEY_MRK1
Definition crypto_km_struct.h:38
@ CRYPTO_KDF_OTP_KEY_MAX
Definition crypto_km_struct.h:41
@ CRYPTO_KDF_OTP_KEY_USK
Definition crypto_km_struct.h:39
@ CRYPTO_KDF_OTP_KEY_RUSK
Definition crypto_km_struct.h:40
td_bool(* drv_kdf_wait_condition_func)(const td_void *param)
Definition crypto_km_struct.h:20
crypto_klad_dest
klad 目标模块,决定 key 送给哪个模块使用。
Definition crypto_km_struct.h:174
@ CRYPTO_KLAD_DEST_HMAC
Definition crypto_km_struct.h:176
@ CRYPTO_KLAD_DEST_FLASH
Definition crypto_km_struct.h:177
@ CRYPTO_KLAD_DEST_NPU
Definition crypto_km_struct.h:178
@ CRYPTO_KLAD_DEST_AIDSP
Definition crypto_km_struct.h:179
@ CRYPTO_KLAD_DEST_MCIPHER
Definition crypto_km_struct.h:175
@ CRYPTO_KLAD_DEST_MAX
Definition crypto_km_struct.h:180
Definition crypto_km_struct.h:125
td_u32 salt_length
Definition crypto_km_struct.h:130
crypto_kdf_hard_alg hard_alg
Definition crypto_km_struct.h:127
td_bool is_oneway
Definition crypto_km_struct.h:131
crypto_kdf_hard_key_size hard_key_size
Definition crypto_km_struct.h:128
td_u8 * salt
Definition crypto_km_struct.h:129
crypto_kdf_hard_key_type hard_key_type
Definition crypto_km_struct.h:126
Keyladder 配置属性。
Definition crypto_km_struct.h:339
td_u32 rkp_sw_cfg
Definition crypto_km_struct.h:346
crypto_klad_key_secure_config key_sec_cfg
Definition crypto_km_struct.h:344
crypto_klad_key_config key_cfg
Definition crypto_km_struct.h:342
crypto_klad_config klad_cfg
Definition crypto_km_struct.h:340
klad送明文key时,明文key的结构。
Definition crypto_km_struct.h:261
td_u8 * key
Definition crypto_km_struct.h:262
crypto_klad_hmac_type hmac_type
Definition crypto_km_struct.h:274
td_u32 key_length
Definition crypto_km_struct.h:264
td_bool key_parity
Definition crypto_km_struct.h:271
Keyladder 根密钥类型选择。
Definition crypto_km_struct.h:286
crypto_kdf_hard_key_type rootkey_type
Definition crypto_km_struct.h:287
Keyladder硬件key参数配置。
Definition crypto_km_struct.h:356
crypto_klad_key_size key_size
Definition crypto_km_struct.h:361
td_u8 * salt
Definition crypto_km_struct.h:362
td_bool oneway
Definition crypto_km_struct.h:367
crypto_kdf_hard_alg kdf_hard_alg
Definition crypto_km_struct.h:357
td_bool key_parity
Definition crypto_km_struct.h:358
td_u32 salt_length
Definition crypto_km_struct.h:365
Keyladder 工作密钥属性配置。
Definition crypto_km_struct.h:297
td_bool encrypt_support
Definition crypto_km_struct.h:302
td_bool decrypt_support
Definition crypto_km_struct.h:300
crypto_klad_engine engine
Definition crypto_km_struct.h:298
key 的安全属性。 当加密工作模式为CBC_MAC时,dest_buf_sec_support和dest_buf_non_sec_support不能同时为false。
Definition crypto_km_struct.h:315
td_bool master_only_enable
Definition crypto_km_struct.h:318
td_bool dest_buf_sec_support
Definition crypto_km_struct.h:322
td_bool src_buf_sec_support
Definition crypto_km_struct.h:326
td_bool dest_buf_non_sec_support
Definition crypto_km_struct.h:324
td_bool key_sec
Definition crypto_km_struct.h:316
td_bool src_buf_non_sec_support
Definition crypto_km_struct.h:328
Session key参数配置。
Definition crypto_km_struct.h:378
crypto_klad_alg_sel alg
Definition crypto_km_struct.h:385
crypto_klad_level_sel level
Definition crypto_km_struct.h:383
td_u32 key_length
Definition crypto_km_struct.h:381
unsigned char td_u8
Definition td_type.h:36
td_u8 td_bool
Definition td_type.h:50
void td_void
Definition td_type.h:49
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44