|
WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
|
#include "ecc_ec_fp.h"#include "crypto_drv_common.h"#include "hal_pke_reg.h"#include "hal_pke.h"#include "drv_common_pke.h"
函数 | |
| CRYPTO_STATIC td_s32 | point_multi_mul_sim (const drv_pke_ecc_curve *ecc, const drv_pke_data *u1, const drv_pke_data *u2 CIPHER_CHECK_WORD) |
| td_s32 | ecc_ecfp_mul_add (const drv_pke_ecc_curve *ecc, const drv_pke_data *u1, const drv_pke_data *u2, const drv_pke_ecc_point *q, const drv_pke_ecc_point *r CIPHER_CHECK_WORD) |
| R = u1 * G + u2 * Q. Before call this API, you should have set curve initial parameters into DRAM, which must include ecc_addr_mont_a, ecc_addr_mont_1_p, ecc_addr_const_1, ecc_addr_const_0. | |
| td_s32 ecc_ecfp_mul_add | ( | const drv_pke_ecc_curve * | ecc, |
| const drv_pke_data * | u1, | ||
| const drv_pke_data * | u2, | ||
| const drv_pke_ecc_point * | q, | ||
| const drv_pke_ecc_point *r | CIPHER_CHECK_WORD | ||
| ) |
R = u1 * G + u2 * Q. Before call this API, you should have set curve initial parameters into DRAM, which must include ecc_addr_mont_a, ecc_addr_mont_1_p, ecc_addr_const_1, ecc_addr_const_0.
| ecc | input ecc curve param. |
| u1 | the scalar. |
| u2 | the scalar. |
| q | the input point(public key), which is in affine coordinate system. |
| r | the output point. result is in (ecc_addr_cx, ecc_addr_cy, ecc_addr_cz). |
| CIPHER_CHECK_WORD | ifdef SEC_ENHANCE, the value is XOR result of parameters, otherwise it doesn't exist. |
| CRYPTO_STATIC td_s32 point_multi_mul_sim | ( | const drv_pke_ecc_curve * | ecc, |
| const drv_pke_data * | u1, | ||
| const drv_pke_data *u2 | CIPHER_CHECK_WORD | ||
| ) |
Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved. Description: verify common algorithm implementation
Create: 2023-06-05