当前位置:首页 >资讯 >RAS算法的保密性能


RAS算法是一种基于数学原理的开放密钥系统,是目前最有效的开放密钥加密算法之一。RAS算法的安全性取决于大数分解的难度,在网络和数据安全系统的加密中得到了广泛的应用。数字签名和身份认证需要很多领域。

RAS算法的安全性取决于大数分解。如果破译者可以分解大数n,那么只需要测试两次,就可以根据构造这个算法的相同方法找到解密钥,从而破译清晰的文本。然而,大整数n的素因分解是一个极其困难的问题。目前已知的算法需要E√1nnn(1nn)次计算操作。如果一台每秒108次的计算机被用来分解160位的十进制数,那么所需的时间(年)如下:

RAS算法的保密性能浅析。

从上面的计算中可以看出,增加n的位数和分解它需要更长的时间,这大大提高了RAS的安全性。虽然理论上没有证明破译RAS的难度等于大数分解的难度,但RAS经历了近30年的各种攻击测试。

选择素数

破译RAS算法的攻击者步骤如下:

1.分解n并求出p.q。

2.求出Φ(n)=(p-1)(q-1)(n)。

3.求出d,由ed=1modΦ(n)。

为了更好地防止分解,在选择P.Q时,首先,注意P和Q之间的数字差异极大;第二,(p-1)和(q-1)都应该包含大量的素数因素,以增加攻击者猜测Φ(n)的难度;第三,gcd(p-1,q-1)应该很小。符合这些条件的素数称为安全素数。

事实上,所谓攻击者破译RAS算法,是指通过已知的e和n来计算D和Φ(n)。为了密码算法的安全性,P*Q乘积的结果必须尽可能大,这使得计算量成为一个指数增加,增加了算法的难度,降低了实用性。RAS公开密钥算法的难点在于存储容量的计算和运行速度。如果位数减少,速度会变得更快,难度会降低,安全性会变差。

实际上,当破译算法的成本远远大于其收入时,所有的应用算法都是基于这样一个合理的假设,这是安全的。