阅读:1161回复:0
PGP的安全问题分析<二>
PGP的安全问题分析<二>
2000-08-18? loking?105安全中心 -------------------------------------------------------------------------------- RSA 的安全性问题 先看看RSA的基本原理,我们知道RSA的保密性基于一个数学假设:对一个很大的合 数进行质因数分解是不可能的。RSA用到的是两个非常大的质数的乘积,用目前的计算机 水平是无法分解的。但是这说明不了什么,没有“证明”RSA的安全性。这既不说明分解 这个大数是攻击RSA唯一的(或者说是最佳的)途径,也不能证明这种分解真的那么困难。 RSA有可能存在一些密码学方面的缺陷,随着数论的发展也许会找到一种耗时以多项式方 式增长的分解算法。不过目前这还只是展望,甚至连发展的方向都还没有找到。有三种 事物的发展会威胁到RSA的安全性:分解技术、计算机能力的提高和计算机造价的降低。 特别是第一条对RSA的威胁最大,因为只要大数分解的问题不解决,做乘法总是比分解因 数快得多,计算机能力强大了尽可以加长密匙来防御,因为那时加密也会快得多的。 RSA的密匙生成步骤可以分为七步: --找到两个大质数 p,q --做乘法 n=p*q --选择一个数 e,满足 e n ,而且缺省的e 值为17,如果不行再用19,23 等等。 RSA的计时攻击法 这是一种另辟蹊径的方法。是由 Paul Kocher 发表的。大家可以发现,RSA的基本 运算是乘方取模,这种运算的特点是耗费时间精确取决于乘方次数。这样如果 A 能够监 视到RSA解密的过程,并对它计时,他就能算出d来。细节我就不复述了。我想说的是如 何抵御它。Rivest说,最简单的方法就是使RSA在基本运算上花费均等的时间,而与操作 数无关。其次在加密前对数据做一个变换(花费恒定时间),在解密端做逆变换,这样 总时间就不再依赖于操作数了。 至于PGP根本不用担心计时攻击,因为PGP采用了中国余数理论的方法加速了运算,同 时也使耗时与操作数无关。同时计时攻击对攻击者资源的要求太高,实时监视加密过程 不是任何人都可能做到的。在这里提出这种攻击是因为:虽然它目前还不实用,但从理论 上是一个崭新的思路,值得注意。 其他对RSA的攻击法 还有一些对RSA的攻击,象公共模数攻击。它是指几个用户公用一个模数 n ,各自 有自己的 e 和 d,在几个用户之间公用 n 会使攻击者能够不用分解 n 而恢复明文。 但是PGP是不会在用户之间公用模数的。 最后谈谈RSA密匙长度的问题,多长的密匙是安全的。专家指出,任何预言都是不 理智的,就目前的计算机水平用1024-bits的密匙是安全的,2048-bits是绝对安全的。 但是他们并不指望这个局面延续到下世纪,他们只是指出:如果RSA象有些人说的那样 脆弱,就不可能从1977年一直保持到现在还没有被攻破。 |
|
|