00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_RSAPRIVATEKEYSPEC_H
00024 #define _CLASS_RSAPRIVATEKEYSPEC_H
00025
00026 #include "beecrypt/api.h"
00027 #include "beecrypt/mpbarrett.h"
00028
00029 #ifdef __cplusplus
00030
00031 #include "beecrypt/c++/lang/Object.h"
00032 using beecrypt::lang::Object;
00033 #include "beecrypt/c++/security/spec/KeySpec.h"
00034 using beecrypt::security::spec::KeySpec;
00035
00036 namespace beecrypt {
00037 namespace security {
00038 namespace spec {
00041 class BEECRYPTCXXAPI RSAPrivateKeySpec : public beecrypt::lang::Object, public beecrypt::security::spec::KeySpec
00042 {
00043 private:
00044 mpbarrett _n;
00045 mpnumber _d;
00046
00047 public:
00048 RSAPrivateKeySpec(const mpbarrett& modulus, const mpnumber& privateExponent);
00049 virtual ~RSAPrivateKeySpec();
00050
00051 const mpbarrett& getModulus() const throw ();
00052 const mpnumber& getPrivateExponent() const throw ();
00053 };
00054 }
00055 }
00056 }
00057
00058 #endif
00059
00060 #endif