Function esp_idf_svc::sys::mbedtls_ecdh_gen_public
source · pub unsafe extern "C" fn mbedtls_ecdh_gen_public(
grp: *mut mbedtls_ecp_group,
d: *mut mbedtls_mpi,
Q: *mut mbedtls_ecp_point,
f_rng: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut u8, _: usize) -> i32>,
p_rng: *mut c_void,
) -> i32
Expand description
\brief This function generates an ECDH keypair on an elliptic curve.
This function performs the first of two core computations
implemented during the ECDH key exchange. The second core
computation is performed by mbedtls_ecdh_compute_shared().
\see ecp.h
\param grp The ECP group to use. This must be initialized and have domain parameters loaded, for example through mbedtls_ecp_load() or mbedtls_ecp_tls_read_group(). \param d The destination MPI (private key). This must be initialized. \param Q The destination point (public key). This must be initialized. \param f_rng The RNG function to use. This must not be \c NULL. \param p_rng The RNG context to be passed to \p f_rng. This may be \c NULL in case \p f_rng doesn’t need a context argument.
\return \c 0 on success. \return Another \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX error code on failure.