8 #include <botan/pow_mod.h>     9 #include <botan/libstate.h>    10 #include <botan/engine.h>    32       core = other.core->
copy();
    43       core = other.core->
copy();
    69          core = engine->mod_exp(n, hints);
    76          throw Lookup_Error(
"Power_Mod: Unable to find a working engine");
   122    static const size_t wsize[][2] = {
   135       for(
size_t j = 0; wsize[j][0]; ++j)
   137          if(exp_bits >= wsize[j][0])
   139             window_bits += wsize[j][1];
   164    const size_t b_bits = b.
bits();
   165    const size_t n_bits = n.
bits();
   167    if(b_bits < n_bits / 32)
   169    if(b_bits > n_bits / 4)
   180    const size_t e_bits = e.
bits();
   181    const size_t n_bits = n.
bits();
   183    if(e_bits < n_bits / 32)
   185    if(e_bits > n_bits / 4)
 virtual void set_exponent(const BigInt &)=0
void set_exponent(const BigInt &) const
virtual void set_base(const BigInt &)=0
std::invalid_argument Invalid_Argument
virtual BigInt execute() const =0
Fixed_Exponent_Power_Mod()
virtual Modular_Exponentiator * copy() const =0
Power_Mod & operator=(const Power_Mod &)
Library_State & global_state()
void set_modulus(const BigInt &, Usage_Hints=NO_HINTS) const
static size_t window_bits(size_t exp_bits, size_t base_bits, Power_Mod::Usage_Hints hints)
void set_base(const BigInt &) const
Power_Mod(const BigInt &=0, Usage_Hints=NO_HINTS)