Go to the documentation of this file.
63 #ifdef HAL_PKC_MODULE_ENABLED
134 #ifdef APP_DRIVER_WAKEUP_CALL_FUN
uint16_t app_pkc_ecc_point_multi_sync(app_pkc_ecc_point_multi_t *p_input, uint32_t timeout)
Realize the point multiplication operation of ECC ellipse algorithm, : result = k * point,...
app_pkc_state_t
App pkc state types.
app_pkc_type_t use_type
Specifies the operation mode of PKC.
PKC Montgomery Modular Multiplication expression input.
PKC Montgomery Inversion expression input.
uint16_t app_pkc_modular_compare_async(app_pkc_modular_compare_t *p_input)
Realization of modular comparison operation: result = A mod P, Interrupt mode.
PKC Modular Left Shift expression input.
uint16_t app_pkc_init(app_pkc_params_t *p_params, app_pkc_evt_handler_t evt_handler)
Initialize the APP PKC DRIVER according to the specified parameters in the app_pkc_params_t and app_p...
app_pkc_state_t pkc_state
App pkc state types.
pkc_handle_t handle
Pkc handle Structure.
pkc_big_number_add_t app_pkc_big_number_add_t
Pkc_big_number_add_t typedef.
pkc_modular_shift_t app_pkc_modular_shift_t
Pkc_modular_shift_t typedef.
@ APP_PKC_TYPE_MAX
Only for check parameter, not used as input parameters.
uint16_t app_pkc_montgomery_multi_async(app_pkc_montgomery_multi_t *p_input)
Realization of modular multiplication: result = A*B mod P, Interrupt mode.
uint16_t app_pkc_big_number_add_async(app_pkc_big_number_add_t *p_input)
Realize addition of large numbers: result = A+B, Interrupt mode.
PKC Modular Comparison expression input.
pkc_init_t init
PKC operation parameters
void(* app_pkc_evt_handler_t)(app_pkc_evt_t *p_evt)
PKC event callback definition.
PKC handle Structure definition.
uint32_t * p_kout
Pointer to Kout result in montgomery inversion.
app_pkc_type_t ues_type
Pkc operating mode Enumerations.
PKC Big Number Addition expression input.
uint32_t error_code
Error Code.
uint16_t app_pkc_modular_left_shift_sync(app_pkc_modular_shift_t *p_input, uint32_t timeout)
Realization of module shift left operation: result = (A<<ShiftBits) mod P, Polling mode.
app_pkc_evt_handler_t evt_handler
Pkc event callback.
pkc_modular_add_t app_pkc_modular_add_t
Pkc_modular_add_t typedef.
pkc_montgomery_inversion_t app_pkc_montgomery_inversion_t
Pkc_montgomery_inversion_t typedef.
uint16_t app_pkc_big_number_multi_sync(app_pkc_big_number_multi_t *p_input, uint32_t timeout)
Realize multiplication of large numbers: result = A*B, Polling mode.
app_pkc_type_t
PKC operating mode Enumerations definition.
uint16_t app_pkc_montgomery_inversion_sync(app_pkc_montgomery_inversion_t *p_input, uint32_t timeout)
Realization of modular inversion: result = A^(-1)mod P, Polling mode.
@ APP_PKC_TYPE_POLLING
Polling operation mode.
PKC Init Structure definition.
app_pkc_evt_type_t
PKC event Enumerations definition.
PKC Modular Subtraction expression input.
uint16_t app_pkc_big_number_multi_async(app_pkc_big_number_multi_t *p_input)
Realize multiplication of large numbers: result = A*B, Interrupt mode.
This file contains all the functions prototypes for the HAL module driver.
uint16_t app_pkc_big_number_add_sync(app_pkc_big_number_add_t *p_input, uint32_t timeout)
Realize addition of large numbers: result = A+B, Polling mode.
uint16_t app_pkc_montgomery_inversion_async(app_pkc_montgomery_inversion_t *p_input)
Realization of modular inversion: result = A^(-1)mod P, Interrupt mode.
@ APP_PKC_EVT_ERROR
Error reported by PKC peripheral.
uint16_t app_pkc_montgomery_multi_sync(app_pkc_montgomery_multi_t *p_input, uint32_t timeout)
Realization of modular multiplication: result = A*B mod P, Polling mode.
pkc_modular_sub_t app_pkc_modular_sub_t
Pkc_modular_sub_t typedef.
pkc_env_t pkc_env
PKC device structure definition.
uint16_t app_pkc_ecc_point_multi_async(app_pkc_ecc_point_multi_t *p_input)
Realize the point multiplication operation of ECC ellipse algorithm, : result = k * point,...
pkc_montgomery_multi_t app_pkc_montgomery_multi_t
Pkc_montgomery_multi_t typedef.
PKC ECC Point Multiplication expression input.
uint16_t app_pkc_modular_left_shift_async(app_pkc_modular_shift_t *p_input)
Realization of module shift left operation: result = (A<<ShiftBits) mod P, Interrupt mode.
void * p_result
Pointer to PKC result Buffer
uint16_t app_pkc_modular_add_async(app_pkc_modular_add_t *p_input)
Realization of modular addition: result = (A + B) mod P, Interrupt mode.
uint16_t app_pkc_deinit(void)
De-initialize the APP PKC DRIVER peripheral.
pkc_ecc_point_multi_t app_pkc_ecc_point_multi_t
Pkc_ecc_point_multi_t typedef.
@ APP_PKC_TYPE_INTERRUPT
Interrupt operation mode.
PKC device structure definition.
PKC Modular Addition expression input.
PKC Big Number Multiplication expression input.
uint16_t app_pkc_modular_sub_async(app_pkc_modular_sub_t *p_input)
Implementation of modular subtraction: result = (A - B) mod P, Interrupt mode.
PKC parameters structure definition.
pkc_handle_t * app_pkc_get_handle(void)
Return the PKC handle.
pkc_big_number_multi_t app_pkc_big_number_multi_t
Pkc_big_number_multi_t typedef.
uint16_t app_pkc_modular_compare_sync(app_pkc_modular_compare_t *p_input, uint32_t timeout)
Realization of modular comparison operation: result = A mod P, Polling mode.
PKC event structure definition.
Header file of app driver error code.
@ APP_PKC_EVT_DONE
Encryption and decryption completed.
Header file of app driver config code.
uint16_t app_pkc_modular_add_sync(app_pkc_modular_add_t *p_input, uint32_t timeout)
Realization of modular addition: result = (A + B) mod P, Polling mode.
app_pkc_evt_type_t type
Type of event.
uint16_t app_pkc_modular_sub_sync(app_pkc_modular_sub_t *p_input, uint32_t timeout)
Implementation of modular subtraction: result = (A - B) mod P, Polling mode.
pkc_modular_compare_t app_pkc_modular_compare_t
Pkc_modular_compare_t typedef.