我一直在寻找答案,但我发现的最新一个已经过时三年了。那么 2016 年推荐的 scrypt 成本因素是什么?
2016 年推荐的 scrypt 成本因素是什么?
信息安全
密码
哈希
密码管理
加密
2021-09-03 22:07:00
1个回答
一般来说,使用从性能角度来看可以承受的最大成本因素。我将创建一个尽可能接近您的应用程序所做的基准应用程序,并找出您的生产硬件上的成本因素,从而为您提供最大的可容忍延迟。
在大多数系统中,我争取 10 到 20 毫秒的延迟。假设您的攻击者拥有比您的硬件强大 1000 倍的硬件(这并非不合理,因为 scrypt 无法通过 GPU 加速),他可以每秒尝试 10 5次猜测。对于 10 个字符的字母数字密码,即 26 10 个密码,或大约 10 14 个潜在猜测。那将需要 10 9秒,或 31 年。听起来我可以接受。
如果您想使用更高的延迟,请记住这scrypt
是难以记忆的。这意味着它为每次验证使用(相对)大量内存(以兆字节为单位),因此让它们中的许多并行运行可能比所需的绝对处理能力更能影响性能。
查看Security.stackexchange.com “使用 PKBDF2-SHA256 时推荐的迭代次数?” 对 PBKDF2 上的同一主题进行良好分析。