首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >今天的计算机可以在50字节长的随机条目的SHA512散列中检查(每秒)多少种可能性?

今天的计算机可以在50字节长的随机条目的SHA512散列中检查(每秒)多少种可能性?
EN

Security用户
提问于 2012-08-06 14:30:45
回答 1查看 3.7K关注 0票数 1

我想避免的问题是对数据库的“蛮力”攻击。因此,如果我在我的信息中添加一个50字节长的密码随机盐(我不需要检索,只需要它的散列),它是否足够安全?

我知道答案是不准确的--这取决于它是超级计算机,还是个人电脑等等。我想得到一个大致的想法--一台超级计算机能否在一秒钟内通过其中的10^9 ? 10^20?一台电脑是否需要一年时间才能全部通过?含糊其辞。

编辑:盐只保留在散列结果中。

EN

回答 1

Security用户

发布于 2012-08-06 14:36:17

盐的用途不是为了降低计算哈希的速度,而是为了防止彩虹表变得有用。SHA512的单个迭代速度太快,无法用于对付强暴攻击。

在一个像样的GPU上,您可以使用~100 m散列/秒 (新链接)使用SHA512。对于具有多个GPU的系统,可以将其相乘。对于诸如bcrypt这样的缓慢的KDF,您可以调整迭代计数以使其更合适。为了获得良好的安全裕度,您需要大约0.3s/散列的东西。

请记住,50字节是400位,或者是2^400的键空间。如果您设法计算2^400散列,几乎可以保证在SHA512中找到冲突。然而,攻击者并没有试图猜测盐。你应该担心的是,当攻击者已经知道盐的时候,就会破解哈希。

解决方案是数据库中的使用PBKDF2 2、bcrypt或scrypt将盐分以明文形式存储

更新:

看起来你在努力实现你自己的计划。请不要这样做。密码学有两条被广泛接受的规则:

  1. 密码学很难。
  2. 别自己翻滚。

我怎么强调都不过分,特别是在处理密码的时候,推出自己的方案有多危险。即使是传奇的布鲁斯·施耐尔也不敢在没有经过认真的同行评审和几个月(如果不是几年)的测试和调整的情况下编写自己的密码系统。

我给你的关于散列的建议是一个基于同行评审和大量理论和实践测试的标准。尝试使用额外的散列和其他黑魔法来扩展它是个坏主意,只会增加应用程序的攻击面,并造成潜在的安全缺陷。坚持标准。

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

https://security.stackexchange.com/questions/18191

复制
相关文章

相似问题

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