Function esp_idf_hal::sys::mbedtls_ecp_mul_restartable
source · pub unsafe extern "C" fn mbedtls_ecp_mul_restartable(
grp: *mut mbedtls_ecp_group,
R: *mut mbedtls_ecp_point,
m: *const mbedtls_mpi,
P: *const mbedtls_ecp_point,
f_rng: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut u8, _: usize) -> i32>,
p_rng: *mut c_void,
rs_ctx: *mut c_void,
) -> i32
Expand description
\brief This function performs multiplication of a point by an integer: \p R = \p m * \p P in a restartable way.
\see mbedtls_ecp_mul()
\note This function does the same as \c mbedtls_ecp_mul(), but it can return early and restart according to the limit set with \c mbedtls_ecp_set_max_ops() to reduce blocking.
\param grp The ECP group to use. This must be initialized and have group parameters set, for example through mbedtls_ecp_group_load(). \param R The point in which to store the result of the calculation. This must be initialized. \param m The integer by which to multiply. This must be initialized. \param P The point to multiply. This must be initialized. \param f_rng The RNG function. This must not be \c NULL. \param p_rng The RNG context to be passed to \p f_rng. This may be \c NULL if \p f_rng doesn’t need a context. \param rs_ctx The restart context (NULL disables restart).
\return \c 0 on success. \return #MBEDTLS_ERR_ECP_INVALID_KEY if \p m is not a valid private key, or \p P is not a valid public key. \return #MBEDTLS_ERR_MPI_ALLOC_FAILED on memory-allocation failure. \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of operations was reached: see \c mbedtls_ecp_set_max_ops(). \return Another negative error code on other kinds of failure.