/* **************************************************************************** * * 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 "coreSQLiteStudio_global.h" #include class API_EXPORT 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_*/