Data transfers functions. More...
Functions | |
hal_status_t | hal_pkc_rsa_modular_exponent (pkc_handle_t *p_pkc, pkc_rsa_modular_exponent_t *p_input, uint32_t timeout) |
Execute RSA Modular Exponentiation in blocking mode. More... | |
hal_status_t | hal_pkc_ecc_point_multi (pkc_handle_t *p_pkc, pkc_ecc_point_multi_t *p_input, uint32_t timeout) |
Execute ECC Point Multiplication in blocking mode. More... | |
hal_status_t | hal_pkc_ecc_point_multi_it (pkc_handle_t *p_pkc, pkc_ecc_point_multi_t *p_input) |
Execute ECC Point Multiplication in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_modular_add (pkc_handle_t *p_pkc, pkc_modular_add_t *p_input, uint32_t timeout) |
Execute Modular Addition in blocking mode. More... | |
hal_status_t | hal_pkc_modular_add_it (pkc_handle_t *p_pkc, pkc_modular_add_t *p_input) |
Execute Modular Addition in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_modular_sub (pkc_handle_t *p_pkc, pkc_modular_sub_t *p_input, uint32_t timeout) |
Execute Modular Subtraction in blocking mode. More... | |
hal_status_t | hal_pkc_modular_sub_it (pkc_handle_t *p_pkc, pkc_modular_sub_t *p_input) |
Execute Modular Subtraction in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_modular_left_shift (pkc_handle_t *p_pkc, pkc_modular_shift_t *p_input, uint32_t timeout) |
Execute Modular Left Shift in blocking mode. More... | |
hal_status_t | hal_pkc_modular_left_shift_it (pkc_handle_t *p_pkc, pkc_modular_shift_t *p_input) |
Execute Modular Left Shift in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_modular_compare (pkc_handle_t *p_pkc, pkc_modular_compare_t *p_input, uint32_t timeout) |
Execute Modular Comparison in blocking mode. More... | |
hal_status_t | hal_pkc_modular_compare_it (pkc_handle_t *p_pkc, pkc_modular_compare_t *p_input) |
Execute Modular Comparison in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_montgomery_multi (pkc_handle_t *p_pkc, pkc_montgomery_multi_t *p_input, uint32_t timeout) |
Execute Montgomery Modular Multiplication in blocking mode. More... | |
hal_status_t | hal_pkc_montgomery_multi_it (pkc_handle_t *p_pkc, pkc_montgomery_multi_t *p_input) |
Execute Montgomery Modular Multiplication in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_montgomery_inversion (pkc_handle_t *p_pkc, pkc_montgomery_inversion_t *p_input, uint32_t timeout) |
Execute Montgomery Inversion in blocking mode. More... | |
hal_status_t | hal_pkc_montgomery_inversion_it (pkc_handle_t *p_pkc, pkc_montgomery_inversion_t *p_input) |
Execute Montgomery Inversion in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_big_number_multi (pkc_handle_t *p_pkc, pkc_big_number_multi_t *p_input, uint32_t timeout) |
Execute Big Number Multiplication in blocking mode. More... | |
hal_status_t | hal_pkc_big_number_multi_it (pkc_handle_t *p_pkc, pkc_big_number_multi_t *p_input) |
Execute Big Number Multiplication in non-blocking mode with Interrupt. More... | |
hal_status_t | hal_pkc_big_number_add (pkc_handle_t *p_pkc, pkc_big_number_add_t *p_input, uint32_t timeout) |
Execute Big Number Addition in blocking mode. More... | |
hal_status_t | hal_pkc_big_number_add_it (pkc_handle_t *p_pkc, pkc_big_number_add_t *p_input) |
Execute Big Number Addition in non-blocking mode with Interrupt. More... | |
Data transfers functions.
============================================================================== ##### IO operation functions ##### =============================================================================== [..] This subsection provides a set of functions allowing to manage the PKC data transfers. (#) There are two modes of transfer: (++) Blocking mode: The communication is performed in polling mode. The HAL status of all data processing is returned by the same function after finishing transfer. (++) No-Blocking mode: The communication is performed using Interrupts , These APIs return the HAL status. The end of the data processing will be indicated through the dedicated PKC IRQ when using Interrupt mode. The hal_pkc_done_callback() user callbacks will be executed respectively at the end of the calculate process The hal_pkc_error_callback() user callback will be executed when a communication error is detected
hal_status_t hal_pkc_big_number_add | ( | pkc_handle_t * | p_pkc, |
pkc_big_number_add_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Big Number Addition in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_big_number_add_it | ( | pkc_handle_t * | p_pkc, |
pkc_big_number_add_t * | p_input | ||
) |
Execute Big Number Addition in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_big_number_multi | ( | pkc_handle_t * | p_pkc, |
pkc_big_number_multi_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Big Number Multiplication in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_big_number_multi_it | ( | pkc_handle_t * | p_pkc, |
pkc_big_number_multi_t * | p_input | ||
) |
Execute Big Number Multiplication in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_ecc_point_multi | ( | pkc_handle_t * | p_pkc, |
pkc_ecc_point_multi_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute ECC Point Multiplication in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_ecc_point_multi_it | ( | pkc_handle_t * | p_pkc, |
pkc_ecc_point_multi_t * | p_input | ||
) |
Execute ECC Point Multiplication in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_add | ( | pkc_handle_t * | p_pkc, |
pkc_modular_add_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Modular Addition in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_add_it | ( | pkc_handle_t * | p_pkc, |
pkc_modular_add_t * | p_input | ||
) |
Execute Modular Addition in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_compare | ( | pkc_handle_t * | p_pkc, |
pkc_modular_compare_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Modular Comparison in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_compare_it | ( | pkc_handle_t * | p_pkc, |
pkc_modular_compare_t * | p_input | ||
) |
Execute Modular Comparison in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_left_shift | ( | pkc_handle_t * | p_pkc, |
pkc_modular_shift_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Modular Left Shift in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_left_shift_it | ( | pkc_handle_t * | p_pkc, |
pkc_modular_shift_t * | p_input | ||
) |
Execute Modular Left Shift in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_sub | ( | pkc_handle_t * | p_pkc, |
pkc_modular_sub_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Modular Subtraction in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_modular_sub_it | ( | pkc_handle_t * | p_pkc, |
pkc_modular_sub_t * | p_input | ||
) |
Execute Modular Subtraction in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_montgomery_inversion | ( | pkc_handle_t * | p_pkc, |
pkc_montgomery_inversion_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Montgomery Inversion in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_montgomery_inversion_it | ( | pkc_handle_t * | p_pkc, |
pkc_montgomery_inversion_t * | p_input | ||
) |
Execute Montgomery Inversion in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_montgomery_multi | ( | pkc_handle_t * | p_pkc, |
pkc_montgomery_multi_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute Montgomery Modular Multiplication in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_montgomery_multi_it | ( | pkc_handle_t * | p_pkc, |
pkc_montgomery_multi_t * | p_input | ||
) |
Execute Montgomery Modular Multiplication in non-blocking mode with Interrupt.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |
hal_status_t hal_pkc_rsa_modular_exponent | ( | pkc_handle_t * | p_pkc, |
pkc_rsa_modular_exponent_t * | p_input, | ||
uint32_t | timeout | ||
) |
Execute RSA Modular Exponentiation in blocking mode.
[in] | p_pkc | Pointer to a PKC handle which contains the configuration information for the specified PKC module. |
[in] | p_input | Pointer to an expression structure which contains the input computing parameters. |
[in] | timeout | Timeout duration |
HAL_OK | Operation is OK. |
HAL_ERROR | Parameter error or operation not supported. |
HAL_BUSY | Driver is busy. |
HAL_TIMEOUT | Timeout occurred. |