7 #ifndef BOTAN_MONTY_INT_H_
8 #define BOTAN_MONTY_INT_H_
10 #include <botan/bigint.h>
15 class Modular_Reducer;
17 class Montgomery_Params;
28 Montgomery_Int(std::shared_ptr<const Montgomery_Params> params) : m_params(params) {}
35 bool redc_needed =
true);
41 const uint8_t bits[],
size_t len,
42 bool redc_needed =
true);
48 const word words[],
size_t len,
49 bool redc_needed =
true);
54 std::vector<uint8_t> serialize()
const;
123 std::shared_ptr<const Montgomery_Params> m_params;
175 void square_this(
BigInt& x,
#define BOTAN_UNSTABLE_API
const BigInt & R2() const
void const_time_unpoison() const
Montgomery_Int(std::shared_ptr< const Montgomery_Params > params)
int(* final)(unsigned char *, CTX *)
OID operator+(const OID &oid, uint32_t new_comp)
const BigInt & repr() const
BigInt operator-(const BigInt &x, const BigInt &y)
std::vector< T, secure_allocator< T >> secure_vector
const BigInt & R1() const
BigInt square(const BigInt &x)
std::vector< T, Alloc > & operator+=(std::vector< T, Alloc > &out, const std::vector< T, Alloc2 > &in)
BigInt operator*(const BigInt &x, const BigInt &y)
const BigInt & R3() const
bool operator==(const AlgorithmIdentifier &a1, const AlgorithmIdentifier &a2)
bool operator!=(const Montgomery_Int &other) const
void const_time_poison() const
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)