四、系统功能描述与软件模块划分
CBigInt 类的功能:
class CBigInt
{
public:
unsigned m_nLength;
unsigned long m_ulValue[BI_MAXLEN];
CBigInt();
~CBigInt();
void Mov(unsigned __int64 A);
void Mov( CBigInt& A);
CBigInt Add( CBigInt& A); //加法
CBigInt Sub(CBigInt& A); //减法
CBigInt Mul(CBigInt& A); //乘法
CBigInt Div(CBigInt& A); //除法
CBigInt Mod( CBigInt& A); //模
CBigInt Add(unsigned long A);
CBigInt Sub(unsigned long A);
CBigInt Mul(unsigned long A);
CBigInt Div(unsigned long A);
void FromString(char *,int len);
int ToString(char *);
unsigned long Mod(unsigned long A);
int Cmp( CBigInt& A);
CBigInt ModExp(CBigInt& A, CBigInt& B);
CBigInt RsaTrans( CBigInt& A, CBigInt& B);
int RabinMiller();
CBigInt Euc(CBigInt& A);
void GetPrime( unsigned bits);
void Put(char *str, unsigned int system) ;
void Get(char* str, unsigned int system);
friend CBigInt operator +(CBigInt&a,CBigInt&b);
friend CBigInt operator -(CBigInt&a,CBigInt&b);
friend CBigInt operator *(CBigInt&a,CBigInt&b);
friend CBigInt operator /(CBigInt&a,CBigInt&b);
friend CBigInt operator %(CBigInt&a,CBigInt&b);