2
我正在與一個小項目工作C語言,這是一個RSA文本加密。一個1024位RSA算法與C
該代碼的作品,但問題是,它不工作,如果我選擇一個大的關鍵。 我認爲這個問題是由於模運算,但我找不到解決方案。
有的2個功能的代碼:
ENCRYPT
unsigned int crypt(unsigned int mchiff, unsigned int n,unsigned int e)
{
unsigned int i;
double cc=1;
printf("\n\n\n");
for(i=0;i<e;i++)
{
cc=cc*mchiff;
printf(" : %g : ",cc);
cc=fmod(cc,n);
printf(" < %g > \n",cc);
}
printf("\n\n\n");
return cc;
}
DECRYPT
unsigned long int decrypt(long cc,int n,int d)
{
int i;
unsigned long int cd=1;
for(i=0;i<d;i++) /* the main problem is here if the d is apprx equal to 2^1024 */
{
cd=cd*cc;
cd=cd%n;
}
return cd;
}
我可以建議你讓你的代碼(和你的變量)更具描述性嗎? – Overflowh 2013-04-27 17:24:11