7#ifndef BOTAN_MONTY_INT_H_
8#define BOTAN_MONTY_INT_H_
10#include <botan/bigint.h>
12#include <botan/internal/ct_utils.h>
41 const BigInt&
p()
const {
return m_data->p(); }
43 const BigInt&
R1()
const {
return m_data->r1(); }
45 const BigInt&
R2()
const {
return m_data->r2(); }
47 const BigInt&
R3()
const {
return m_data->r3(); }
51 size_t p_words()
const {
return m_data->p_size(); }
76 const BigInt& p()
const {
return m_p; }
78 const BigInt& r1()
const {
return m_r1; }
80 const BigInt& r2()
const {
return m_r2; }
82 const BigInt& r3()
const {
return m_r3; }
84 word p_dash()
const {
return m_p_dash; }
86 size_t p_size()
const {
return m_p_words; }
97 std::shared_ptr<const Data> m_data;
133 std::vector<uint8_t> serialize()
const;
void _const_time_unpoison() const
const secure_vector< word > & repr() const
Montgomery_Int(const Montgomery_Params ¶ms)
void _const_time_poison() const
const Montgomery_Params & _params() const
bool operator!=(const Montgomery_Params &other) const
bool operator==(const Montgomery_Params &other) const
Montgomery_Params(const BigInt &p, const Barrett_Reduction &mod_p)
const BigInt & R3() const
const BigInt & R2() const
const BigInt & R1() const
constexpr void unpoison(const T *p, size_t n)
constexpr void poison(const T *p, size_t n)
BigInt square(const BigInt &x)
OctetString operator+(const OctetString &k1, const OctetString &k2)
BigInt operator-(const BigInt &x, const BigInt &y)
std::vector< T, secure_allocator< T > > secure_vector
std::conditional_t< HasNative64BitRegisters, std::uint64_t, uint32_t > word