首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >盐所需的安全性能是什么?

盐所需的安全性能是什么?
EN

Cryptography用户
提问于 2015-08-30 12:03:21
回答 2查看 566关注 0票数 2

我最近在考虑密码哈希(可能是由PHC进程引起的)。

我开始更多地思考这个问题,然后陷入了这个问题:

密码散列相关盐类实际上需要哪些安全属性?

我认为它们必须是全球独一无二的(这就是我通常构建它们的方式)。这意味着同样的盐不应该被任何人使用两次。这将意味着我必须选择我的盐,以抗碰撞,导致512位长和CSPRNG的一代。

这是过度杀伤力还是较短和较少的防御解决方案也是安全的?

(这基本上是与粗体相同的问题)

如果您需要对这些方案进行假设,则应该假定标准方案(不含胡椒),如bcrypt、scrypt、Argon2、PBKDF2。

EN

回答 2

Cryptography用户

回答已采纳

发布于 2015-08-30 12:21:06

512位甚至对于全局唯一性来说都是过分的。256位就足够了,有一个很好的随机数发生器:即使地球上的每个人每毫秒产生一位,也需要一百万年的时间才能达到生日的极限。

然而,我同意全球独特性是一个好主意。如果任何地方的任何人使用相同的salt和密码哈希(或其他使用盐的算法),理论上攻击者可以在更短的时间内攻击这些哈希。

如果您有一个特定于应用程序的独特胡椒(所有用户共享的附加盐),您可以安全地使用仅在本地唯一的盐类,例如来自计数器的输出。在某些情况下,这可能有助于节省空间。

票数 6
EN

Cryptography用户

发布于 2015-09-01 00:43:21

考虑到还没有人展示SHA-1碰撞,160位可能足以确保全局唯一性。尤其是食盐是由防守者而不是攻击者选择的。

此外,鉴于salt的目的仅仅是使字典攻击需要不可行的存储量,那么80位可能就足够了。

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/27827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档