Function esp_idf_sys::mbedtls_ecdsa_sign_det_ext
source · pub unsafe extern "C" fn mbedtls_ecdsa_sign_det_ext(
grp: *mut mbedtls_ecp_group,
r: *mut mbedtls_mpi,
s: *mut mbedtls_mpi,
d: *const mbedtls_mpi,
buf: *const c_uchar,
blen: usize,
md_alg: mbedtls_md_type_t,
f_rng_blind: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_uchar, arg3: usize) -> c_int>,
p_rng_blind: *mut c_void,
) -> c_int
Expand description
\brief This function computes the ECDSA signature of a previously-hashed message, deterministic version.
For more information, see <em>RFC-6979: Deterministic
Usage of the Digital Signature Algorithm (DSA) and Elliptic
Curve Digital Signature Algorithm (ECDSA)</em>.
\note If the bitlength of the message hash is larger than the bitlength of the group order, then the hash is truncated as defined in Standards for Efficient Cryptography Group (SECG): SEC1 Elliptic Curve Cryptography, section 4.1.3, step 5.
\see ecp.h
\param grp The context for the elliptic curve to use. This must be initialized and have group parameters set, for example through mbedtls_ecp_group_load(). \param r The MPI context in which to store the first part the signature. This must be initialized. \param s The MPI context in which to store the second part the signature. This must be initialized. \param d The private signing key. This must be initialized and setup, for example through mbedtls_ecp_gen_privkey(). \param buf The hashed content to be signed. This must be a readable buffer of length \p blen Bytes. It may be \c NULL if \p blen is zero. \param blen The length of \p buf in Bytes. \param md_alg The hash algorithm used to hash the original data. \param f_rng_blind The RNG function used for blinding. This must not be \c NULL. \param p_rng_blind The RNG context to be passed to \p f_rng_blind. This may be \c NULL if \p f_rng_blind doesn’t need a context parameter.
\return \c 0 on success. \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX error code on failure.