CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

结构体

app_pkc_params_t

结构体定义如下:

表 338 app_pkc_params_t结构体成员
成员 描述 取值

app_pkc_type_t use_type

设置PKC运行模式

该参数的取值可以是下列值中的任意一个:

  • APP_PKC_TYPE_INTERRUPT(中断模式)
  • APP_PKC_TYPE_POLLING(轮询模式)

pkc_init_t init

设置PKC初始化参数

参考pkc_init_t结构体

void *p_result

PKC计算结果指针

合法的缓存区地址

uint32_t *p_kout

蒙哥马利求逆Kout计算结果指针

合法的缓存区地址

pkc_env_t pkc_env

仅用于记录初始化设备的句柄、相关参数和信号量等,不需要配置

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.h

pkc_init_t

结构体定义如下:

表 339 pkc_init_t结构体成员
成员 描述 取值

ecc_curve_init_t *p_ecc_curve

椭圆曲线结构体指针

该参数的取值可以通过下列宏定义进行初始化:

  • LL_ECC_CURVE_SECP256R1_CONFIG (LL_ECC_CURVE_DEFAULT_CONFIG)
  • LL_ECC_CURVE_SECP256K1_CONFIG

uint32_t data_bits

数据位数,可根据数据大小(bit)进行取值,以bit为单位

256 ~ 2048

uint32_t secure_mode

安全模式。结果表明,采用抗DPA的软件算法和硬件措施,性能损失约为35% ~ 50%。

该参数的取值可以是下列值中的任意一个:

  • PKC_SECURE_MODE_DISABLE(不使能)
  • PKC_SECURE_MODE_ENABLE(使能)

uint32_t (*random_func)(void)

random_func需要指定一个产生随机数的函数指针(进行椭圆曲线的标量乘法运算时必须设置)

一个产生随机数的函数指针

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_evt_t

结构体定义如下:

表 340 app_pkc_evt_t结构体成员
成员 描述 取值

app_pkc_evt_type_t type

事件的类型

该参数的取值可以是下列值中的任意一个:

  • APP_PKC_EVT_ERROR(PKC计算出错)
  • APP_PKC_EVT_DONE(PKC计算完成)

uint32_t error_code

错误码

该参数的取值可以是下列值中的任意一个:

  • HAL_PKC_ERROR_NONE(无错误)

  • HAL_PKC_ERROR_TIMEOUT(计算超时)

  • HAL_PKC_ERROR_TRANSFER(传输错误)

  • HAL_PKC_ERROR_OVERFLOW(结果溢出)

  • HAL_PKC_ERROR_INVALID_PARAM(不合法的参数)

  • HAL_PKC_ERROR_INVERSE_K(蒙哥马利求逆K值错误)

  • HAL_PKC_ERROR_IRREVERSIBLE(蒙哥马利求逆错误)

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.h

app_pkc_ecc_point_multi_t

app_pkc_ecc_point_multi_t为pkc_ecc_point_multi_t结构体别名,源结构体定义如下:

表 341 app_pkc_ecc_point_multi_t结构体成员
成员 描述 取值

uint32_t *p_K

操作数K的指针

操作数K的指针

ecc_point_t *p_ecc_point

椭圆曲线点指针

椭圆曲线点指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_modular_add_t

app_pkc_modular_add_t为pkc_modular_add_t结构体别名,源结构体定义如下:

表 342 app_pkc_modular_add_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_B

操作数B的指针

操作数B的指针

uint32_t *p_P

素数P的指针

素数P的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_modular_sub_t

app_pkc_modular_sub_t为pkc_modular_sub_t结构体别名,源结构体定义如下:

表 343 app_pkc_modular_sub_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_B

操作数B的指针

操作数B的指针

uint32_t *p_P

素数P的指针

素数P的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_modular_shift_t

app_pkc_modular_shift_t为pkc_modular_shift_t结构体别名,源结构体定义如下:

表 344 app_pkc_modular_shift_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t shift_bits

左移bit位数值

通常范围为0 ~ 31

uint32_t *p_P

素数P的指针

素数P的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_modular_compare_t

app_pkc_modular_compare_t为pkc_modular_compare_t结构体别名,源结构体定义如下:

表 345 app_pkc_modular_compare_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_P

素数P的指针

素数P的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_montgomery_multi_t

app_pkc_montgomery_multi_t为pkc_montgomery_multi_t结构体别名,源结构体定义如下:

表 346 app_pkc_montgomery_multi_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_B

操作数B的指针

操作数B的指针

uint32_t *p_P

素数P的指针

素数P的指针

uint32_t ConstP

蒙哥马利乘法常数

(-P[0])^(-1) mod 2^32

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_montgomery_inversion_t

app_pkc_montgomery_inversion_t为pkc_montgomery_inversion_t结构体别名,源结构体定义如下:

表 347 app_pkc_montgomery_inversion_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_P

素数P的指针

素数P的指针

uint32_t ConstP

蒙哥马利乘法常数

(-P[0])^(-1) mod 2^32

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_big_number_multi_t

app_pkc_big_number_multi_t为pkc_big_number_multi_t结构体别名,源结构体定义如下:

表 348 app_pkc_big_number_multi_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_B

操作数B的指针

操作数B的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

app_pkc_big_number_add_t

app_pkc_big_number_add_t为pkc_big_number_add_t结构体别名,源结构体定义如下:

表 349 app_pkc_big_number_add_t结构体成员
成员 描述 取值

uint32_t *p_A

操作数A的指针

操作数A的指针

uint32_t *p_B

操作数B的指针

操作数B的指针

详细信息请参考文件:SDK_Folder\drivers\inc\app_pkc.hSDK_Folder\drivers\inc\hal\gr55xx_hal_pkc.h

扫描关注

打开微信,使用“扫一扫”即可关注。