Revert "improve bignum"

This reverts commit 3fa01ef7a9.
This commit is contained in:
NIIBE Yutaka
2012-06-07 15:37:40 +09:00
parent 3fa01ef7a9
commit 17fd82ffa1

View File

@@ -1813,10 +1813,13 @@ int mpi_gen_prime( mpi *X, int nbits, int dh_flag,
{ {
int ret, k, n; int ret, k, n;
unsigned char *p; unsigned char *p;
mpi Y;
if( nbits < 3 ) if( nbits < 3 )
return( POLARSSL_ERR_MPI_BAD_INPUT_DATA ); return( POLARSSL_ERR_MPI_BAD_INPUT_DATA );
mpi_init( &Y, NULL );
n = BITS_TO_LIMBS( nbits ); n = BITS_TO_LIMBS( nbits );
MPI_CHK( mpi_grow( X, n ) ); MPI_CHK( mpi_grow( X, n ) );
@@ -1837,16 +1840,13 @@ int mpi_gen_prime( mpi *X, int nbits, int dh_flag,
while( ( ret = mpi_is_prime( X, f_rng, p_rng ) ) != 0 ) while( ( ret = mpi_is_prime( X, f_rng, p_rng ) ) != 0 )
{ {
if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE ) if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE )
break; goto cleanup;
MPI_CHK( mpi_add_int( X, X, 2 ) ); MPI_CHK( mpi_add_int( X, X, 2 ) );
} }
} }
else else
{ {
mpi Y;
mpi_init( &Y, NULL );
MPI_CHK( mpi_sub_int( &Y, X, 1 ) ); MPI_CHK( mpi_sub_int( &Y, X, 1 ) );
MPI_CHK( mpi_shift_r( &Y, 1 ) ); MPI_CHK( mpi_shift_r( &Y, 1 ) );
@@ -1858,20 +1858,22 @@ int mpi_gen_prime( mpi *X, int nbits, int dh_flag,
break; break;
if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE ) if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE )
break; goto cleanup;
} }
if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE ) if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE )
break; goto cleanup;
MPI_CHK( mpi_add_int( &Y, X, 1 ) ); MPI_CHK( mpi_add_int( &Y, X, 1 ) );
MPI_CHK( mpi_add_int( X, X, 2 ) ); MPI_CHK( mpi_add_int( X, X, 2 ) );
MPI_CHK( mpi_shift_r( &Y, 1 ) ); MPI_CHK( mpi_shift_r( &Y, 1 ) );
} }
mpi_free( &Y, NULL );
} }
cleanup:
mpi_free( &Y, NULL );
return( ret ); return( ret );
} }