📄 gendistkey.cpp
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -