mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-29 08:54:23 +01:00
Add mbedtls_ecp_gen_keypair_base()
This commit is contained in:
parent
8489f17277
commit
d9a3f47ecd
@ -569,6 +569,29 @@ int mbedtls_ecp_check_pubkey( const mbedtls_ecp_group *grp, const mbedtls_ecp_po
|
|||||||
*/
|
*/
|
||||||
int mbedtls_ecp_check_privkey( const mbedtls_ecp_group *grp, const mbedtls_mpi *d );
|
int mbedtls_ecp_check_privkey( const mbedtls_ecp_group *grp, const mbedtls_mpi *d );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Generate a keypair with configurable base point
|
||||||
|
*
|
||||||
|
* \param grp ECP group
|
||||||
|
* \param G Chosen base point
|
||||||
|
* \param d Destination MPI (secret part)
|
||||||
|
* \param Q Destination point (public part)
|
||||||
|
* \param f_rng RNG function
|
||||||
|
* \param p_rng RNG parameter
|
||||||
|
*
|
||||||
|
* \return 0 if successful,
|
||||||
|
* or a MBEDTLS_ERR_ECP_XXX or MBEDTLS_MPI_XXX error code
|
||||||
|
*
|
||||||
|
* \note Uses bare components rather than an mbedtls_ecp_keypair structure
|
||||||
|
* in order to ease use with other structures such as
|
||||||
|
* mbedtls_ecdh_context of mbedtls_ecdsa_context.
|
||||||
|
*/
|
||||||
|
int mbedtls_ecp_gen_keypair_base( mbedtls_ecp_group *grp,
|
||||||
|
const mbedtls_ecp_point *G,
|
||||||
|
mbedtls_mpi *d, mbedtls_ecp_point *Q,
|
||||||
|
int (*f_rng)(void *, unsigned char *, size_t),
|
||||||
|
void *p_rng );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Generate a keypair
|
* \brief Generate a keypair
|
||||||
*
|
*
|
||||||
|
@ -1761,9 +1761,11 @@ int mbedtls_ecp_check_privkey( const mbedtls_ecp_group *grp, const mbedtls_mpi *
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generate a keypair
|
* Generate a keypair with configurable base point
|
||||||
*/
|
*/
|
||||||
int mbedtls_ecp_gen_keypair( mbedtls_ecp_group *grp, mbedtls_mpi *d, mbedtls_ecp_point *Q,
|
int mbedtls_ecp_gen_keypair_base( mbedtls_ecp_group *grp,
|
||||||
|
const mbedtls_ecp_point *G,
|
||||||
|
mbedtls_mpi *d, mbedtls_ecp_point *Q,
|
||||||
int (*f_rng)(void *, unsigned char *, size_t),
|
int (*f_rng)(void *, unsigned char *, size_t),
|
||||||
void *p_rng )
|
void *p_rng )
|
||||||
{
|
{
|
||||||
@ -1835,7 +1837,18 @@ cleanup:
|
|||||||
if( ret != 0 )
|
if( ret != 0 )
|
||||||
return( ret );
|
return( ret );
|
||||||
|
|
||||||
return( mbedtls_ecp_mul( grp, Q, d, &grp->G, f_rng, p_rng ) );
|
return( mbedtls_ecp_mul( grp, Q, d, G, f_rng, p_rng ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generate key pair, wrapper for conventional base point
|
||||||
|
*/
|
||||||
|
int mbedtls_ecp_gen_keypair( mbedtls_ecp_group *grp,
|
||||||
|
mbedtls_mpi *d, mbedtls_ecp_point *Q,
|
||||||
|
int (*f_rng)(void *, unsigned char *, size_t),
|
||||||
|
void *p_rng )
|
||||||
|
{
|
||||||
|
return( mbedtls_ecp_gen_keypair_base( grp, &grp->G, d, Q, f_rng, p_rng ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user