如何解释 scrypt vs bcrypt vs pbkdf2 比较表?

信息安全 加密
2021-09-04 18:20:51

你可能对这张表很熟悉:

KDF 比较

表的来源是这里

这张桌子已有 10 多年的历史。这在当前技术下仍然有效吗?

维基百科说,自 2014 年以来,就有用于加密货币的 ASIC 设备。它们会影响桌子吗?

另外,让我们考虑上表中的最后一行。假设在普通计算机上 5 秒内通过 scrypt 从 10 个字符的密码导出密钥。在这种情况下,本文估计设备预算为 175T。还假设攻击者对这项任务的最大预算只有 10 亿美元。这是否意味着 1 年内破解密码的估计几率应该小于 1/175.000?

鉴于上述情况,这是否意味着密码可以安全使用几年?或者可能几个月?

谢谢!

1个回答

要了解该表,值得阅读这篇文章。该表只是对记忆硬功能的说明和估计。此外,文章指出:

我们再次提醒,这些值是非常近似的,仅反映了使用大约 2002 年技术的加密电路的成本:其他硬件(控制电路、电路板、电源)和运营成本(电源、冷却)的成本很可能将使成本增加 10 倍以上;同样可能的是,半导体技术的改进和密码电路设计的改进都可以将成本降低 10 倍。

算力价格下降不少;在 2003 年,KAYSO 的成本为每 gigaflops 82 美元,而在 2017 年,AMD RX Vega 64 的成本为每 gigaflops 0.03 美元(因此是 2733 倍)。诚然,FLOPS 不是处理蛮力密码学的真正衡量标准,但您应该考虑到 2500 倍的成本。

比特币矿工可能需要付出相当大的努力才能破解 AES256 哈希,这些哈希不在表中。但对于其余的,它们是毫无用处的。如果您下定决心,您可能会为此创建自己的 ASIC。这可能开发成本很高,但之后更容易分发。

这也将我们带到您的概率计算中。它们是一个非常粗略的简化。实际值取决于算法的可扩展性(可能不是线性的)和许多其他因素。

还要看看新算法的开发。例如:Andrey Bogdanov 在 2011 年发表了一篇论文如何显着减少 AES 128、192 和 256 位密钥的破解时间(Biclique Cryptanalysis of the Full AES)。

从所有这些到密码是否安全的问题确实是一个太过分的步骤。对于密码,还有很多其他问题。大多数密码被破解是因为它们相对容易猜到(qwerty123)和/或在字典文件中。另一方面,如果破解设备没有加密密码,将难以解密,因此也必须控制对您(甚至加密)密码的访问。