下载此文档

ElGamal加密算法.doc


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
/*α=2,p=7,a=3,x=8,r=5;加密变换Ek(x,r)=(y1,y2)*/#include<iostream>usingnamespacestd;unsignedlongmoni(intn,unsignedlongd)//定义求模逆运算的函数{unsignedlonga,b,r,q;longv,w,t;a=n;b=d;t=0;v=1;q=a/b;r=a%b;while(r!=0)//用展转相除法求模逆{a=b;b=r;w=v;v=t-q*v;t=w;q=a/b;r=a%b;}if(v<0)v=n+v;returnv;}unsignedlongErjinzhif(intm,inta)//定义二进制求m的a次方运算的函数{unsignedlongnum;inty,i,sum;intg=0,d[32]={0};sum=0;num=1;while(a>0)//用求二进制的方法求m的a次方,将a化为二进制{sum=a%2;d[g]=sum;g++;a=(int)(a/2);}num=m*m;for(i=g-2;i>=1;i--)//用求出的二进制的各位作指数与原值相乘再求平方{if(d[i]==1)y=m;elsey=1;num=num*y;num=num*num;}returnnum;}voidmain()//主函数main{inti,p,a,b,c,x,r,y1,y2,m,g;unsignedlongx1,y;y1=1;y2=1;m=1;c=1;cout<<"************ElGamal密码算法的应用************"<<endl;cout<<"请输入本原α的值:α=";cin>>b;cout<<"请输入大素数p的值:p=";cin>>p;cout<<"请输入随机整数a(a>=0&&a<=(p-2))的值:a=";cin>>a;cout<<"请输入要发送的消息x的值:x=";cin>>x;cout<<"请输入随机数r(r>=0&&r<=(p-2))的值:r=";cin>>r;for(i=0;i<(a*r);i++){y2=b*y2;y2=y2%p;

ElGamal加密算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小17 KB
  • 时间2019-10-10