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

结构体

struct  uapi_drv_cipher_buf_attr
 缓冲区的属性结构体 更多...
 
struct  uapi_drv_cipher_symc_attr_t
 对称加密参数属性结构体 更多...
 
struct  uapi_drv_cipher_symc_config_aes_ccm_gcm_t
 CCM和GCM工作模式的参数结构体 更多...
 
struct  uapi_drv_cipher_symc_ctrl_t
 对称加密算法的参数 更多...
 
struct  uapi_drv_cipher_symc_mac_attr_t
 Attribute structure of cbc_mac and cmac 更多...
 
struct  uapi_drv_hash_attr
 hash通道及算法参数结构体 更多...
 
struct  uapi_drv_cipher_hash_clone_ctx
 hash计算中间结果结构体 更多...
 
struct  uapi_drv_cipher_kdf_pbkdf2_param_t
 PBKDF2算法的参数结构体 更多...
 
struct  uapi_drv_cipher_hkdf_extract_t
 密钥提取的参数结构体 更多...
 
struct  uapi_drv_cipher_hkdf_expand_t
 密钥拓展的参数结构体 更多...
 
struct  uapi_drv_cipher_hkdf_t
 HKDF参数结构体 更多...
 

宏定义

#define UAPI_DRV_CIPHER_IV_LEN_IN_BYTES   16
 
#define UAPI_DRV_CIPHER_HASH_RESULT_SIZE_MAX_IN_WORD   16
 
#define UAPI_DRV_CIPHER_HASH_BLOCK_SIZE_MAX   128
 

类型定义

typedef enum uapi_drv_cipher_buffer_secure uapi_drv_cipher_buffer_secure_t
 缓冲区的安全属性选择
 
typedef enum uapi_drv_hash_type uapi_drv_cipher_hash_type_t
 hash算法类型
 
typedef struct uapi_drv_cipher_buf_attr uapi_drv_cipher_buf_attr_t
 缓冲区的属性结构体
 
typedef struct uapi_drv_hash_attr uapi_drv_cipher_hash_attr_t
 hash通道及算法参数结构体
 
typedef struct uapi_drv_cipher_hash_clone_ctx uapi_drv_cipher_hash_clone_ctx_t
 hash计算中间结果结构体
 

枚举

enum  uapi_drv_cipher_symc_type_t { UAPI_DRV_CIPHER_SYMC_TYPE_NORMAL = 0x0 , UAPI_DRV_CIPHER_SYMC_TYPE_REG , UAPI_DRV_CIPHER_SYMC_TYPE_MAX , UAPI_DRV_CIPHER_SYMC_TYPE_INVALID = 0xffffffff }
 对称加密通道类型 更多...
 
enum  uapi_drv_cipher_symc_alg_t {
  UAPI_DRV_CIPHER_SYMC_ALG_TDES = 0x0 , UAPI_DRV_CIPHER_SYMC_ALG_AES = 0x1 , UAPI_DRV_CIPHER_SYMC_ALG_SM4 = 0x2 , UAPI_DRV_CIPHER_SYMC_ALG_LEA = 0x3 ,
  UAPI_DRV_CIPHER_SYMC_ALG_DMA = 0x4 , UAPI_DRV_CIPHER_SYMC_ALG_MAX , UAPI_DRV_CIPHER_SYMC_ALG_INVALID = 0xffffffff
}
 对称加密算法类型 更多...
 
enum  uapi_drv_cipher_symc_work_mode_t {
  UAPI_DRV_CIPHER_SYMC_WORK_MODE_ECB = 0x0 , UAPI_DRV_CIPHER_SYMC_WORK_MODE_CBC , UAPI_DRV_CIPHER_SYMC_WORK_MODE_CTR , UAPI_DRV_CIPHER_SYMC_WORK_MODE_OFB ,
  UAPI_DRV_CIPHER_SYMC_WORK_MODE_CFB , UAPI_DRV_CIPHER_SYMC_WORK_MODE_CCM , UAPI_DRV_CIPHER_SYMC_WORK_MODE_GCM , UAPI_DRV_CIPHER_SYMC_WORK_MODE_CBC_MAC ,
  UAPI_DRV_CIPHER_SYMC_WORK_MODE_CMAC , UAPI_DRV_CIPHER_SYMC_WORK_MODE_MAX , UAPI_DRV_CIPHER_SYMC_WORK_MODE_INVALID = 0xffffffff
}
 对称加密算法工作模式 更多...
 
enum  uapi_drv_cipher_symc_key_length_t {
  UAPI_DRV_CIPHER_SYMC_KEY_64BIT = 0x0 , UAPI_DRV_CIPHER_SYMC_KEY_128BIT = 0x1 , UAPI_DRV_CIPHER_SYMC_KEY_192BIT = 0x2 , UAPI_DRV_CIPHER_SYMC_KEY_256BIT = 0x3 ,
  UAPI_DRV_CIPHER_SYMC_KEY_LENGTH_MAX , UAPI_DRV_CIPHER_SYMC_KEY_LENGTH_INVALID = 0xffffffff
}
 对称加密密钥长度 更多...
 
enum  uapi_drv_cipher_symc_key_parity_t { UAPI_DRV_CIPHER_SYMC_KEY_EVEN = 0x0 , UAPI_DRV_CIPHER_SYMC_KEY_ODD = 0x1 , UAPI_DRV_CIPHER_SYMC_KEY_PARITY_MAX , UAPI_DRV_CIPHER_SYMC_KEY_PARITY_INVALID = 0xffffffff }
 对称算法密钥奇偶性 更多...
 
enum  uapi_drv_cipher_symc_bit_width_t {
  UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_1BIT = 0x0 , UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_8BIT = 0x1 , UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_64BIT = 0x2 , UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_128BIT = 0x3 ,
  UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_MAX , UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_INVALID = 0xffffffff
}
 对称算法密钥位宽 更多...
 
enum  uapi_drv_cipher_symc_iv_change_type_t {
  UAPI_DRV_CIPHER_SYMC_IV_DO_NOT_CHANGE = 0 , UAPI_DRV_CIPHER_SYMC_IV_CHANGE_ONE_PKG , UAPI_DRV_CIPHER_SYMC_IV_CHANGE_ALL_PKG , UAPI_DRV_CIPHER_SYMC_GCM_IV_DO_NOT_CHANGE ,
  UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_START , UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_UPDATE , UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_FINISH , UAPI_DRV_CIPHER_SYMC_CCM_IV_DO_NOT_CHANGE ,
  UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_START , UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_UPDATE , UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_FINISH , UAPI_DRV_CIPHER_SYMC_IV_CHANGE_MAX ,
  UAPI_DRV_CIPHER_SYMC_IV_CHANGE_INVALID = 0xffffffff
}
 对称算法初始值标志 更多...
 
enum  uapi_drv_cipher_buffer_secure { UAPI_DRV_CIPHER_BUF_NONSECURE , UAPI_DRV_CIPHER_BUF_SECURE }
 缓冲区的安全属性选择 更多...
 
enum  uapi_drv_hash_type {
  UAPI_DRV_CIPHER_HASH_TYPE_SHA1 = 0xf690a0 , UAPI_DRV_CIPHER_HASH_TYPE_SHA224 = 0x10690e0 , UAPI_DRV_CIPHER_HASH_TYPE_SHA256 = 0x1169100 , UAPI_DRV_CIPHER_HASH_TYPE_SHA384 = 0x127a180 ,
  UAPI_DRV_CIPHER_HASH_TYPE_SHA512 = 0x137a200 , UAPI_DRV_CIPHER_HASH_TYPE_SM3 = 0x2169100 , UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA1 = 0x10f690a0 , UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA224 = 0x110690e0 ,
  UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA256 = 0x11169100 , UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA384 = 0x1127a180 , UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA512 = 0x1137a200 , UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SM3 = 0x12169100 ,
  UAPI_DRV_CIPHER_HASH_TYPE_INVALID = 0xffffffff
}
 hash算法类型 更多...
 

函数

errcode_t uapi_drv_cipher_symc_init (void)
 对称加密初始化。
 
errcode_t uapi_drv_cipher_symc_deinit (void)
 对称加密去初始化。
 
errcode_t uapi_drv_cipher_symc_create (uint32_t *symc_handle, const uapi_drv_cipher_symc_attr_t *symc_attr)
 创建symc通道,并设置symc通道属性参数。
 
errcode_t uapi_drv_cipher_symc_destroy (uint32_t symc_handle)
 销毁symc通道。
 
errcode_t uapi_drv_cipher_symc_set_config (uint32_t symc_handle, const uapi_drv_cipher_symc_ctrl_t *symc_ctrl)
 设置算法参数。
 
errcode_t uapi_drv_cipher_symc_get_config (uint32_t symc_handle, const uapi_drv_cipher_symc_ctrl_t *symc_ctrl)
 获取算法参数。
 
errcode_t uapi_drv_cipher_symc_attach (uint32_t symc_handle, uint32_t keyslot_handle)
 将key的句柄关联到加解密句柄。
 
errcode_t uapi_drv_cipher_symc_detach (uint32_t symc_handle, uint32_t keyslot_handle)
 将key的句柄和加解密句柄解关联。
 
errcode_t uapi_drv_cipher_symc_encrypt (uint32_t symc_handle, const uapi_drv_cipher_buf_attr_t *src_buf, const uapi_drv_cipher_buf_attr_t *dst_buf, uint32_t length)
 将源地址数据加密,输出到目的地址。
 
errcode_t uapi_drv_cipher_symc_decrypt (uint32_t symc_handle, const uapi_drv_cipher_buf_attr_t *src_buf, const uapi_drv_cipher_buf_attr_t *dst_buf, uint32_t length)
 将源地址数据解密,输出到目的地址。
 
errcode_t uapi_drv_cipher_symc_get_tag (uint32_t symc_handle, uint8_t *tag, uint32_t tag_length)
 获取CCM或者GCM模式的标签值。
 
errcode_t uapi_drv_cipher_mac_start (uint32_t *symc_handle, const uapi_drv_cipher_symc_mac_attr_t *mac_attr)
 创建symc通道,并设置symc通道及算法参数。
 
errcode_t uapi_drv_cipher_mac_update (uint32_t symc_handle, const uapi_drv_cipher_buf_attr_t *src_buf, uint32_t length)
 计算mac值
 
errcode_t uapi_drv_cipher_mac_finish (uint32_t symc_handle, uint8_t *mac, uint32_t *mac_length)
 计算mac值
 
errcode_t uapi_drv_cipher_hash_init (void)
 Hash计算初始化。
 
errcode_t uapi_drv_cipher_hash_deinit (void)
 Hash计算去初始化。
 
errcode_t uapi_drv_cipher_hash_start (uint32_t *hash_handle, const uapi_drv_cipher_hash_attr_t *hash_attr)
 创建hash通道,并设置hash通道及算法参数。
 
errcode_t uapi_drv_cipher_hash_update (uint32_t hash_handle, const uapi_drv_cipher_buf_attr_t *src_buf, const uint32_t len)
 hash计算
 
errcode_t uapi_drv_cipher_hash_finish (uint32_t hash_handle, uint8_t *out, uint32_t *out_len)
 HASH计算获取摘要信息,并在计算成功的时候销毁hash句柄。
 
errcode_t uapi_drv_cipher_hash_get (uint32_t hash_handle, uapi_drv_cipher_hash_clone_ctx_t *hash_clone_ctx)
 获取HASH计算中间结果。
 
errcode_t uapi_drv_cipher_hash_set (uint32_t hash_handle, const uapi_drv_cipher_hash_clone_ctx_t *hash_clone_ctx)
 设置HASH计算中间结果。
 
errcode_t uapi_drv_cipher_hash_destroy (uint32_t hash_handle)
 销毁hash通道。
 
errcode_t uapi_drv_cipher_pbkdf2 (const uapi_drv_cipher_kdf_pbkdf2_param_t *param, uint8_t *out, const uint32_t out_len)
 PBKDF2算法派生秘钥。
 
errcode_t uapi_drv_cipher_hkdf_extract (uapi_drv_cipher_hkdf_extract_t *extract_param, uint8_t *prk, uint32_t *prk_length)
 提取密钥。
 
errcode_t uapi_drv_cipher_hkdf_expand (const uapi_drv_cipher_hkdf_expand_t *expand_param, uint8_t *okm, uint32_t okm_length)
 拓展密钥。
 
errcode_t uapi_drv_cipher_hkdf (uapi_drv_cipher_hkdf_t *hkdf_param, uint8_t *okm, uint32_t okm_length)
 HKDF,包括提取密钥和拓展密钥两步。
 

详细描述

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

Description: Provides cipher driver header
History:
2023-03-14, Create file.

宏定义说明

◆ UAPI_DRV_CIPHER_HASH_BLOCK_SIZE_MAX

#define UAPI_DRV_CIPHER_HASH_BLOCK_SIZE_MAX   128

◆ UAPI_DRV_CIPHER_HASH_RESULT_SIZE_MAX_IN_WORD

#define UAPI_DRV_CIPHER_HASH_RESULT_SIZE_MAX_IN_WORD   16

◆ UAPI_DRV_CIPHER_IV_LEN_IN_BYTES

#define UAPI_DRV_CIPHER_IV_LEN_IN_BYTES   16

类型定义说明

◆ uapi_drv_cipher_buf_attr_t

缓冲区的属性结构体

◆ uapi_drv_cipher_buffer_secure_t

缓冲区的安全属性选择

◆ uapi_drv_cipher_hash_attr_t

hash通道及算法参数结构体

◆ uapi_drv_cipher_hash_clone_ctx_t

hash计算中间结果结构体

◆ uapi_drv_cipher_hash_type_t

hash算法类型

枚举类型说明

◆ uapi_drv_cipher_buffer_secure

缓冲区的安全属性选择

枚举值
UAPI_DRV_CIPHER_BUF_NONSECURE 
UAPI_DRV_CIPHER_BUF_SECURE 

◆ uapi_drv_cipher_symc_alg_t

对称加密算法类型

枚举值
UAPI_DRV_CIPHER_SYMC_ALG_TDES 
UAPI_DRV_CIPHER_SYMC_ALG_AES 
UAPI_DRV_CIPHER_SYMC_ALG_SM4 
UAPI_DRV_CIPHER_SYMC_ALG_LEA 
UAPI_DRV_CIPHER_SYMC_ALG_DMA 
UAPI_DRV_CIPHER_SYMC_ALG_MAX 
UAPI_DRV_CIPHER_SYMC_ALG_INVALID 

◆ uapi_drv_cipher_symc_bit_width_t

对称算法密钥位宽

枚举值
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_1BIT 
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_8BIT 
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_64BIT 
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_128BIT 
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_MAX 
UAPI_DRV_CIPHER_SYMC_BIT_WIDTH_INVALID 

◆ uapi_drv_cipher_symc_iv_change_type_t

对称算法初始值标志

枚举值
UAPI_DRV_CIPHER_SYMC_IV_DO_NOT_CHANGE 
UAPI_DRV_CIPHER_SYMC_IV_CHANGE_ONE_PKG 
UAPI_DRV_CIPHER_SYMC_IV_CHANGE_ALL_PKG 
UAPI_DRV_CIPHER_SYMC_GCM_IV_DO_NOT_CHANGE 
UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_START 
UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_UPDATE 
UAPI_DRV_CIPHER_SYMC_GCM_IV_CHANGE_FINISH 
UAPI_DRV_CIPHER_SYMC_CCM_IV_DO_NOT_CHANGE 
UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_START 
UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_UPDATE 
UAPI_DRV_CIPHER_SYMC_CCM_IV_CHANGE_FINISH 
UAPI_DRV_CIPHER_SYMC_IV_CHANGE_MAX 
UAPI_DRV_CIPHER_SYMC_IV_CHANGE_INVALID 

◆ uapi_drv_cipher_symc_key_length_t

对称加密密钥长度

枚举值
UAPI_DRV_CIPHER_SYMC_KEY_64BIT 
UAPI_DRV_CIPHER_SYMC_KEY_128BIT 
UAPI_DRV_CIPHER_SYMC_KEY_192BIT 
UAPI_DRV_CIPHER_SYMC_KEY_256BIT 
UAPI_DRV_CIPHER_SYMC_KEY_LENGTH_MAX 
UAPI_DRV_CIPHER_SYMC_KEY_LENGTH_INVALID 

◆ uapi_drv_cipher_symc_key_parity_t

对称算法密钥奇偶性

枚举值
UAPI_DRV_CIPHER_SYMC_KEY_EVEN 
UAPI_DRV_CIPHER_SYMC_KEY_ODD 
UAPI_DRV_CIPHER_SYMC_KEY_PARITY_MAX 
UAPI_DRV_CIPHER_SYMC_KEY_PARITY_INVALID 

◆ uapi_drv_cipher_symc_type_t

对称加密通道类型

枚举值
UAPI_DRV_CIPHER_SYMC_TYPE_NORMAL 
UAPI_DRV_CIPHER_SYMC_TYPE_REG 
UAPI_DRV_CIPHER_SYMC_TYPE_MAX 
UAPI_DRV_CIPHER_SYMC_TYPE_INVALID 

◆ uapi_drv_cipher_symc_work_mode_t

对称加密算法工作模式

枚举值
UAPI_DRV_CIPHER_SYMC_WORK_MODE_ECB 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CBC 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CTR 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_OFB 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CFB 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CCM 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_GCM 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CBC_MAC 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_CMAC 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_MAX 
UAPI_DRV_CIPHER_SYMC_WORK_MODE_INVALID 

◆ uapi_drv_hash_type

hash算法类型

枚举值
UAPI_DRV_CIPHER_HASH_TYPE_SHA1 
UAPI_DRV_CIPHER_HASH_TYPE_SHA224 
UAPI_DRV_CIPHER_HASH_TYPE_SHA256 
UAPI_DRV_CIPHER_HASH_TYPE_SHA384 
UAPI_DRV_CIPHER_HASH_TYPE_SHA512 
UAPI_DRV_CIPHER_HASH_TYPE_SM3 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA1 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA224 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA256 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA384 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SHA512 
UAPI_DRV_CIPHER_HASH_TYPE_HMAC_SM3 
UAPI_DRV_CIPHER_HASH_TYPE_INVALID 

函数说明

◆ uapi_drv_cipher_hash_deinit()

errcode_t uapi_drv_cipher_hash_deinit ( void  )

Hash计算去初始化。

◆ uapi_drv_cipher_hash_destroy()

errcode_t uapi_drv_cipher_hash_destroy ( uint32_t  hash_handle)

销毁hash通道。

◆ uapi_drv_cipher_hash_finish()

errcode_t uapi_drv_cipher_hash_finish ( uint32_t  hash_handle,
uint8_t *  out,
uint32_t *  out_len 
)

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

◆ uapi_drv_cipher_hash_get()

errcode_t uapi_drv_cipher_hash_get ( uint32_t  hash_handle,
uapi_drv_cipher_hash_clone_ctx_t hash_clone_ctx 
)

获取HASH计算中间结果。

◆ uapi_drv_cipher_hash_init()

errcode_t uapi_drv_cipher_hash_init ( void  )

Hash计算初始化。

◆ uapi_drv_cipher_hash_set()

errcode_t uapi_drv_cipher_hash_set ( uint32_t  hash_handle,
const uapi_drv_cipher_hash_clone_ctx_t hash_clone_ctx 
)

设置HASH计算中间结果。

◆ uapi_drv_cipher_hash_start()

errcode_t uapi_drv_cipher_hash_start ( uint32_t *  hash_handle,
const uapi_drv_cipher_hash_attr_t hash_attr 
)

创建hash通道,并设置hash通道及算法参数。

◆ uapi_drv_cipher_hash_update()

errcode_t uapi_drv_cipher_hash_update ( uint32_t  hash_handle,
const uapi_drv_cipher_buf_attr_t src_buf,
const uint32_t  len 
)

hash计算

◆ uapi_drv_cipher_hkdf()

errcode_t uapi_drv_cipher_hkdf ( uapi_drv_cipher_hkdf_t hkdf_param,
uint8_t *  okm,
uint32_t  okm_length 
)

HKDF,包括提取密钥和拓展密钥两步。

◆ uapi_drv_cipher_hkdf_expand()

errcode_t uapi_drv_cipher_hkdf_expand ( const uapi_drv_cipher_hkdf_expand_t expand_param,
uint8_t *  okm,
uint32_t  okm_length 
)

拓展密钥。

◆ uapi_drv_cipher_hkdf_extract()

errcode_t uapi_drv_cipher_hkdf_extract ( uapi_drv_cipher_hkdf_extract_t extract_param,
uint8_t *  prk,
uint32_t *  prk_length 
)

提取密钥。

◆ uapi_drv_cipher_mac_finish()

errcode_t uapi_drv_cipher_mac_finish ( uint32_t  symc_handle,
uint8_t *  mac,
uint32_t *  mac_length 
)

计算mac值

◆ uapi_drv_cipher_mac_start()

errcode_t uapi_drv_cipher_mac_start ( uint32_t *  symc_handle,
const uapi_drv_cipher_symc_mac_attr_t mac_attr 
)

创建symc通道,并设置symc通道及算法参数。

◆ uapi_drv_cipher_mac_update()

errcode_t uapi_drv_cipher_mac_update ( uint32_t  symc_handle,
const uapi_drv_cipher_buf_attr_t src_buf,
uint32_t  length 
)

计算mac值

◆ uapi_drv_cipher_pbkdf2()

errcode_t uapi_drv_cipher_pbkdf2 ( const uapi_drv_cipher_kdf_pbkdf2_param_t param,
uint8_t *  out,
const uint32_t  out_len 
)

PBKDF2算法派生秘钥。

◆ uapi_drv_cipher_symc_attach()

errcode_t uapi_drv_cipher_symc_attach ( uint32_t  symc_handle,
uint32_t  keyslot_handle 
)

将key的句柄关联到加解密句柄。

◆ uapi_drv_cipher_symc_create()

errcode_t uapi_drv_cipher_symc_create ( uint32_t *  symc_handle,
const uapi_drv_cipher_symc_attr_t symc_attr 
)

创建symc通道,并设置symc通道属性参数。

◆ uapi_drv_cipher_symc_decrypt()

errcode_t uapi_drv_cipher_symc_decrypt ( uint32_t  symc_handle,
const uapi_drv_cipher_buf_attr_t src_buf,
const uapi_drv_cipher_buf_attr_t dst_buf,
uint32_t  length 
)

将源地址数据解密,输出到目的地址。

◆ uapi_drv_cipher_symc_deinit()

errcode_t uapi_drv_cipher_symc_deinit ( void  )

对称加密去初始化。

◆ uapi_drv_cipher_symc_destroy()

errcode_t uapi_drv_cipher_symc_destroy ( uint32_t  symc_handle)

销毁symc通道。

◆ uapi_drv_cipher_symc_detach()

errcode_t uapi_drv_cipher_symc_detach ( uint32_t  symc_handle,
uint32_t  keyslot_handle 
)

将key的句柄和加解密句柄解关联。

◆ uapi_drv_cipher_symc_encrypt()

errcode_t uapi_drv_cipher_symc_encrypt ( uint32_t  symc_handle,
const uapi_drv_cipher_buf_attr_t src_buf,
const uapi_drv_cipher_buf_attr_t dst_buf,
uint32_t  length 
)

将源地址数据加密,输出到目的地址。

◆ uapi_drv_cipher_symc_get_config()

errcode_t uapi_drv_cipher_symc_get_config ( uint32_t  symc_handle,
const uapi_drv_cipher_symc_ctrl_t symc_ctrl 
)

获取算法参数。

◆ uapi_drv_cipher_symc_get_tag()

errcode_t uapi_drv_cipher_symc_get_tag ( uint32_t  symc_handle,
uint8_t *  tag,
uint32_t  tag_length 
)

获取CCM或者GCM模式的标签值。

◆ uapi_drv_cipher_symc_init()

errcode_t uapi_drv_cipher_symc_init ( void  )

对称加密初始化。

◆ uapi_drv_cipher_symc_set_config()

errcode_t uapi_drv_cipher_symc_set_config ( uint32_t  symc_handle,
const uapi_drv_cipher_symc_ctrl_t symc_ctrl 
)

设置算法参数。