📄 rsa.txt
字号:
#include <math.h>
unsigned f(unsigned *n,unsigned *p,unsigned *q)
{
unsigned x=1,i=0,t=1,*p=2;
while (*p<*n&&x==1)
{
if (*n%p==0)
{
*q=*n/*p;
for (i=2;i<*q;i++)
{
if(*q%i==0)
break;
else x=2;
}
}
while(t==1)
{
*p++;
for (i=2;i<*p;i++)
{
if(*p%i==0)
break;
else t=2;
}
}
}
unsigned y(unsigned *x)
{
unsigned i=0;
for (i=2;i<*x;i++)
{
if (*x%2==0)
{ *x=0;break;}
}
return *x;
}
unsigned gcd(unsigned *y,unsigned *e)
{ unsigned i=0;
for (i=*e;i>0;i--)
{
if (*y%i==0)
break;
}
return i;
}
unsigned d(unsigned *y,unsigned*e,unsigned *t)
{
unsigned n=1,d=0;
for(n=1; ;n++)
{
if((*y)*n+(*t))%(*e)==0)
{
d=((*y)*n+(*t))%(*e);break;
}
}
return d;
}
main()
{
unsigned *n,*e,*c;
unsigned *p=2,*q=2,*y=0,*d=0,*t=0,M=0;
printf(" input mi wen:");
scanf("*n %d",n);
scanf("*n %d",e);
scanf("*n %d",c);
f(n,p,q);
*y=(*p-1)*(*q-1);
*t=gcd(y,e);
*d=d(y,e,t);
M=power(*c,*d)%*n;
printf("ming wen shi:%d",M);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -