有时,描述一种密码系统安全性的最简单方法是说“解决x位密钥所需的时间是y年”。我们将如何为RSA、DH和ElGamal进行这样的计算。换句话说,给定x,如何解y?
发布于 2011-10-06 13:35:07
本文给出了通用数域筛分解大整数的渐近公式。这是最有效的破译RSA密钥的算法,RSA密钥超过400位左右(因为当前的世界记录是768位,400位RSA密钥是相当弱的)。对于离散对数 (破坏DH),最著名的算法也被称为“数字字段筛”,它与分解的算法非常相似。特别是,它具有相同的渐近复杂性。
但是,渐近公式并不能捕获所需的所有信息:
因此,估计RSA或DH密钥的中断时间的实用方法是从已发布的整数因式分解记录和离散对数记录中进行外推。
在这种“外推”方面已经做了很多工作,特别是在寻找对称和非对称密钥长度之间的“等价”(如:“1024位RSA密钥与160位哈希函数大致相同”)。有关由不同组织发出的结果建议的全面摘要,请参见本站 (带有在线计算器和多个指针)。鉴于我上面提到的各点,毫不奇怪的是,公布的建议实际上并不匹配.
2011年经常给出的综合建议是:“使用2048位RSA/DH/DSA密钥,这样你就可以享受一段时间了。”
发布于 2011-10-06 02:04:29
这些断言总是带有一些假设,要么被阐明,要么隐含。
在大多数公钥算法中,从公钥导出私钥最好通过解决一些数学问题来完成(据目前所知)。
所以我们假设如下:
有了这些,我们就可以简单地计算出破解密钥所需的时间(平均)。
https://crypto.stackexchange.com/questions/913
复制相似问题