/* ****************************************************************************
*
* Copyright 2013 Nedim Srndic
*
* This file is part of rsa - the RSA implementation in C++.
*
* rsa is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* rsa is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with rsa. If not, see .
*
* Key.h
*
* Author: Nedim Srndic
* Release date: 16th of June 2008
*
* A class representing a public or private RSA key.
*
* A public or private RSA key consists of a modulus and an exponent. In this
* implementation an object of type BigInt is used to store those values.
*
* ****************************************************************************
*/
#ifndef KEY_H_
#define KEY_H_
#include "BigInt.h"
#include
class Key
{
private:
BigInt modulus;
BigInt exponent;
public:
Key(const BigInt &modulus, const BigInt &exponent) :
modulus(modulus), exponent(exponent)
{}
const BigInt &GetModulus() const
{
return modulus;
}
const BigInt &GetExponent() const
{
return exponent;
}
friend std::ostream &operator<<(std::ostream &, const Key &key);
};
#endif /*KEY_H_*/