rsa.txt

来自「RSA加密源代码」· 文本 代码 · 共 74 行

TXT
74
字号
#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 + =
减小字号Ctrl + -
显示快捷键?