如果突然有一天 MD5 算法被破解了,可逆了怎么办

2014-04-10 21:51:19 +08:00
 atan
由这次的SSL事件想到的,只是一个假设,如果真有那么一天,互联网世界会怎么样?
19290 次点击
所在节点    程序员
73 条回复
ichou
2014-04-11 10:15:55 +08:00
MD5 是一种加密算法? 加密算法? 加密算法?!!
讨论了这么多,好像大家都爱这么说
200
2014-04-11 10:18:17 +08:00
hash算法可以把任意长度的内容 编码到固定长度的hash 无穷种输入对应有穷种输出 简单的抽屉原理就明白这个过程不是一一映射 既然不是一一映射那怎么可能有可逆的方法呢
优秀的hash算法基本上要满足对于下面三种任务都很难实现
1、给定y 找x 使得hash(x)=y
2、给定x 找x' 使得hash(x')=hash(x)
3、任意找到x1 x2 使得hash(x1)=hash(x2)
王小云教授所做的对于md5的研究 主要是解决了第三个问题 可以在相对较短的时间内构造出来两个内容不同的原文 使得这两个原文md5之后的结果相同
nocoo
2014-04-11 10:18:36 +08:00
一句话,信息熵。
只能碰撞,无法真正破解。因为大量信息在hash过程中损失掉了。
Smartype
2014-04-11 10:34:13 +08:00
@Livid 你可能说的是山东大学的王小云,那应该只是发现了碰撞而已。
garipan
2014-04-11 10:37:27 +08:00
2004年,山东大学教授王小云公布了md5的破解报告,但是,这一报告只是证明存在一种可以产生强特定碰撞的方法,但是要伪造数字签名必须能产生弱特定碰撞。
garipan
2014-04-11 10:40:41 +08:00
我想说,比特币用的就是MD5
XDA
2014-04-11 10:43:40 +08:00
作为校友现场听过王小云 展涛的讲座,没记错的话二人均师从潘承洞。
ntower
2014-04-11 10:55:00 +08:00
@dorentus , 求那个密码保存策略的文章. v2ex上没搜到.
xoxo
2014-04-11 10:57:52 +08:00
量子计算机诞生的时候,MD5也许100%可逆
Ever
2014-04-11 11:30:32 +08:00
@garipan btc用的sha256.
mdjhny
2014-04-11 11:35:43 +08:00
@ntower
英文原版: https://crackstation.net/hashing-security.htm Salted Password Hashing - Doing it Right
中文翻译版: http://blog.jobbole.com/61872/ 加盐密码哈希:如何正确使用
wy315700
2014-04-11 11:49:40 +08:00
@garipan 不是sha256吗
explon
2014-04-11 12:58:32 +08:00
怎么逆? 我hash一个1G的文件你倒是逆出来给我看看啊
stackpop
2014-04-11 13:07:17 +08:00
@explon 别人不是说的如果么,哈哈,所以说全宇宙最牛逼的压缩算法诞生了啊,100G都能给你逆出来

md5不是加密算法,是hash,更像是数据的指纹而不是数据本身的另一种存在形式, 其实能构造出碰撞就算破解了。

假设这样的情况,某公司发布了一个版本,并提供了一个hash,用来防止文件被篡改。但是假如我们发现了一种构造碰撞的方法,就可以把恶意代码植入进去,并保证hash没有变。使用md5做完整性校验没有意义了。
stackpop
2014-04-11 13:09:35 +08:00
数据压缩是有极限的,香农好像有证明,忘了
stackpop
2014-04-11 13:14:02 +08:00
曾与王小云共同攻破完整 MD5 算法的中科院的冯登国与长沙国防科大的谢涛最近在 IACR
上发布了一篇题为《仅用一个消息块实现 MD5 碰撞》的文章。出于安全因素的考虑,文
章中并未公开具体实现方法,但他们向全球密码学爱好者发出挑战:第一个在 2013 年 1
月 1 日之前找出新的单块碰撞的人将获得一万美元的奖励。

他们公布的产生碰撞的消息块为:

0x6165300e,0x87a79a55,0xf7c60bd0,0x34febd0b,0x6503cf04,0x854f709e,
0xfb0fc034,0x874c9c65,0x2f94cc40,0x15a12deb,0x5c15f4a3,0x490786bb,
0x6d658673,0xa4341f7d,0x8fd75920,0xefd18d5a

0x6165300e,0x87a79a55,0xf7c60bd0,0x34febd0b,0x6503cf04,0x854f749e,
0xfb0fc034,0x874c9c65,0x2f94cc40,0x15a12deb,0xdc15f4a3,0x490786bb,
0x6d658673,0xa4341f7d,0x8fd75920,0xefd18d5a

这两个消息块有两处不同,但 MD5 均为 0xf999c8c9 0xf7939ab6 0x84f3c481 0x1457cb2
3
loading
2014-04-11 13:30:17 +08:00
根据pi(对,3.1415…)的无限不循环,有人提出任何字符串在pi里都有,然后当时我就想,下电影不就是pi起始位和末位加格式么…哈哈

还有个快速定位的牛逼算法呢…
marginleft
2014-04-11 16:07:36 +08:00
@rannnn 所以,应该不可能。
nicai000
2014-04-11 17:25:54 +08:00
@rannnn
decken
2014-04-11 19:29:02 +08:00
@loading
"下电影不就是pi起始位和末位加格式么"
这句话什么意思呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/108052

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX