Rabin密码算法

  • a1_244305
    了解作者
  • 138.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-17 07:15
    上传日期
Rabin密码算法的编程实现,用户输入明文,输出密文。
Rabin密码.rar
  • 5110369002-齐菁-Rabin密码
  • code.o
    15.3KB
  • code.cpp
    2KB
  • code_func.h
    6.3KB
  • 结果演示.png
    24KB
  • Makefile.win
    840B
  • Project.exe
    476.2KB
  • Project.dev
    952B
内容介绍
//不需要用户手动输入密文 #include <cstdlib> #include <iostream> #include <ctime> #include <string> #include <math.h> #define N 100 #include "code_func.h" using namespace std; int main(int argc, char *argv[]) { srand(time(0)); //随机产生大素数p,q,且p=q模4=3 long long p=RandomPrime(28); //随机生成两个素数,p、q是私钥 long long q=RandomPrime(28); long long n=p*q; cout<<"p= "<<p<<" q= "<<q<<" n= "<<n<<endl; //求中国剩余定理需要的p1,q1 //广义欧几里德除法求p1,q1 long long p1=Oj(p,q); long long q1=Oj(q,p); //明文s1=;(数字化处理); string s1m,mes; char c; long long s1[N]={0}; long long len=0; cout<<"please input the massage"<<endl; cin>>s1m; len=s1m.size(); c=getchar(); while(c==' '){ cin>>mes; s1m=s1m+" "+mes; len=s1m.size(); c=getchar();} Mes_num(s1m,s1); //得到c=s1^2=s2(mod n); long long s2[N]={0}; long long k=0; while(s1[k]){ s2[k]=Mod_equ((s1[k]*s1[k]),n); k++;} //输出加密后密码 cout<<endl<<endl<<"the code is: "; k=0; while(s2[k]){ cout<<s2[k]<<" "; k++;} cout<<endl; //解密后使用中国剩余定理 k=0; long long s3[N]={0},s4[N]={0};//手动输入的密码 long long i=0,j=0; while(s2[k]){ i=Cod_Mes(s2[k],p); j=Cod_Mes(s2[k],q); if(i>(long long)(p/2)) i=p-i; if(j>(long long)(q/2)) j=q-j; long long i1=Mod_equ((p*p1*j),n); long long j1=Mod_equ((q*q1*i),n); s4[k]=Mod_equ((i1+j1),n); k++;} char ss[N];//密码解密后对应的明文 cout<<endl<<endl<<"the message should be:"<<endl; Num_mes(s4,ss); k=0; while(ss[k]){ cout<<ss[k]; k++;} getchar(); system("PAUSE"); return EXIT_SUCCESS; }
评论
    相关推荐
    • 算法
      算法 算法
    • 程序员算法
      这是一个算法文档压缩包,其中包括《可能与不可能的边界》、《具体数学》、《算法的乐趣》、《啊哈!算法》。这些书很适合对算法感兴趣的朋友,书籍讲解算法非常有趣。注意,其中有些文档是试读版本。
    • 算法实验
      算法实验算法实验算法实验算法实验算法实验算法实验算法实验算法实验
    • SIFT 算法
      SIFT 算法SIFT 算法SIFT 算法SIFT 算法
    • RSA算法
      RSA算法是公钥加密算法中重要的算法之一,本算法即实现RSA的加解密过程。
    • 分词算法介分词算法
      算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语...
    • unify算法
      unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法
    • 寻路算法
      寻路算法 寻路封装
    • dsp算法算法算法算法
      dsp各种算法
    • 大数据算法
      本书共分为10章,第1章概述大数据算法,第2章介绍时间亚线性算法,第3章介绍空间亚线性算法,第4章概述外存算法,第5章介绍大数据外存查找结构,第6章讲授外存图数据算法,第7章概述MapReduce算法,第8章通过一系列...