永发信息网

求助,verilog实现RSA加解密算法

答案:2  悬赏:30  手机版
解决时间 2021-02-03 13:29
求助,verilog实现RSA加解密算法
最佳答案
RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。一、RSA算法:首先,找出三个数,p,q,r,其中p,q是两个相异的质数,r是与(p-1)(q-1)互质的数p,q,r这三个数便是privatekey接著,找出m,使得rm==1mod(p-1)(q-1)这个m一定存在,因为r与(p-1)(q-1)互质,用辗转相除法就可以得到了再来,计算n=pqm,n这两个数便是publickey编码过程是,若资料为a,将其看成是一个大整数,假设a=n的话,就将a表成s进位(s因为rm==1mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整数因为在modulo中是preserve乘法的(x==ymodzandu==vmodz=>xu==yvmodz),所以,c==b^r==(a^m)^r==a^(rm)==a^(k(p-1)(q-1)+1)modpq1.如果a不是p的倍数,也不是q的倍数时,则a^(p-1)==1modp(费马小定理)=>a^(k(p-1)(q-1))==1modpa^(q-1)==1modq(费马小定理)=>a^(k(p-1)(q-1))==1modq所以p,q均能整除a^(k(p-1)(q-1))-1=>pq|a^(k(p-1)(q-1))-1即a^(k(p-1)(q-1))==1modpq=>c==a^(k(p-1)(q-1)+1)==amodpq2.如果a是p的倍数,但不是q的倍数时,则a^(q-1)==1modq(费马小定理)=>a^(k(p-1)(q-1))==1modq=>c==a^(k(p-1)(q-1)+1)==amodq=>q|c-a因p|a=>c==a^(k(p-1)(q-1)+1)==0modp=>p|c-a所以,pq|c-a=>c==amodpq3.如果a是q的倍数,但不是p的倍数时,证明同上4.如果a同时是p和q的倍数时,则pq|a=>c==a^(k(p-1)(q-1)+1)==0modpq=>pq|c-a=>c==amodpqQ.E.D.这个定理说明a经过编码为b再经过解码为c时,a==cmodn(n=pq)但我们在做编码解码时,限制0intcandp(inta,intb,intc){intr=1;b=b+1;while(b!=1){r=r*a;r=r%c;b--;}printf("%d\n",r);returnr;}voidmain(){intp,q,e,d,m,n,t,c,r;chars;printf("pleaseinputthep,q:");scanf("%d%d",&p,&q);n=p*q;printf("thenis%3d\n",n);t=(p-1)*(q-1);printf("thetis%3d\n",t);printf("pleaseinputthee:");scanf("%d",&e);if(et){printf("eiserror,pleaseinputagain:");scanf("%d",&e);}d=1;while(((e*d)%t)!=1)d++;printf("thencaculateoutthatthedis%d\n",d);printf("thecipherpleaseinput1\n");printf("theplainpleaseinput2\n");scanf("%d",&r);switch(r){case1:printf("inputthem:");scanf("%d",&m);c=candp(m,e,n);printf("thecipheris%d\n",c);break;case2:printf("inputthec:");scanf("%d",&c);m=candp(c,d,n);printf("thecipheris%d\n",m);break;}getch();}
全部回答
任务占坑
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
建设银行大同分行营业部地址在什么地方,想过
有关溺水的资料?
宝卷的意思是什么啊?知道的请说下!
尚焰铁板烧中西餐厅地址有知道的么?有点事想
请问夏津家庭号的具体地址
建设银行大同东风里分理处地址在哪,我要去那
矿泉街沙涌南社区老年人协会我想知道这个在什
资金具有时间价值的根本原因是()。A.投资和再
联想t430s怎么自动更新系统
建设银行大同迎宾街分理处地址在什么地方,我
稽阅的意思是什么啊?知道的请说下!
下列哪种生物的产生过程中应用了现代生物技术
工商银行御河北路支行怎么去啊,我要去那办事
BEYOND的歌曲属于比较难唱的歌曲吗?黄家驹的
现在考不上高中给毕业证吗
推荐资讯
周固寨村地址在什么地方,想过去办事
利比亚的电话区号是多少?
亲们请问保湿修复效果好的面霜哪个牌子好?要
上海立信会计学院是一本还是二本?
赞美有正能量朋友的话
关于肌酸的禁忌事项……
在校区内买二手房学生可以上学吗
歌手为什么请林志炫,是不是不想让迪马希得冠
【玛雅人是怎么灭亡的】玛雅人存在了多少年?
滨海新区花园菜市场这个地址在什么地方,我要
有哪些非常搞笑的彩铃啊
原车胎后轮215/65R/16换成215/60R/16对车有什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?