7#ifndef BOTAN_MONTY_INT_H_
8#define BOTAN_MONTY_INT_H_
10#include <botan/bigint.h>
17class 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,
Montgomery_Int(std::shared_ptr< const Montgomery_Params > params)
const BigInt & repr() const
void const_time_poison() const
bool operator!=(const Montgomery_Int &other) const
void const_time_unpoison() const
const BigInt & R3() const
const BigInt & R2() const
const BigInt & R1() const
int(* final)(unsigned char *, CTX *)
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
#define BOTAN_UNSTABLE_API
BigInt operator*(const BigInt &x, const BigInt &y)
BigInt square(const BigInt &x)
BigInt operator-(const BigInt &x, const BigInt &y)
OID operator+(const OID &oid, uint32_t new_comp)
bool operator==(const AlgorithmIdentifier &a1, const AlgorithmIdentifier &a2)
std::vector< T, Alloc > & operator+=(std::vector< T, Alloc > &out, const std::vector< T, Alloc2 > &in)
std::vector< T, secure_allocator< T > > secure_vector