RSA.rar

  • zc1239887
    了解作者
  • C/C++
    开发工具
  • 39KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2020-07-01 21:04
    上传日期
RSA算法加密和解密,代码简洁易懂,附有说明。
RSA.rar
  • RSA..cpp
    1.9KB
  • RSA..exe
    133.7KB
内容介绍
#include <stdio.h> #include <math.h> #include <stdlib.h> //判断一个数是否为素数 int prime(long num){ if (num>2){ long max=sqrt(num); for (long i=2;i<=max;i++) if (num%i==0) return 0; else return 1; } else if (num<2) return 0; else return 1; } //根据e和t(t就是fi n)求解密密钥a a=e的负一次方 mod(fi(n)) long gainD(long e,long t){ //t就是fi n long a; long k=1; while (1){ k+=t; if (k%e==0){ a=k/e; return a; //求解密密钥 } } } //加密函数 不断地乘自己然后取模 也就是次方取模(明文的e次方 mod n) long jiami(long msg,long e,long n){ long tmp=msg; long res=1; for (long i=0;i<e;i++){ res%=n; res*=tmp; res%=n; } return res; } //解密函数 同加密 (密文的a次方 mod n) long jiemi(long msg,long a,long n){ long tmp=msg; long res=1; for (long i=0;i<a;i++){ res%=n; res*=tmp; res%=n; } return res; } int main (void){ int isprime=0; long p,q,n,t; printf("输入质数p:\n"); while (isprime==0){ scanf("%ld",&p); isprime=prime(p); if (isprime==0) printf("非质数重新输入\n"); } isprime=0; printf("输入质数q:\n"); while (isprime==0){ scanf("%ld",&q); isprime=prime(q); if (isprime==0) printf("非质数重新输入\n"); } n=p*q; t=(p-1)*(q-1); long e; printf("输入e\n"); scanf("%ld",&e); long a=gainD(e,t);//求解密密钥a printf("公钥为n=%ld,e=%ld\n",n,e); printf("私钥为n=%ld,a=%ld\n",n,a); long msg; printf("请输入要加密的明文:\n"); scanf("%ld",&msg); long miwen=jiami(msg,e,n); printf("加密后为%ld\n",miwen); long xinxi=jiemi(miwen,a,n); printf("解密后为%ld\n",xinxi); return 0; }
评论
    相关推荐
    • RSA算法实现
      自己实现的RSA算法,实现了从生成密钥对到加解密的整个过程。在头文件可以修改密钥的长度。
    • RSA算法代码
      网络安全中的经典问题,RSA算法。#include #include int sushupanduan(int a, int b) { int s,i,f,g; s = sqrt(a); for(i = 2; i ; i++) if(a % i == 0) break; if(i > s) f=1; else return 0; ...
    • RSA算法工具 RSA算法
      RSA算法工具RSA算法工具RSA算法工具RSA算法工具 RSA算法工具
    • delphi RSA算法
      经典的delphi rsa算法 值得参考
    • RSA算法加密
      将输入明文加密,显示密文,可以解密,显示公钥和密钥,清晰的加密解密过程,对RSA算法加密有更好的掌握
    • RSA算法
      rsaeuro1.02源码
    • RSA算法
      NULL 博文链接:https://melodyzf.iteye.com/blog/2032954
    • RSA算法
      RSA算法是公钥加密算法中重要的算法之一,本算法即实现RSA的加解密过程。
    • RSA算法实现
      利用MFC实现的RSA算法,其中包括: 用MFC实现的简洁界面; 大素数生成算法生成大素数;
    • RSA 算法演示
      RSA算法演示,有注释,C++实现,可以参考,使用时大素数最好用RSA公共工具RSATool2v17.exe生成