WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
drv_pke_rsa.c 文件参考
#include "hal_pke.h"
#include "drv_pke_inner.h"
#include "drv_pke.h"
#include "crypto_hash_struct.h"
#include "drv_hash.h"
#include "drv_trng.h"
#include "crypto_drv_common.h"
#include "drv_common_pke.h"
#include "drv_pke_cal.h"
#include "rsa.h"
drv_pke_rsa.c 的引用(Include)关系图:

结构体

struct  pkcs1_hash_t
 

宏定义

#define RANDOM_TRY_TIME   100
 
#define RSA_GEN_KEY_WAIT_TIMES   10
 
#define RSA_GEN_KEY_TRY_TIMES   10
 
#define pke_null_ptr_chk(ptr)    crypto_chk_return((ptr) == TD_NULL, PKE_COMPAT_ERRNO(ERROR_PARAM_IS_NULL), #ptr" is NULL\n")
 

函数

CRYPTO_STATIC td_s32 pke_dh_check_pub_key (const drv_pke_data *mod_n, const drv_pke_data *input_pub_key)
 
td_s32 drv_cipher_pke_rsa_sign (const drv_pke_rsa_priv_key *priv_key, const drv_pke_rsa_scheme scheme, const drv_pke_hash_type hash_type, const drv_pke_data *input_hash, const drv_pke_data *sign)
 
td_s32 drv_cipher_pke_rsa_verify (const drv_pke_rsa_pub_key *pub_key, drv_pke_rsa_scheme scheme, const drv_pke_hash_type hash_type, const drv_pke_data *input_hash, const drv_pke_data *sign)
 
td_s32 drv_cipher_pke_rsa_public_encrypt (const drv_pke_rsa_scheme scheme, const drv_pke_hash_type hash_type, const drv_pke_rsa_pub_key *pub_key, const drv_pke_data *input, const drv_pke_data *label, drv_pke_data *output)
 
td_s32 drv_cipher_pke_rsa_private_decrypt (const drv_pke_rsa_scheme scheme, const drv_pke_hash_type hash_type, const drv_pke_rsa_priv_key *priv_key, const drv_pke_data *input, const drv_pke_data *label, drv_pke_data *output)
 
td_s32 drv_cipher_pke_dh_gen_key (const drv_pke_data *g_data, const drv_pke_data *mod_n, const drv_pke_data *input_priv_key, const drv_pke_data *output_priv_key, const drv_pke_data *output_pub_key)
 
td_s32 drv_cipher_pke_dh_compute_key (const drv_pke_data *mod_n, const drv_pke_data *input_priv_key, const drv_pke_data *input_pub_key, const drv_pke_data *output_shared_key)
 

宏定义说明

◆ pke_null_ptr_chk

#define pke_null_ptr_chk (   ptr)     crypto_chk_return((ptr) == TD_NULL, PKE_COMPAT_ERRNO(ERROR_PARAM_IS_NULL), #ptr" is NULL\n")

◆ RANDOM_TRY_TIME

#define RANDOM_TRY_TIME   100

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved. Description: rsa sign/verify/crypto algorithm implementation.

Create: 2023-05-27

◆ RSA_GEN_KEY_TRY_TIMES

#define RSA_GEN_KEY_TRY_TIMES   10

◆ RSA_GEN_KEY_WAIT_TIMES

#define RSA_GEN_KEY_WAIT_TIMES   10

函数说明

◆ drv_cipher_pke_dh_compute_key()

td_s32 drv_cipher_pke_dh_compute_key ( const drv_pke_data mod_n,
const drv_pke_data input_priv_key,
const drv_pke_data input_pub_key,
const drv_pke_data output_shared_key 
)

◆ drv_cipher_pke_dh_gen_key()

td_s32 drv_cipher_pke_dh_gen_key ( const drv_pke_data g_data,
const drv_pke_data mod_n,
const drv_pke_data input_priv_key,
const drv_pke_data output_priv_key,
const drv_pke_data output_pub_key 
)

◆ drv_cipher_pke_rsa_private_decrypt()

td_s32 drv_cipher_pke_rsa_private_decrypt ( const drv_pke_rsa_scheme  scheme,
const drv_pke_hash_type  hash_type,
const drv_pke_rsa_priv_key priv_key,
const drv_pke_data input,
const drv_pke_data label,
drv_pke_data output 
)

◆ drv_cipher_pke_rsa_public_encrypt()

td_s32 drv_cipher_pke_rsa_public_encrypt ( const drv_pke_rsa_scheme  scheme,
const drv_pke_hash_type  hash_type,
const drv_pke_rsa_pub_key pub_key,
const drv_pke_data input,
const drv_pke_data label,
drv_pke_data output 
)

◆ drv_cipher_pke_rsa_sign()

td_s32 drv_cipher_pke_rsa_sign ( const drv_pke_rsa_priv_key priv_key,
const drv_pke_rsa_scheme  scheme,
const drv_pke_hash_type  hash_type,
const drv_pke_data input_hash,
const drv_pke_data sign 
)

◆ drv_cipher_pke_rsa_verify()

td_s32 drv_cipher_pke_rsa_verify ( const drv_pke_rsa_pub_key pub_key,
drv_pke_rsa_scheme  scheme,
const drv_pke_hash_type  hash_type,
const drv_pke_data input_hash,
const drv_pke_data sign 
)

◆ pke_dh_check_pub_key()

CRYPTO_STATIC td_s32 pke_dh_check_pub_key ( const drv_pke_data mod_n,
const drv_pke_data input_pub_key 
)