8 #include <botan/internal/openssl_engine.h>
9 #include <botan/internal/bn_wrap.h>
18 class OpenSSL_Modular_Exponentiator :
public Modular_Exponentiator
21 void set_base(
const BigInt& b) {
base = b; }
22 void set_exponent(
const BigInt& e) {
exp = e; }
23 BigInt execute()
const;
24 Modular_Exponentiator* copy()
const
25 {
return new OpenSSL_Modular_Exponentiator(*
this); }
27 OpenSSL_Modular_Exponentiator(
const BigInt&
n) :
mod(n) {}
36 BigInt OpenSSL_Modular_Exponentiator::execute()
const
51 return new OpenSSL_Modular_Exponentiator(n);
Modular_Exponentiator * mod_exp(const BigInt &, Power_Mod::Usage_Hints) const