MD5被成功破解,破解者为山东大学王小云教授

ashchen 2004-09-07 02:13:09
也许不是新闻了,也许还有不少人不知道
http://www.linuxfans.org/nuke/modules.php?name=News&file=article&sid=2390

[本站讯]2004年8月17日的美国加州圣巴巴拉,正在召开的国际密码学会议(Crypto’2004)安排了三场关于杂凑函数的特别报告。在国际著名密码学家Eli Biham和Antoine Joux相继做了对SHA-1的分析与给出SHA-0的一个碰撞之后,来自山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告。在会场上,当她公布了MD系列算法的破解结果之后,报告被激动的掌声打断。王小云教授的报告轰动了全场,得到了与会专家的赞叹。报告结束时,与会者长时间热烈鼓掌,部分学者起立鼓掌致敬,这在密码学会议上是少见的盛况。王小云教授的报告缘何引起如此大的反响?因为她的研究成果作为密码学领域的重大发现宣告了固若金汤的世界通行密码标准MD5的堡垒轰然倒塌,引发了密码学界的轩然大波。会议总结报告这样写道:“我们该怎么办?MD5被重创了;它即将从应用中淘汰。SHA-1仍然活着,但也见到了它的末日。现在就得开始更换SHA-1了。”

关键词:碰撞=漏洞=别人可以伪造和冒用数字签名。
Hash函数与数字签名(数字手印)
HASH函数,又称杂凑函数,是在信息安全领域有广泛和重要应用的密码算法,它有一种类似于指纹的应用。在网络安全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一段独特的数字信息,像指纹鉴别身份一样保证原来数字签名文件的合法性和安全性。在前面提到的SHA-1和MD5都是目前最常用的杂凑函数。经过这些算法的处理,原始信息即使只更动一个字母,对应的压缩信息也会变为截然不同的“指纹”,这就保证了经过处理信息的唯一性。为电子商务等提供了数字认证的可能性。
安全的杂凑函数在设计时必须满足两个要求:其一是寻找两个输入得到相同的输出值在计算上是不可行的,这就是我们通常所说的抗碰撞的;其二是找一个输入,能得到给定的输出在计算上是不可行的,即不可从结果推导出它的初始状态。现在使用的重要计算机安全协议,如SSL,PGP都用杂凑函数来进行签名,一旦找到两个文件可以产生相同的压缩值,就可以伪造签名,给网络安全领域带来巨大隐患。
MD5就是这样一个在国内外有着广泛的应用的杂凑函数算法,它曾一度被认为是非常安全的。然而,王小云教授发现,可以很快的找到MD5的“碰撞”,就是两个文件可以产生相同的“指纹”。这意味着,当你在网络上使用电子签名签署一份合同后,还可能找到另外一份具有相同签名但内容迥异的合同,这样两份合同的真伪性便无从辨别。王小云教授的研究成果证实了利用MD5算法的碰撞可以严重威胁信息系统安全,这一发现使目前电子签名的法律效力和技术体系受到挑战。因此,业界专家普林斯顿计算机教授Edward Felten等强烈呼吁信息系统的设计者尽快更换签名算法,而且他们强调这是一个需要立即解决的问题。
...全文
1335 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashchen 2004-09-08
  • 打赏
  • 举报
回复
md5算法中 原文的信息是丢失的,就是失真的,就像jpg里的有损压缩,不可能完全还原
ashchen 2004-09-08
  • 打赏
  • 举报
回复
“王小云教授发现,可以很快的找到MD5的“碰撞””
其一是寻找两个输入得到相同的输出值在计算上是不可行的,这就是我们通常所说的抗碰撞的;其二是找一个输入,能得到给定的输出在计算上是不可行的,即不可从结果推导出它的初始状态。

她只是发现了其一的碰撞,就是伪造的可能,没找到推出原文的方法
mikespook 2004-09-08
  • 打赏
  • 举报
回复
如果碰撞方法被发现了,那么不论你怎么利用随机数和信息内容进行凑杂,那么信息都是可以被伪造的。

(也就是说数字签名的可伪造性~~~)
mikespook 2004-09-08
  • 打赏
  • 举报
回复
ashchen(陈辉) 说得没错,但是现在这个观点必须变一变了~~~

“不过从md5推出源码还是很困难的,除了字典和穷举应该没有其他办法。”

我没有找到论文看,不过就从报导和第三方资料来看,王教授就是找到了这个“其他办法”。

也就是说,本来你写了一封信给你的上司,表示你对公司忠心耿耿~~并用MD5做了验证码~~防止别人(比如同你竞争的同事)修改你的邮件。而你的同事本来是无法修改信件,还保证MD5编码不变的。现在由于新的碰撞方法被发现,他就可以很容易的修改你的信件,比如骂上司的内容,还能保证MD5编码后与原来的编码吻合。过去,只能用字典和穷举,但是现在%#¥%#¥%…………好可怕~~~
ashchen 2004-09-08
  • 打赏
  • 举报
回复
如果把信息摘要和某个随机数或者时间再来一次杂凑的话,数字签名被攻破的可能性应该就不大了
ashchen 2004-09-08
  • 打赏
  • 举报
回复
我觉得情况可能是这样的
一个字符串和另外一个字符串生成的md5码是一样的
如何找到另外一个字符串。
这种打击对于数字签名是致命的,不过从md5推出源码还是很困难的,除了字典和穷举应该没有其他办法。
对于普通的应用,把密码md5加密应该影响不大,不过为了安全其间,还是用sha1()来加密
不过这种固定长度的杂凑摘要不可能囊括所有信息,总会有碰撞。
c4ca4238a0b923820dcc509a6f75849b
如果每个位都改成所有单个字符,例如【0-9,a-z,A-Z】这样碰撞的可能就大大减小
32的(10+26+26)次方,如果再加上标点,那碰撞的可能性就会更小
countstars 2004-09-07
  • 打赏
  • 举报
回复
同意: mikespook(懒猫开始新生活) 的看法,应该是找到简单的匹配方法
limlzm 2004-09-07
  • 打赏
  • 举报
回复
算是一个大新闻了
mikespook 2004-09-07
  • 打赏
  • 举报
回复
呵呵~~~本来MD5就是有伪造的可能,只是所花费的代价太高而已~~~
现在王教授应该是设计了一套公式来将这个代价降低到一个可能的范围内~~
platinum 2004-09-07
  • 打赏
  • 举报
回复
;区区32字节的可打印ascii字符就能保证唯一?简直就是天方夜谭!
;真不知道那些信息安全“专家”是怎么想的。

——这两句话让我对唠叨的评价一下子就下去了,是本人在用这个号吗?
liyujie2000 2004-09-07
  • 打赏
  • 举报
回复
昨天看到这个新闻的,大家研究一下,

看看能否写出破解方法!
900126 2004-09-07
  • 打赏
  • 举报
回复
真厉害,我自己写了个加密程序,还以为没人能破解呢。
xuzuning 2004-09-07
  • 打赏
  • 举报
回复
补充一句,那不是“破解”。
即使你知道了a与b有“碰撞”,但你并不能确认我用的是a还是b还是其他!
xuzuning 2004-09-07
  • 打赏
  • 举报
回复
区区32字节的可打印ascii字符就能保证唯一?简直就是天方夜谭!
真不知道那些信息安全“专家”是怎么想的。
jinliangonline 2004-09-07
  • 打赏
  • 举报
回复
不会吧!!那么强!!刚学会的东西又要更新了!!!
恩!!
那句话怎么说的??
-----学无止境!!
*_*
fzjw 2004-09-07
  • 打赏
  • 举报
回复
呵呵,我很少用MD5,我一直用PHP的Mcrypt函数加密。

21,894

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧