Function esp_idf_svc::hal::sys::mbedtls_rsa_private
source · pub unsafe extern "C" fn mbedtls_rsa_private(
ctx: *mut mbedtls_rsa_context,
f_rng: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut u8, _: usize) -> i32>,
p_rng: *mut c_void,
input: *const u8,
output: *mut u8,
) -> i32
Expand description
\brief This function performs an RSA private key operation.
\note Blinding is used if and only if a PRNG is provided.
\note If blinding is used, both the base of exponentiation and the exponent are blinded, providing protection against some side-channel attacks.
\warning It is deprecated and a security risk to not provide a PRNG here and thereby prevent the use of blinding. Future versions of the library may enforce the presence of a PRNG.
\param ctx The initialized RSA context to use. \param f_rng The RNG function, used for blinding. It is mandatory. \param p_rng The RNG context to pass to \p f_rng. This may be \c NULL if \p f_rng doesn’t need a context. \param input The input buffer. This must be a readable buffer of length \c ctx->len Bytes. For example, \c 256 Bytes for an 2048-bit RSA modulus. \param output The output buffer. This must be a writable buffer of length \c ctx->len Bytes. For example, \c 256 Bytes for an 2048-bit RSA modulus.
\return \c 0 on success. \return An \c MBEDTLS_ERR_RSA_XXX error code on failure.