1024 位 Diffie Hellman 密钥交换是否安全?

信息安全 密码学 加密 密钥交换
2021-09-07 03:08:10

我的系统对服务器使用 AES-256、4096 位 RSA CA 密钥和 2048 位 RSA 密钥以及 SHA-256 签名。

使用 1024 位 DH 密钥交换会降低其安全性吗?

我在一个邮件列表中读到 1024 位 DH 提供了大约 70-80 位的安全性,这是真的吗?

2个回答

比较对称加密和非对称密钥交换之间的密钥强度就像比较苹果和橙子:这是可行的(它们都是美味的水果),但很棘手并且充满了微妙的细节。为了打破 DH,最有名的方法是尝试解决离散对数问题,其中最有名的算法是索引演算的变体,其中包含通用数域筛算法的部分(GNFS 用于分解,但离散对数模 a素数和非素数大整数的因式分解是数学相关的问题)。这种攻击算法需要相当大的马力,尤其是大量非常快的 RAM;另一方面,通过穷举搜索来破坏对称密钥(这就是我们所说的“n位安全”)只需要 CPU,但不需要 RAM,并且更容易分布在许多节点上。所以苹果是 CPU,橙子是 RAM。两者真正唯一共同的衡量标准是美元;但询问财务破解 1024 位 DH 密钥的成本,或破解 80 位对称密钥的财务成本,是没有意义的,因为这涉及到美元不再被明确定义的金额(作为一个数量级,美元可用于衡量高达美国国债的金额,但不会高多少)。

这些警告并没有阻止各种研究人员和标准化组织进行苹果/橙子的比较。该网站使用方便的在线计算器很好地列出了这些安全估计。作为基线,他们几乎都同意 1024 位 DH 在安全性方面与 77 到 80 位对称密钥提供的安全性接近。请注意,64 位对称密钥在 2002 年被破解,而 77 位“仅”困难 8192 倍。

由于最知名的离散对数攻击(带有 GNFS 的 IC)与最知名的分解算法 (GNFS) 有许多共同部分,因此具有k位模数的 DH 应该大致等效于具有k位模数的 RSA 密钥。所以你也应该为 DH 使用 2048 位。

在您的列表中,“AES-256”是过度杀伤(AES-128 仍然比 2048 位 RSA 或 DH“更安全”),但大多是无害的过度杀伤(AES-256 仅比 AES-128 慢 40%)。

一个好的经验法则是将 DH 密钥大小与 RSA 密钥大小相匹配,因此 2048 是 2011 年使用的一个很好的最小值。