设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
程序员
›
从原理上分析,把明文进行 100 轮 [SHA512->SHA256] 这 ...
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
垃圾小米!真就一生黑啊!
›
前同事被庞氏骗局洗脑,要帮他报警吗?
›
Only Apple can do 苹果的傻 X 逻辑,自己
›
寒冬已至,本周四接到老板电话,说我所在部
›
想问问大家的鼠标侧键都设置成啥功能了?
今日热议主题
做了一个浏览器插件,看到网上好看的 UI 组
出 2015 mid macbook pro 15 inch
[vscode 插件]朗读单词 speak it!
openwrt 的 openclash 和 adguard home 该
从福州回家,出福建后感觉回到了现代社会
奈飞, nf,Netflix 合租找车友
滴滴国际化金融大量岗位招聘,组内直推
prompt 真是个神奇的东西,一句话竟然能让结
exo + MindMac = 完全跑在 localhost 上的
Apple One 美区超大杯 找两车友
从原理上分析,把明文进行 100 轮 [SHA512->SHA256] 这样哈希计算,随机性会比直接 SHA256 更差吗?运算后结果可能性不都是 2^256 种吗?照这么说的话加 salt 也会影响随机性?
drymonfidelia
· 2024-9-4 21:45:07 · 244 次点击
记得在本站一篇讨论在前端给用户密码加密是不是脱裤子放屁的帖子中有人说把明文变长后 hash 会一定程度上影响随机性,从而导致安全性降低,当时我就很怀疑这种说法,觉得毫无根据,当时没空发帖,现在又想到了这个问题,并且想改成更极端的情况,先更长的 SHA512 再 SHA256 再 SHA512 ,重复 100 轮。
举报
·
244 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最新评论
18 条回复
沙发
YGHMXFAL
初学
2024-9-4 22:11:25
目的呢?
如果想校验数据完整性,只需要选择强壮地摘要算法 HASH 一次即可
如果想增加攻击者穷举密码的计算成本,有专门为这一场景设计地、专用定制硬件也望洋兴叹地[慢 HASH]算法,例如 scrypt/argon2
应该是在 SOF 看过一帖,这一套[多轮 HASH]或者类似地[多种算法嵌套 HASH]都是不推荐地方案,原理我也没看懂,结论就是会增加碰撞地可能性,也就是说反而降低了安全性
板凳
cxtrinityy
小成
2024-9-4 22:32:33
emmm ,哈希是摘要,不是加密,不可逆的,密码 hash 可以避免你保存的用户密码被人脱库直接暴露吧,所以你也不需要保存用户密码,下次拿了密码再哈希一遍对上了就是密码正确
随机性这个没看明白,哈希和随机性有啥关系?算法是公开的呀,同样的算法,同样的输入,只会有同样的输出,sha256 碰撞的可能性已经很小了吧,只要不是常用的那些密码,一般很难撞上。暴力轮询也只是把常用的密码 hash 后记下来作为词典查询罢了。
至于明文长度,不知道你说的原帖具体咋说的,不过应该和 hash 结果分布没啥关系,毕竟不管啥明文也是要先切割补位的
地板
julyclyde
小成
2024-9-4 22:34:56
多轮 hash 更容易碰撞吧
你都明知道后一轮的输入是更小的集合了
5#
geelaw
小成
2024-9-4 22:35:18
用函数作用于一个输入,那么输出是固定的,没有任何随机性。如果输入本身是随机的,那么作用函数之后依然是随机的,但熵不会增加,而且非常明显的例子是把具有 1024 bits 熵的输入用楼主提出的两种方式作用,得到的结果熵必然不能超过 256 bits 。
当然,经过函数作用后,“计算熵”可以增加,然而标准模型下很难分析 SHA-512 和 SHA-256 对输入的计算熵产生何种影响。
只考虑抗碰撞的话,多个函数复合的抗碰撞能力当然不超过最里面的那个的。
6#
0o0O0o0O0o
小成
2024-9-4 22:40:35
多轮 hash 不增加熵,所以只要输入固定就不影响"随机性",影响的只是攻击者的成本
https://www.google.com/search?q=site%3Acrypto.stackexchange.com+KDF+entropy
7#
gbadge
初学
2024-9-4 22:42:57
两轮肯定会比一轮安全,拿被脱裤的站举例,相当于加盐处理了
8#
FengMubai
小成
2024-9-4 22:54:50
@drymonfidelia #4 这个问题可以规约成:你是否认为服务提供方有 安全义务 保障当自身安全系统被攻破时,用户在其他站点的数据不受影响?
9#
rekulas
小成
2024-9-4 23:48:49
作为一款加密算法,如果随机性都做不到稳定那也太拉了,怎么可能被选为标准
不会增加随机性,但会增加安全性
10#
jim9606
小成
2024-9-5 02:02:43
主要问题就是多轮迭代会缩小值域,你要是用短的摘要(例如只有 64bit 的 MD5 )就会比较要命,使用截短 hash 也会有一样的问题,如果不幸没有使用等长时间复杂度的 hash 校验方法也会削弱 hash 的保护能力。
还有考虑密文泄露的场景(服务器数据库泄露),如果没加 salt ,攻击者可以预先构造彩虹表,你这种 100 轮 hash 是用同数量级的性能代价提高攻击代价,用 100 倍计算复杂度换 100 倍攻击难度,这是不划算的,还是加 salt 好。
直接原文拼接 salt 有导致长度拓展攻击的问题,所以不是搞密码学的还是老实用封装好的 HMAC 就好了。
下一页 »
1
2
/ 2 页
下一页
返回顶部