8#ifndef BOTAN_NUMBER_THEORY_H_
9#define BOTAN_NUMBER_THEORY_H_
11#include <botan/bigint.h>
15class RandomNumberGenerator;
117 is_prime(const BigInt& n, RandomNumberGenerator& rng,
size_t prob = 64,
bool is_random = false);
141 const BigInt& coprime = BigInt::from_u64(0),
143 size_t equiv_mod = 2,
156 RandomNumberGenerator& prime_test_rng,
158 const BigInt& coprime,
#define BOTAN_PUBLIC_API(maj, min)
BigInt power_mod(const BigInt &base, const BigInt &exp, const BigInt &mod)
BigInt random_prime(RandomNumberGenerator &rng, size_t bits, const BigInt &coprime, size_t equiv, size_t modulo, size_t prob)
BigInt lcm(const BigInt &a, const BigInt &b)
BigInt square(const BigInt &x)
size_t low_zero_bits(const BigInt &n)
BigInt abs(const BigInt &n)
const size_t PRIME_TABLE_SIZE
bool is_prime(const BigInt &n, RandomNumberGenerator &rng, size_t prob, bool is_random)
BigInt generate_rsa_prime(RandomNumberGenerator &keygen_rng, RandomNumberGenerator &prime_test_rng, size_t bits, const BigInt &coprime, size_t prob)
BigInt gcd(const BigInt &a, const BigInt &b)
BigInt sqrt_modulo_prime(const BigInt &a, const BigInt &p)
BigInt is_perfect_square(const BigInt &C)
int32_t jacobi(const BigInt &a, const BigInt &n)
BigInt random_safe_prime(RandomNumberGenerator &rng, size_t bits)
BigInt inverse_mod(const BigInt &n, const BigInt &mod)