Lines Matching full:safe
22 static int probable_prime(BIGNUM *rnd, int bits, int safe, prime_t *mods,
24 static int probable_prime_dh(BIGNUM *rnd, int bits, int safe, prime_t *mods,
123 int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe, in BN_generate_prime_ex2() argument
137 } else if (add == NULL && safe && bits < 6 && bits != 3) { in BN_generate_prime_ex2()
139 * The smallest safe prime (7) is three bits. in BN_generate_prime_ex2()
140 * But the following two safe primes with less than 6 bits (11, 23) in BN_generate_prime_ex2()
160 if (!probable_prime(ret, bits, safe, mods, ctx)) in BN_generate_prime_ex2()
163 if (!probable_prime_dh(ret, bits, safe, mods, add, rem, ctx)) in BN_generate_prime_ex2()
171 if (!safe) { in BN_generate_prime_ex2()
179 * for "safe prime" generation, check that (p-1)/2 is prime. Since a in BN_generate_prime_ex2()
200 /* We have a safe prime test pass */ in BN_generate_prime_ex2()
213 int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, in BN_generate_prime_ex() argument
222 retval = BN_generate_prime_ex2(ret, bits, safe, add, rem, cb, ctx); in BN_generate_prime_ex()
471 * If |safe| != 0, it generates a safe prime.
478 static int probable_prime(BIGNUM *rnd, int bits, int safe, prime_t *mods, in probable_prime() argument
490 if (safe && !BN_set_bit(rnd, 1)) in probable_prime()
505 * do the second check only if we are interested in safe primes in probable_prime()
512 if (safe ? (mods[i] + delta) % primes[i] <= 1 in probable_prime()
514 delta += safe ? 4 : 2; in probable_prime()
531 * If |safe| != 0, it generates a safe prime.
536 static int probable_prime_dh(BIGNUM *rnd, int bits, int safe, prime_t *mods, in probable_prime_dh() argument
564 if (!BN_add_word(rnd, safe ? 3u : 1u)) in probable_prime_dh()
572 || BN_get_word(rnd) < (safe ? 5u : 3u)) { in probable_prime_dh()
592 if (safe ? (mods[i] + delta) % primes[i] <= 1 in probable_prime_dh()