7 #ifndef BOTAN_MONTY_EXP_H_
8 #define BOTAN_MONTY_EXP_H_
15 class Modular_Reducer;
17 class Montgomery_Params;
19 class Montgomery_Exponentation_State;
24 std::shared_ptr<const Montgomery_Exponentation_State>
28 bool const_time =
true);
33 BigInt
monty_execute(
const Montgomery_Exponentation_State& precomputed_state,
34 const BigInt& k,
size_t max_k_bits);
46 BigInt
monty_multi_exp(std::shared_ptr<const Montgomery_Params> params_p,
BigInt monty_multi_exp(std::shared_ptr< const Montgomery_Params > params_p, const BigInt &x_bn, const BigInt &z1, const BigInt &y_bn, const BigInt &z2)
BigInt monty_execute_vartime(const Montgomery_Exponentation_State &precomputed_state, const BigInt &k)
std::shared_ptr< const Montgomery_Exponentation_State > monty_precompute(std::shared_ptr< const Montgomery_Params > params, const BigInt &g, size_t window_bits, bool const_time)
BigInt monty_execute(const Montgomery_Exponentation_State &precomputed_state, const BigInt &k, size_t max_k_bits)