算法破解实现

首先声明:哈希hash算法没法破解

一般的hash算法所谓破解有四种层次

1、给定hash(A),能得到A

2、给定hash(A),能得到一个B,使得hash(A)=hash(B)

3、给定A,能得到一个B,使得hash(A)=hash(B)

4、制造碰撞,即生成A,B,使得hash(A)=hash(B)。

三个难度1>>2>3>4

对于hash算法来说,1是不可能实现的。因为hash值是多对一的。

目前最好的结果是山大(现在清华)的王小云教授对md5以及sha1做出来3。更正一下:目前最好的结果是,针对前缀碰撞(chosen-prefix collsion),根据已知的A, B,可以构造出C,D两个值,使得hash(AC)=hash(BD),离完全实现3还有一定距离。

实现了2,现有的基于hash的密码系统不在安全了,也就是说你创建了密码a,我看到了hash后的值,可以找到密码b来代替仍然可以完成认证。

实现了3,基于hash验证文件正确性的方案不适用了,比如bt,比如众多开源网站用hash值来保证下载文件不被篡改。



作者:知乎用户
链接:https://www.zhihu.com/question/435220213/answer/1636509628
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值