gendistkey.cpp

来自「aes的原代码」· C++ 代码 · 共 34 行

CPP
34
字号
#include "StdAfx.h"
#include ".\gendistkey.h"

GenDistKey::GenDistKey(const char * p,const  char * q,const  char * x)
{
	P = new BigInt(p);
	Q = new BigInt(q);
	X = new BigInt(x);
	TWO = new BigInt("2");
	N = P->Mul(*Q);
}

GenDistKey::~GenDistKey(void)
{
	delete(P);
	delete(Q);
	delete(X);
	delete(TWO);
}

BigInt GenDistKey::SectionSeed(int secNum)
{
	secNum++;
	BigInt X0,Temp1,N1;
	N1=P->Sub(1).Mul(Q->Sub(1));
	X0= X->Mul(*X).Mod(N);
	Temp1 = TWO->ModPow(secNum,N1);
	return X0.ModPow(Temp1,N);
}

BigInt GenDistKey::NextSeed(BigInt &Xi)
{
	return Xi.Mul(Xi).Mod(N);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?