8 #include <botan/internal/def_powm.h>
9 #include <botan/numthry.h>
29 g.resize((1 << window_bits));
33 for(
size_t i = 2; i != g.size(); ++i)
34 g[i] = reducer.
multiply(g[i-1], g[0]);
42 const size_t exp_nibbles = (exp.
bits() + window_bits - 1) / window_bits;
46 for(
size_t i = exp_nibbles; i > 0; --i)
48 for(
size_t j = 0; j != window_bits; ++j)
Fixed_Window_Exponentiator(const BigInt &, Power_Mod::Usage_Hints)
u32bit get_substring(size_t offset, size_t length) const
BigInt multiply(const BigInt &x, const BigInt &y) const
static size_t window_bits(size_t exp_bits, size_t base_bits, Power_Mod::Usage_Hints hints)
void set_base(const BigInt &)
void set_exponent(const BigInt &)
BigInt square(const BigInt &x) const