improve ltc_math_descriptor a bit

* introduce LTC_MILLER_RABIN_REPS which is used as default value
  in the isprime() implementations
This commit is contained in:
Steffen Jaeckel
2017-06-12 13:45:07 +02:00
parent 6f85293672
commit 7453eddae9
5 changed files with 15 additions and 7 deletions
+1 -1
View File
@@ -446,7 +446,7 @@ static int isprime(void *a, int b, int *c)
LTC_ARGCHK(a != NULL);
LTC_ARGCHK(c != NULL);
if (b == 0) {
b = 8;
b = LTC_MILLER_RABIN_REPS;
} /* if */
*c = mpz_probab_prime_p(a, b) > 0 ? LTC_MP_YES : LTC_MP_NO;
return CRYPT_OK;
+1 -1
View File
@@ -404,7 +404,7 @@ static int isprime(void *a, int b, int *c)
LTC_ARGCHK(a != NULL);
LTC_ARGCHK(c != NULL);
if (b == 0) {
b = 8;
b = LTC_MILLER_RABIN_REPS;
} /* if */
err = mpi_to_ltc_error(mp_prime_is_prime(a, b, c));
*c = (*c == MP_YES) ? LTC_MP_YES : LTC_MP_NO;
+1 -1
View File
@@ -66,7 +66,7 @@ int rand_prime(void *N, long len, prng_state *prng, int wprng)
}
/* test */
if ((err = mp_prime_is_prime(N, 8, &res)) != CRYPT_OK) {
if ((err = mp_prime_is_prime(N, LTC_MILLER_RABIN_REPS, &res)) != CRYPT_OK) {
XFREE(buf);
return err;
}
+4 -2
View File
@@ -415,8 +415,10 @@ static int isprime(void *a, int b, int *c)
{
LTC_ARGCHK(a != NULL);
LTC_ARGCHK(c != NULL);
(void)b;
*c = (fp_isprime(a) == FP_YES) ? LTC_MP_YES : LTC_MP_NO;
if (b == 0) {
b = LTC_MILLER_RABIN_REPS;
} /* if */
*c = (fp_isprime_ex(a, b) == FP_YES) ? LTC_MP_YES : LTC_MP_NO;
return CRYPT_OK;
}