加密与解密算法的研究
出处:论文网
时间:2007-01-18
4.RSA公钥密码体制的应用
(1)数字签名
长期以来的日常生活中,对于重要的文件,为了防止对文件的否认,伪造,篡改等等的破坏,传统的方法是在文件上手写签名。但是在计算机系统中无法使用手写签名,而代之对应的数字签名机制。数字签名应该能实现手写签名的作用,其本质特征就是仅能利用签名者的私有信息产生签名。因此,当它被验证时,它也能被信任的第三方(如法官)在任一时刻证明只有私有信息的唯一掌握者才能产生此签名。其特点:签名是可信的,签名是不能伪造的,签名是不可重用的,签名后的文件是不能更改的,签名是不能否认的。
三、过程论述
1.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=pq.......m,n这两个数便是public key编码过程是,若资料为a,将其看成是一个大整数,假设a
m是任一质数,n是任一整数,则n^m==nmodm<证明>因为rm==1 mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整数因为在modulo中是preserve乘法的(x==ymodz and u==vmodz=>xu==yv modz),所以
c==b^r==(a^m)^r==a^(rm)==a^(k(p-1)(q-1)+1)modpq
(1)如果a不是p的倍数,也不是q的倍数时:
则a^(p-1)==1modp(费马小定理)=>a^(k(p-1)(q-1))==1 modp a^(q-1) ==1 mod q(费马小定理)=>a^(k(p-1)(q-1))==1 modq所以p,q均能整除a^(k(p-1)(q-1即a^(k(p-1)(q-1))==1modpq即a^(k(p-1)(q-1))==1 mod pq=>c==a^(k(p-1)(q-1)+1)==a mod pq
(2)如果a是p的倍数,但不是q的倍数时:
则a^(q-1)==1 mod q(费马小定理)=>a^(k(p-1)(q-1))==1 modq
=>c==a^(k(p-1)(q-1)+1)==a mod q=>q|c-a
因p|a=>c==a^(k(p-1)(q-1)+1)==0 modp=>p|c-a
所以,pq|c-a=>c==amod pq
(3)如果a是q的倍数,但不是p的倍数时,证明同上
(4)如果a同时是p和q的倍数时:
则pq|a =>c==a^(k(p-1)(q-1)+1)==0mod pq=>pq|c-a
=>c==a mod pq
这个定理说明a经过编码为b再经过解码为c时,a ==c mod n(n =pq)但我们在做编码解码时,限制0<=a
2.RSA 的安全性
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA 的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大素数。因此,模数n 必须选大一些,因具体适用情况而定。
3.RSA的速度
由于进行的都是大数计算,使得RSA最快的情况也比DES慢上一倍,无论是软件还是硬件实现,速度一直是RSA的缺陷。一般来说只用于少量数据加密。
参考文献
[1] 陈 运.信息加密原理[M].成都:电子科技大学出版社,1990.
[2] 张 周.我国企业开始重视网络安全[J].计算机世界A9版.2000,(3).
[3] 张文政,孟庆志.通信保密技术[J].计算机应用.1998,(6):25~28.
[4] 王 勇.RSA公开密钥密码体制的密钥生成研究
- 上一篇:随机型存储模型应用研究
- 下一篇:基于声卡的数据采集及波形发生器设计