diff options
author | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
commit | e585187b248f48b3c6e9247b49fa07c6565d65e5 (patch) | |
tree | 637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /src/shared/Auth/BigNumber.h | |
parent | 26b5e033ffde3d161382fc9addbfa99738379641 (diff) |
*Backed out changeset 3be01fb200a5
--HG--
branch : trunk
Diffstat (limited to 'src/shared/Auth/BigNumber.h')
-rw-r--r-- | src/shared/Auth/BigNumber.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/shared/Auth/BigNumber.h b/src/shared/Auth/BigNumber.h index 898f53c2a05..f1b3a0beda2 100644 --- a/src/shared/Auth/BigNumber.h +++ b/src/shared/Auth/BigNumber.h @@ -17,10 +17,14 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #ifndef _AUTH_BIGNUMBER_H #define _AUTH_BIGNUMBER_H + #include "Common.h" + struct bignum_st; + class BigNumber { public: @@ -28,12 +32,16 @@ class BigNumber BigNumber(const BigNumber &bn); BigNumber(uint32); ~BigNumber(); + void SetDword(uint32); void SetQword(uint64); void SetBinary(const uint8 *bytes, int len); void SetHexStr(const char *str); + void SetRand(int numbits); + BigNumber operator=(const BigNumber &bn); + BigNumber operator+=(const BigNumber &bn); BigNumber operator+(const BigNumber &bn) { @@ -64,15 +72,22 @@ class BigNumber BigNumber t(*this); return t %= bn; } + bool isZero() const; + BigNumber ModExp(const BigNumber &bn1, const BigNumber &bn2); BigNumber Exp(const BigNumber &); + int GetNumBytes(void); + struct bignum_st *BN() { return _bn; } + uint32 AsDword(); uint8* AsByteArray(int minSize = 0); + const char *AsHexStr(); const char *AsDecStr(); + private: struct bignum_st *_bn; uint8 *_array; |