哈希函数中的随机填充

信息安全 哈希 蛮力 时间戳
2021-08-29 08:58:27

这个答案中,建议您在为可信时间戳(例如预测)散列消息时添加随机填充,以避免字典和暴力攻击(至少当消息本身没有太多熵时,如问题中的示例)。

答案简要地说,80 位熵(最多 16 个可打印字符)应该足以阻止任何攻击者。有什么地方可以找到有关此的更多信息吗?我能找到的大部分信息都是关于散列密码的,这并不是特别适用(您需要能够在不让用户记住 80 位信息的情况下验证密码,因此对随机盐的分析并不特别适用在这种情况下适用,并且当您可以使用随机填充时,bcrypt 是多余的)。

1个回答

我认为 80 位只是对被认为在计算上不可行蛮力的一般下限的参考。

来自维基

2002 年,distributed.net 用 4 年 9 个月 23 天破解了 64 位密钥。

截至 2011 年 10 月 12 日,distributed.net 估计使用当前硬件破解 72 位密钥大约需要 45,579 天或 124.8 年。

或者,根据我使用hashcat 基准的计算,在他们的“PC4”上使用 SHA256 暴力破解 80 位大约需要 300 万年。

预计会随着时间增长多少

这与暴力破解任何其他随机值相同,但是在预测的情况下,该预测对攻击者可能有价值的时间也很重要。

如果您的预测是关于下周发生的事情,80 位可能过多,大约 54 位将使攻击者一直忙到那时。