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