接口函数
API | 芯片 | |
---|---|---|
GR551x | GR5526 | |
app_pkc_init |
Y |
Y |
app_pkc_deinit |
Y |
Y |
app_pkc_ecc_point_multi_sync |
Y |
Y |
app_pkc_ecc_point_multi_async |
Y |
Y |
app_pkc_modular_add_sync |
Y |
Y |
app_pkc_modular_add_async |
Y |
Y |
app_pkc_modular_sub_sync |
Y |
Y |
app_pkc_modular_sub_async |
Y |
Y |
app_pkc_modular_left_shift_sync |
Y |
Y |
app_pkc_modular_left_shift_async |
Y |
Y |
app_pkc_modular_compare_sync |
Y |
Y |
app_pkc_modular_compare_async |
Y |
Y |
app_pkc_montgomery_multi_sync |
Y |
Y |
app_pkc_montgomery_multi_async |
Y |
Y |
app_pkc_montgomery_inversion_sync |
Y |
Y |
app_pkc_montgomery_inversion_async |
Y |
Y |
app_pkc_big_number_multi_sync |
Y |
Y |
app_pkc_big_number_multi_async |
Y |
Y |
app_pkc_big_number_add_sync |
Y |
Y |
app_pkc_big_number_add_async |
Y |
Y |
app_pkc_get_handle |
Y |
Y |
app_pkc_init
函数原型 | uint16_t app_pkc_init(app_pkc_params_t *p_params, app_pkc_evt_handler_t evt_handler); |
---|---|
功能说明 | 根据初始化参数初始化PKC模块 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 回调函数形式参照typedef void (*app_pkc_evt_handler_t)(app_pkc_evt_t *p_evt); HAL层已经实现中断标志位的清理,用户不用关心中断标志的清理。 |
app_pkc_deinit
函数原型 | uint16_t app_pkc_deinit(void); |
---|---|
功能说明 | 反初始化PKC模块 |
输入参数 | 无 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_ecc_point_multi_sync
函数原型 | uint16_t app_pkc_ecc_point_multi_sync(app_pkc_ecc_point_multi_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式椭圆曲线的标量乘法计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 椭圆曲线的标量乘法计算仅支持P256椭圆曲线;调用此函数需要在初始化时指定生成随机数的函数指针 |
app_pkc_ecc_point_multi_async
函数原型 | uint16_t app_pkc_ecc_point_multi_async(app_pkc_ecc_point_multi_t *p_input); |
---|---|
功能说明 | 异步(中断)模式椭圆曲线的标量乘法计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 椭圆曲线的标量乘法计算仅支持P256椭圆曲线;调用此函数需要在初始化时指定生成随机数的函数指针 |
app_pkc_modular_add_sync
函数原型 | uint16_t app_pkc_modular_add_sync(app_pkc_modular_add_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式模加计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_add_async
函数原型 | uint16_t app_pkc_modular_add_async(app_pkc_modular_add_t *p_input); |
---|---|
功能说明 | 异步(中断)模式模加计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_sub_sync
函数原型 | uint16_t app_pkc_modular_sub_sync(app_pkc_modular_sub_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式模减计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_sub_async
函数原型 | uint16_t app_pkc_modular_sub_async(app_pkc_modular_sub_t *p_input); |
---|---|
功能说明 | 异步(中断)模式模减计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_left_shift_sync
函数原型 | uint16_t app_pkc_modular_left_shift_sync(app_pkc_modular_shift_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式模左移计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_left_shift_async
函数原型 | uint16_t app_pkc_modular_left_shift_async(app_pkc_modular_shift_t *p_input); |
---|---|
功能说明 | 异步(中断)模式模左移计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_compare_sync
函数原型 | uint16_t app_pkc_modular_compare_sync(app_pkc_modular_compare_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式模比较计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_modular_compare_async
函数原型 | uint16_t app_pkc_modular_compare_async(app_pkc_modular_compare_t *p_input); |
---|---|
功能说明 | 异步(中断)模式模比较计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_montgomery_multi_sync
函数原型 | uint16_t app_pkc_montgomery_multi_sync(app_pkc_montgomery_multi_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式蒙哥马利模乘计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_montgomery_multi_async
函数原型 | uint16_t app_pkc_montgomery_multi_async(app_pkc_montgomery_multi_t *p_input); |
---|---|
功能说明 | 异步(中断)模式蒙哥马利模乘计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_montgomery_inversion_sync
函数原型 | uint16_t app_pkc_montgomery_inversion_sync(app_pkc_montgomery_inversion_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式蒙哥马利部分求逆计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_montgomery_inversion_async
函数原型 | uint16_t app_pkc_montgomery_inversion_async(app_pkc_montgomery_inversion_t *p_input); |
---|---|
功能说明 | 异步(中断)模式蒙哥马利部分求逆计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_big_number_multi_sync
函数原型 | uint16_t app_pkc_big_number_multi_sync(app_pkc_big_number_multi_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式大数乘法计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅支持256-bit到1024-bit长度的大数乘法计算 |
app_pkc_big_number_multi_async
函数原型 | uint16_t app_pkc_big_number_multi_async(app_pkc_big_number_multi_t *p_input); |
---|---|
功能说明 | 异步(中断)模式大数乘法计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅支持256-bit到1024-bit长度的大数乘法计算 |
app_pkc_big_number_add_sync
函数原型 | uint16_t app_pkc_big_number_add_sync(app_pkc_big_number_add_t *p_input, uint32_t timeout); |
---|---|
功能说明 | 同步(轮询)模式大数加法计算 |
输入参数 |
|
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_big_number_add_async
函数原型 | uint16_t app_pkc_big_number_add_async(app_pkc_big_number_add_t *p_input); |
---|---|
功能说明 | 异步(中断)模式大数加法计算 |
输入参数 | p_input:待计算数据结构体指针 |
返回值 | APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_pkc_get_handle
函数原型 | pkc_handle_t *app_pkc_get_handle(void); |
---|---|
功能说明 | 获取PKC句柄 |
输入参数 | |
返回值 | PKC句柄:详见SDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h结构体 |
备注 | |
备注 |