8#ifndef BOTAN_NUMBER_THEORY_H_
9#define BOTAN_NUMBER_THEORY_H_
11#include <botan/bigint.h>
17class RandomNumberGenerator;
62BigInt
BOTAN_PUBLIC_API(2, 0) inverse_mod(const BigInt& x, const BigInt& modulus);
82BigInt
BOTAN_PUBLIC_API(2, 0) power_mod(const BigInt& b, const BigInt& x, const BigInt& m);
95BigInt
BOTAN_PUBLIC_API(3, 0) sqrt_modulo_prime(const BigInt& x, const BigInt& p);
119 is_prime(const BigInt& n, RandomNumberGenerator& rng,
size_t prob = 64,
bool is_random = false);
143 const BigInt& coprime = BigInt::from_u64(0),
145 size_t equiv_mod = 2,
157BigInt
BOTAN_PUBLIC_API(2, 7) generate_rsa_prime(RandomNumberGenerator& keygen_rng,
158 RandomNumberGenerator& prime_test_rng,
160 const BigInt& coprime,
169BigInt
BOTAN_PUBLIC_API(2, 0) random_safe_prime(RandomNumberGenerator& rng,
size_t bits);
174const
size_t PRIME_TABLE_SIZE = 6541;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
BigInt abs(const BigInt &n)