• 豆搜网 > RSA加解密算法
  • RSA加解密算法

    免费下载 下载此文档 文档格式:DOC   更新时间:2005-12-05   下载次数:0   点击次数:2
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:wangbin
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    RSA加解密算法
    算法简介
    假设资料要由A机器传至B机器,那,由B机器用乱数决定一个key,我们称之为docsou.comekey,这个key自始至终都只留在B机器里不送出来然后,由这个docsou.comekey计算出另一个key,我们称之为docsou.comckey.这个docsou.comckey的特性是几乎不可能反演算出docsou.comekey来然后将这个docsou.comckey透过网路丢给A机器.A机器将资料用这个docsou.comckey编码,这个编码过的资料一定得使用docsou.comekey才解得开然后A机器将编码过的资料透过网路传给B,B再用docsou.comekey将资料解码这时,如果有第三者窃听资料时,他只得到B传给A的docsou.comckey,以及A用这个docsou.comckey编码后的资料没有docsou.comekey,第三者根本无法解码所以这个方法确实能防止第三者的窃听
    它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很流行.算法的名字以发明者的名字命名:Ron docsou.comt, docsou.comamir 和Leonard Adleman.但RSA的安全性一直未能得到理论上的证明.它经历了各种攻击,至今未被完全攻破.
    RSA的安全性依赖于大数分解.公钥和私钥都是两个大素数( 大于 100 个十进制位)的函数.据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积.
    密钥对的产生.选择两个大素数,p 和q .计算:
    n = p * q
    然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质.最后,利用 docsou.comd 算法计算解密密钥d,满足
    e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
    其中n和d也要互质.数e和 n是公钥,d是私钥.两个素数p和q不再需要,应该丢弃,不要让任何人知道.
    加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s ,其中 <= n, s 尽可能的
    大.对应的密文是:
    ci = mi^e ( mod n ) ( a )
    解密时作如下计算:
    mi =ci^d ( mod n ) ( b )
    RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证.具体操作时考虑到安全性和 m信息量较大等因素,一般是先作 HASH 运算.
    RSA 的安全性. RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA就一定需要作大数分解.假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法.目前, RSA 的一些变种算法已被证明等价于大数分解.不管怎样,分解n是最显然的攻击方法.现在,人们已能分解多个十进制位的大素数.因此,模数n 必须选大一些,因具体适用情况而定.
    RSA的速度. 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是硬件实现.速度一直是RSA的缺陷.一般来说只用于少量数据加密.
    RSA的选择密文攻击. RSA在选择密文攻击面前很脆弱.一般攻击者是将某一信息作一下伪装( Blind),让拥
    有私钥的实体签署.然后,经过计算就可得到它所想要的信息.实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:
    ( XM )^d = X^d *M^d mod n
    前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥.但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way docsou.comn 对文档作HASH处理,或同时使用不同的签名算法.在中提到了几种不同类型的攻击方法.
    RSA的公共模数攻击. 若系统中共有一个模数,只是不同的人拥有不同的e和d,系统将是危险的.最普遍的情况是同一信息用不同的公钥加密,这些公钥共模而且互质,那末该信息无需私钥就可得到恢复.设P为信息明文,两个加密密钥为e1和e2,公共模数是n,则:
    C1 = P^e1 mod n
    C2 = P^e2 mod n
    密码分析者知道n,e1,e2,C1和C2,就能得到P. 因为e1和e2互质,故用docsou.coman算法能找到r和s,满足:

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 赞助商链接