WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
Hash

结构体

struct  drv_cipher_buf_attr_t
 存储加解密数据的缓冲区属性 更多...
 
struct  drv_cipher_hash_attr_t
 hash 句柄属性 更多...
 

宏定义

#define SHA256_HASH_SIZE   32
 
#define SHA512_HASH_SIZE   64
 
#define SHA256_HASH_SIZE   32
 
#define SHA512_HASH_SIZE   64
 

枚举

enum  drv_cipher_hash_type_t {
  DRV_CIPHER_HASH_TYPE_SHA1 = 0x00 , DRV_CIPHER_HASH_TYPE_SHA224 , DRV_CIPHER_HASH_TYPE_SHA256 , DRV_CIPHER_HASH_TYPE_SHA384 ,
  DRV_CIPHER_HASH_TYPE_SHA512 , DRV_CIPHER_HASH_TYPE_SM3 = 0x10 , DRV_CIPHER_HASH_TYPE_HMAC_SHA1 = 0x20 , DRV_CIPHER_HASH_TYPE_HMAC_SHA224 ,
  DRV_CIPHER_HASH_TYPE_HMAC_SHA256 , DRV_CIPHER_HASH_TYPE_HMAC_SHA384 , DRV_CIPHER_HASH_TYPE_HMAC_SHA512 , DRV_CIPHER_HASH_TYPE_HMAC_SM3 = 0x30 ,
  DRV_CIPHER_HASH_TYPE_MAX , DRV_CIPHER_HASH_TYPE_INVALID = 0xffffffff
}
 hash算法类型 更多...
 
enum  drv_cipher_buffer_secure_t { DRV_CIPHER_BUF_NONSECURE = 0x00 , DRV_CIPHER_BUF_SECURE , DRV_CIPHER_BUF_UNDEFINED , DRV_CIPHER_BUF_INVALID = 0xffffffff }
 定义缓冲区的安全类型 更多...
 
enum  drv_cipher_hash_type_t {
  DRV_CIPHER_HASH_TYPE_SHA1 = 0xf690a0 , DRV_CIPHER_HASH_TYPE_SHA224 = 0x10690e0 , DRV_CIPHER_HASH_TYPE_SHA256 = 0x1169100 , DRV_CIPHER_HASH_TYPE_SHA384 = 0x127a180 ,
  DRV_CIPHER_HASH_TYPE_SHA512 = 0x137a200 , DRV_CIPHER_HASH_TYPE_SM3 = 0x2169100 , DRV_CIPHER_HASH_TYPE_HMAC_SHA1 = 0x10f690a0 , DRV_CIPHER_HASH_TYPE_HMAC_SHA224 = 0x110690e0 ,
  DRV_CIPHER_HASH_TYPE_HMAC_SHA256 = 0x11169100 , DRV_CIPHER_HASH_TYPE_HMAC_SHA384 = 0x1127a180 , DRV_CIPHER_HASH_TYPE_HMAC_SHA512 = 0x1137a200 , DRV_CIPHER_HASH_TYPE_HMAC_SM3 = 0x12169100 ,
  DRV_CIPHER_HASH_TYPE_MAX , DRV_CIPHER_HASH_TYPE_INVALID = 0xffffffff
}
 HASH算法类型 更多...
 
enum  drv_cipher_buffer_secure_t { DRV_CIPHER_BUF_NONSECURE = 0x00 , DRV_CIPHER_BUF_SECURE , DRV_CIPHER_BUF_UNDEFINED , DRV_CIPHER_BUF_INVALID = 0xffffffff }
 定义缓冲区的安全类型 更多...
 

函数

errcode_t uapi_drv_cipher_hash_init (uintptr_t *hhash, const drv_cipher_hash_attr_t *hash_attr, const uintptr_t check_word)
 创建hash句柄,并绑定keyslot通道
 
errcode_t uapi_drv_cipher_hash_update (uintptr_t hhash, const drv_cipher_buf_attr_t *src_buf, const uint32_t len, const uint32_t timeout_ms, const uintptr_t check_word)
 HASH计算
 
errcode_t uapi_drv_cipher_hash_final (uintptr_t hhash, uint8_t *out, uint32_t *out_len, const uintptr_t check_word)
 HASH计算获取摘要信息,并在计算成功的时候销毁hash句柄。
 
errcode_t drv_hash_start (uintptr_t *hhash, const drv_cipher_hash_attr_t *hash_attr)
 创建HASH句柄,并绑定keyslot通道
 
errcode_t drv_hash_update (uintptr_t hhash, const drv_cipher_buf_attr_t *src_buf, const uint32_t len, const uint32_t timeout_ms)
 HASH计算更新
 
errcode_t drv_hash_final (uintptr_t hhash, uint8_t *out, uint32_t *out_len)
 HASH计算获取摘要信息,并在计算成功的时候销毁HASH句柄。
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.

Description: Provides hash driver header file
History:
2022-08-09, Create file.

宏定义说明

◆ SHA256_HASH_SIZE [1/2]

#define SHA256_HASH_SIZE   32

◆ SHA256_HASH_SIZE [2/2]

#define SHA256_HASH_SIZE   32

◆ SHA512_HASH_SIZE [1/2]

#define SHA512_HASH_SIZE   64

◆ SHA512_HASH_SIZE [2/2]

#define SHA512_HASH_SIZE   64

枚举类型说明

◆ drv_cipher_buffer_secure_t [1/2]

定义缓冲区的安全类型

枚举值
DRV_CIPHER_BUF_NONSECURE 
DRV_CIPHER_BUF_SECURE 
DRV_CIPHER_BUF_UNDEFINED 
DRV_CIPHER_BUF_INVALID 

◆ drv_cipher_buffer_secure_t [2/2]

定义缓冲区的安全类型

枚举值
DRV_CIPHER_BUF_NONSECURE 
DRV_CIPHER_BUF_SECURE 
DRV_CIPHER_BUF_UNDEFINED 
DRV_CIPHER_BUF_INVALID 

◆ drv_cipher_hash_type_t [1/2]

HASH算法类型

枚举值
DRV_CIPHER_HASH_TYPE_SHA1 
DRV_CIPHER_HASH_TYPE_SHA224 
DRV_CIPHER_HASH_TYPE_SHA256 
DRV_CIPHER_HASH_TYPE_SHA384 
DRV_CIPHER_HASH_TYPE_SHA512 
DRV_CIPHER_HASH_TYPE_SM3 
DRV_CIPHER_HASH_TYPE_HMAC_SHA1 
DRV_CIPHER_HASH_TYPE_HMAC_SHA224 
DRV_CIPHER_HASH_TYPE_HMAC_SHA256 
DRV_CIPHER_HASH_TYPE_HMAC_SHA384 
DRV_CIPHER_HASH_TYPE_HMAC_SHA512 
DRV_CIPHER_HASH_TYPE_HMAC_SM3 
DRV_CIPHER_HASH_TYPE_MAX 
DRV_CIPHER_HASH_TYPE_INVALID 

◆ drv_cipher_hash_type_t [2/2]

hash算法类型

枚举值
DRV_CIPHER_HASH_TYPE_SHA1 
DRV_CIPHER_HASH_TYPE_SHA224 
DRV_CIPHER_HASH_TYPE_SHA256 
DRV_CIPHER_HASH_TYPE_SHA384 
DRV_CIPHER_HASH_TYPE_SHA512 
DRV_CIPHER_HASH_TYPE_SM3 
DRV_CIPHER_HASH_TYPE_HMAC_SHA1 
DRV_CIPHER_HASH_TYPE_HMAC_SHA224 
DRV_CIPHER_HASH_TYPE_HMAC_SHA256 
DRV_CIPHER_HASH_TYPE_HMAC_SHA384 
DRV_CIPHER_HASH_TYPE_HMAC_SHA512 
DRV_CIPHER_HASH_TYPE_HMAC_SM3 
DRV_CIPHER_HASH_TYPE_MAX 
DRV_CIPHER_HASH_TYPE_INVALID 

函数说明

◆ drv_hash_final()

errcode_t drv_hash_final ( uintptr_t  hhash,
uint8_t *  out,
uint32_t *  out_len 
)

HASH计算获取摘要信息,并在计算成功的时候销毁HASH句柄。

◆ drv_hash_start()

errcode_t drv_hash_start ( uintptr_t hhash,
const drv_cipher_hash_attr_t hash_attr 
)

创建HASH句柄,并绑定keyslot通道

◆ drv_hash_update()

errcode_t drv_hash_update ( uintptr_t  hhash,
const drv_cipher_buf_attr_t src_buf,
const uint32_t  len,
const uint32_t  timeout_ms 
)

HASH计算更新

◆ uapi_drv_cipher_hash_final()

errcode_t uapi_drv_cipher_hash_final ( uintptr_t  hhash,
uint8_t *  out,
uint32_t *  out_len,
const uintptr_t  check_word 
)

HASH计算获取摘要信息,并在计算成功的时候销毁hash句柄。

◆ uapi_drv_cipher_hash_init()

errcode_t uapi_drv_cipher_hash_init ( uintptr_t hhash,
const drv_cipher_hash_attr_t hash_attr,
const uintptr_t  check_word 
)

创建hash句柄,并绑定keyslot通道

◆ uapi_drv_cipher_hash_update()

errcode_t uapi_drv_cipher_hash_update ( uintptr_t  hhash,
const drv_cipher_buf_attr_t src_buf,
const uint32_t  len,
const uint32_t  timeout_ms,
const uintptr_t  check_word 
)

HASH计算