⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsa.c

📁 RSA一个简单的C语言算法实现
💻 C
字号:
#include <stdio.h>
int candp(int a,int b,int c)
{ int r=1;
  b=b+1;
  while(b!=1)
  {
    r=r*a;
    r=r%c;
    b--;
  }
  printf("%d",r);
  return r;
}
void main()
{
  int p,q,e,d,m,n,t,c,r;
  char s;
  {
    printf("please input the p,q: ");
    scanf("%d%d",&p,&q);
    n=p*q;
    printf("the n is %3d\n",n);
    t=(p-1)*(q-1);
    printf("the t is %3d\n",t);
    printf("please input the e: ");
    scanf("%d",&e);
    if(e<1||e>t)
    {
      printf("e is error,please input again: ");
      scanf("%d",&e);
    }
    d=1;
    while(((e*d)%t)!=1)   d++;
    printf("then caculate out that the d is%5d\n",d);
    printf("the cipher please input 1\n");
    printf("the plain  please input 2\n");
    scanf("%d",&r);
    if(r==1)
    {
       printf("input the m:");/*输入要加密的明文数字*/
       scanf("%d",&m);
       c=candp(m,e,n);
       printf("\nthe cipher is %4d",c);
    }
    if(r==2)
    {
       printf("input the c:");/*输入要解密的密文数字*/
       scanf("%d",&c);
       m=candp(c,d,n);
       printf("\nthe cipher is %4d\n",m);
       printf("do you want to use this programe:Yes or No");
       scanf("%s",&s);
    }while(s=='Y');
  }
  getch();
}

⌨️ 快捷键说明

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