RSA算法的安全性

在RSA密码应用中,公钥KU是被公开的,即e和n的数值是能够被第三方获得的。破解RSA密码的问题就是从已知的e和n的数值(n等于pq),想办法求出d的数值,这样就能够获得私钥来破解密文。
从RSA的原理中咱们知道(de) mod ((p-1)(q-1)) = 1,能够推导出d ≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1))) 由此咱们能够看出。密码破解的实质问题是:从p、q的数值,去求出(p-1)和(q-1)。换句话说,只要求出p和q的值,咱们就能求出d的值而获得私钥。
当p和q是一个大素数的时候,从它们的积pq去分解因子p和q,这是一个公认的数学难题。好比当pq大到1024位时,迄今为止尚未人可以利用任何计算工具去完成分解因子的任务。所以,RSA从提出到如今已近二十年,经历了各类***的考验,逐渐为人们接受,广泛认为是目前最优秀的公钥方案之一。
可是RSA除了上述优势以外,也是有缺点的,RSA的缺点以下:
1)虽然RSA的安全性依赖于大数的因子分解,但并无从理论上证实破译RSA的难度与大数分解难度等价。
2)产生密钥很麻烦,受到素数产生技术的限制,于是难以作到一次一密。
3)分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤为是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增长,不利于数据格式的标准化。所以,使用RSA只能加密少许数据,大量的数据加密还要靠对称密码算法。
4)一样安全级别的加密算法,RSA须要更长的密钥。这就使运算速度较慢,较对称密码算法慢几个数量级。且随着大数分解技术的发展,这个长度还在增长,不利于数据格式的标准化。
所以,使用RSA只能加密少许数据,大量的数据加密还要靠对称密码算法。实际应用中通常用来加密对称算法的密钥,而密文多用对称加密算法加密传输。算法

相关文章
相关标签/搜索