密码哈希竞赛始于2014 年,Argon2 是 2015 年的获胜者,列出了竞赛的评估标准。功能部分有一个有趣的部分;
能够在不知道密码的情况下将现有哈希转换为不同的成本设置。
如果安全管理员只是想增加迭代次数,而不是等待用户输入密码,这是一个相当不错的功能,他们可以无缝地处理散列密码。
除了简单的迭代散列,我不知道有什么好的密码散列算法支持这个功能。这可以在下面看到。
let H (s) (password) = H(H(...(H(password))...)),即散列s次。
那么散列 s+t 次就是 H (s+t) (password) =H (t) (H (s) (password))
问题:
- 是否有任何好的密码散列算法支持这一点?
- 有充分的理由不支持吗?
对于2,我只能认为不能真正满足内存硬度,因为进程必须停止并以新的内存信息开始,因此攻击者可以摊销内存使用量。甚至,CPU/GPU 也可以摊销。