WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
drv_pbkdf2_hard.c 文件参考
#include "drv_hash.h"
#include "drv_inner.h"
#include "drv_trng.h"
#include "hal_hash.h"
#include "hal_rkp.h"
#include "crypto_drv_common.h"
drv_pbkdf2_hard.c 的引用(Include)关系图:

结构体

struct  table_t
 

宏定义

#define PCPU_STAT   0x6a
 
#define AIDSP_STAT   0x35
 
#define TEE_STAT   0xa5
 
#define ACPU_STAT   0xaa
 
#define KM_CPU_PCPU   4
 
#define KM_CPU_AIDSP   5
 
#define KM_CPU_TEE   2
 
#define KM_CPU_REE   1
 
#define KM_CPU_IDLE   0
 
#define PBKDF2_ALG_HMAC_SHA1   1
 
#define PBKDF2_ALG_HMAC_SHA256   0
 
#define PBKDF2_ALG_HMAC_SHA384   3
 
#define PBKDF2_ALG_HMAC_SHA512   4
 
#define PBKDF2_ALG_HMAC_SM3   5
 
#define HMAC_SHA1_OUTPUT_LEN   20
 
#define HMAC_SHA256_OUTPUT_LEN   32
 
#define HMAC_SHA384_OUTPUT_LEN   48
 
#define HMAC_SHA512_OUTPUT_LEN   64
 
#define HMAC_SM3_OUTPUT_LEN   32
 
#define KDF_KEY_BLOCK_SIZE_512   64
 
#define KDF_KEY_BLOCK_SIZE_1024   128
 
#define KDF_KEY_CONFIG_LEN   32
 
#define KDF_SALT_CONFIG_LEN   32
 
#define KDF_VAL_CONFIG_LEN   16
 
#define KDF_ALG_TYPE   5
 
#define DRV_KDF_OTP_KEY_MRK1   0
 
#define DRV_KDF_OTP_KEY_USK   1
 
#define DRV_KDF_OTP_KEY_RUSK   2
 
#define KDF_SW_GEN   3
 
#define RKP_PBKDF2_VAL(b)   (0x200 + 4 * (b)) /* b 0~16 */
 
#define PBKDF2_ALG_HMAC_SHA1   1
 
#define PBKDF2_ALG_HMAC_SHA256   0
 
#define PBKDF2_ALG_HMAC_SHA384   3
 
#define PBKDF2_ALG_HMAC_SHA512   4
 
#define PBKDF2_ALG_HMAC_SM3   5
 

函数

td_s32 drv_cipher_pbkdf2 (const crypto_kdf_pbkdf2_param *param, td_u8 *out, const td_u32 out_len)
 

宏定义说明

◆ ACPU_STAT

#define ACPU_STAT   0xaa

◆ AIDSP_STAT

#define AIDSP_STAT   0x35

◆ DRV_KDF_OTP_KEY_MRK1

#define DRV_KDF_OTP_KEY_MRK1   0

◆ DRV_KDF_OTP_KEY_RUSK

#define DRV_KDF_OTP_KEY_RUSK   2

◆ DRV_KDF_OTP_KEY_USK

#define DRV_KDF_OTP_KEY_USK   1

◆ HMAC_SHA1_OUTPUT_LEN

#define HMAC_SHA1_OUTPUT_LEN   20

◆ HMAC_SHA256_OUTPUT_LEN

#define HMAC_SHA256_OUTPUT_LEN   32

◆ HMAC_SHA384_OUTPUT_LEN

#define HMAC_SHA384_OUTPUT_LEN   48

◆ HMAC_SHA512_OUTPUT_LEN

#define HMAC_SHA512_OUTPUT_LEN   64

◆ HMAC_SM3_OUTPUT_LEN

#define HMAC_SM3_OUTPUT_LEN   32

◆ KDF_ALG_TYPE

#define KDF_ALG_TYPE   5

◆ KDF_KEY_BLOCK_SIZE_1024

#define KDF_KEY_BLOCK_SIZE_1024   128

◆ KDF_KEY_BLOCK_SIZE_512

#define KDF_KEY_BLOCK_SIZE_512   64

◆ KDF_KEY_CONFIG_LEN

#define KDF_KEY_CONFIG_LEN   32

◆ KDF_SALT_CONFIG_LEN

#define KDF_SALT_CONFIG_LEN   32

◆ KDF_SW_GEN

#define KDF_SW_GEN   3

◆ KDF_VAL_CONFIG_LEN

#define KDF_VAL_CONFIG_LEN   16

◆ KM_CPU_AIDSP

#define KM_CPU_AIDSP   5

◆ KM_CPU_IDLE

#define KM_CPU_IDLE   0

◆ KM_CPU_PCPU

#define KM_CPU_PCPU   4

◆ KM_CPU_REE

#define KM_CPU_REE   1

◆ KM_CPU_TEE

#define KM_CPU_TEE   2

◆ PBKDF2_ALG_HMAC_SHA1 [1/2]

#define PBKDF2_ALG_HMAC_SHA1   1

◆ PBKDF2_ALG_HMAC_SHA1 [2/2]

#define PBKDF2_ALG_HMAC_SHA1   1

◆ PBKDF2_ALG_HMAC_SHA256 [1/2]

#define PBKDF2_ALG_HMAC_SHA256   0

◆ PBKDF2_ALG_HMAC_SHA256 [2/2]

#define PBKDF2_ALG_HMAC_SHA256   0

◆ PBKDF2_ALG_HMAC_SHA384 [1/2]

#define PBKDF2_ALG_HMAC_SHA384   3

◆ PBKDF2_ALG_HMAC_SHA384 [2/2]

#define PBKDF2_ALG_HMAC_SHA384   3

◆ PBKDF2_ALG_HMAC_SHA512 [1/2]

#define PBKDF2_ALG_HMAC_SHA512   4

◆ PBKDF2_ALG_HMAC_SHA512 [2/2]

#define PBKDF2_ALG_HMAC_SHA512   4

◆ PBKDF2_ALG_HMAC_SM3 [1/2]

#define PBKDF2_ALG_HMAC_SM3   5

◆ PBKDF2_ALG_HMAC_SM3 [2/2]

#define PBKDF2_ALG_HMAC_SM3   5

◆ PCPU_STAT

#define PCPU_STAT   0x6a

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved. Description: key derivation algorithm of pbkdf2 implementation.

Create: 2023-05-26

◆ RKP_PBKDF2_VAL

#define RKP_PBKDF2_VAL (   b)    (0x200 + 4 * (b)) /* b 0~16 */

◆ TEE_STAT

#define TEE_STAT   0xa5

函数说明

◆ drv_cipher_pbkdf2()

td_s32 drv_cipher_pbkdf2 ( const crypto_kdf_pbkdf2_param param,
td_u8 out,
const td_u32  out_len 
)