mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-30 11:11:12 -04: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 ); | ||||
| 
 | ||||
| /**
 | ||||
|  * \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 | ||||
|  * | ||||
|  | ||||
| @ -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), | ||||
|                      void *p_rng ) | ||||
| { | ||||
| @ -1835,7 +1837,18 @@ cleanup: | ||||
|     if( ret != 0 ) | ||||
|         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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard