首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手工计算密码的散列需要多长时间?

手工计算密码的散列需要多长时间?
EN

Cryptography用户
提问于 2020-09-19 03:16:58
回答 1查看 252关注 0票数 2

假设一个人没有计算机(或彩虹表),但能够访问一支笔和纸,以及现代(最佳实践,而不是过时的)哈希算法和数学公式所需的所有文档。

计算密码的散列需要多长时间?

定义密码

  • 随机的8个字符字符串(数字、字母、允许的符号)

定义最佳实践

  • bcrypt (或类似的),计算执行n=10 (所以1024倍于总数)
EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-09-21 07:37:24

如果您想要一种“快速”的方法来确定bcrypt-n10所需的时间,您可以手工处理其计算中非常小的子集,然后将该时间乘以算法使用它的次数。

圆形函数被多次使用,您只需执行一次组件就可以获得基本时间。有对32位值的操作,您只需执行1。

键设置后有3072个循环操作(64x16x3)。

每个展开键有521个循环操作。

每个展开键有539个32位XOR。

每个键设置有2048个展开键

这为您提供了1070080次循环操作和1103872次32位XOR操作--一轮包含2次XOR和3次32位加法操作以及4次S框查找,您现在可以将其分解为:

3,210,240位未签名32位加法

3,244,032位异或操作

4,280,320 S-盒查找(它一直在变化)

64个河豚键调度操作(忽略,可能会增加3%的时间)

移动大量的数据

如果你是超级快,可以做一个XOR在只有10,一个附加在20,和S-盒查找在10s,即4842天计算每天8小时,仅为这些操作。

你仍然需要考虑到它将花费多少纸张,当数据从一页到另一页的时候,需要更多的书写,以及操作的额外验证,以确保你不会在某个地方犯一个小错误,把整个事情搞砸。去吧,把时间加倍。

指每周工作7天的26年或每周工作5天的37年。

即使我有一台有六角形输入的电子计算器和一名助手或学徒,帮助我扩大S盒子并验证我的工作,我也可能要花那么长时间;我的手指不可能一天做那么多工作或这么快地工作。

在您需要执行的3.65亿位操作中,允许的错误率为0。在过去的几十年里,你需要多少额外的努力才能确保你在计算中不犯错误?所以试一试,得到两个随机数,做一个加法和一个异或,看看这些数字是否排列成……或者如果你需要更多的时间。

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

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

复制
相关文章

相似问题

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