commit | 711507a72609dc2df0b4c876f6d7505443dd719a | [log] [tgz] |
---|---|---|
author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | Fri Nov 22 17:35:28 2013 +0100 |
committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | Fri Nov 22 17:35:28 2013 +0100 |
tree | 4e8fc039b54aaad7c8b72cc94a5e0b1fd06b1631 | |
parent | d1bac4ae55f781a1a1bbebc6c151bdfae3d5c88b [diff] [blame] |
gen_prime: ensure X = 3 mod 4 always (2x speed-up)
diff --git a/library/bignum.c b/library/bignum.c index 2a97a59..7fac5fa 100644 --- a/library/bignum.c +++ b/library/bignum.c
@@ -1969,9 +1969,9 @@ if( ret != POLARSSL_ERR_MPI_NOT_ACCEPTABLE ) goto cleanup; - MPI_CHK( mpi_add_int( &Y, X, 1 ) ); - MPI_CHK( mpi_add_int( X, X, 2 ) ); - MPI_CHK( mpi_shift_r( &Y, 1 ) ); + /* Keep X = 3 mod 4 */ + MPI_CHK( mpi_add_int( X, X, 4 ) ); + MPI_CHK( mpi_add_int( &Y, &Y, 2 ) ); } }