2004年,美国顶级密码MD5“惨遭破译”。

曾经有科学家预言,想要破解MD5,起码要上百万年的时间。由此可见,该密码有多安全。

可就是这样一个顶级密码,被我国一位正在月子期间的女性,也是我国有名的科学家——王小云找出了漏洞。

这个消息,无疑是密码界的一颗重磅炸弹王小云在扔下这颗“炸弹”之后,紧接着,又干出了一件大事。

王小云究竟有多厉害?她是怎么找出MD5算法漏洞的?

一 坚不可摧的MD5

2019年9月7日,王小云在第四届未来科技大奖中获奖,她是奖项开设4年以来,第一位女性获奖者,奖金高达711万。

这一切,归功于她在密码领域的超强能力。她曾在十年间,破译出5项顶级密码。其中,最著名的当属美国MD5,以及当时公认为最安全的SHA-1。

MD5由美国密码学家罗纳德·李维斯特设计,是在MD4的基础上发展而来的。于1992年公开。

相较于MD4,增加了第四轮算法,并减弱第二轮中函数的对称性,另外还改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似。

MD5自诞生以来,就被冠上了美国顶级密码的称呼。有了这样引以为傲的加密方式,美国曾自信满满:

想要破解这样的密码,中国人就算用世界上最先进的计算机,也需要计算一百万年。

MD5算法

美国为何如此自信?原因很简单,整个MD5一共有5套步骤,分别是附加填充位、附加长度值、初始化MD缓冲区、处理512比特报文分组序列以及最后的输出步骤

其中运用到了4种函数,当然,最难搞定的就是哈希函数。尽管MD5一问世,就被指出有容易计算的漏洞,但有哈希函数存在,想要成功计算出MD5值,时间需要耗费上千年。

简单来说,想要算出MD5值,首先要破解哈希函数这一关。而哈希函数本身特点就在于,它具有不可逆性,如果从结果数值倒推,那是绝对不可能推导出正确的MD5值的。

这样一来,想要窥探MD5,就只有2种方法。一是暴力攻击、二是生日攻击法。

暴力攻击也就是不断通过尝试,来锁定一个相同的哈希函数值。而MD5的输出有128位,如果用一台电脑进行试验,则需要不停工作上千年的时间。

第二点生日攻击法,意思是寻找和MD5有相同哈希数值的信息,这一方法需要的试验次数虽然少于暴力攻击法,但就当时的计算机而言,仍需耗时585年。

这样大的计算量,这样长的计算时间,显然不是个容易的事。

王小云在工作

但是让美国没想到的是,中国的王小云科学家做到了!她发现在对两个信息采用MD5算法加密的时候,会得出同样的结果值,由此证明MD5无法防止碰撞。

虽然没有完全破译出MD5,但找到了相同的哈希数值,这已经违背了MD5采用哈希函数的初衷,被称为无懈可击的哈希函数,其可靠性也大幅降低。

2004年8月17日,美国在加州圣芭芭拉召开国际密码大会,王小云带着微笑走上讲台。她平静地说了一句话:

“我的研究团队,已经发现了MD5国际密码算法存在漏洞。”

此言一出,台下先是沉默,随后便爆发出了雷鸣般的掌声。传闻有一位来自英国的密码学家,由于手骨折而无法鼓掌,他便改用手不停地猛拍大腿。

这样热烈的场景,是密码大会上罕见的。国际著名的密码学家Lenstra曾说:

“我参加了美密会开始的所有会议,但从未经历过这种场景。”

王小云带给大家的震惊,简直前所未有。就连大会主席黑沃斯教授也激动不已,还破例为王小云安排了15分钟的报告时间,要知道,此前每个密码学家的报告时限最高只有3分钟。

王小云在演讲

得知这个消息后,MD5的设计者,也是图灵奖的得主——李维斯教授,还亲自写信给王小云:

“虽然我不愿MD5倒下,但是大家必须推崇真理。”

可以说,王小云此举简直惊艳众人,让许多著名密码学家都大呼不可能。然而在这样满面荣光的背后,很少有人知道,这个密码是王小云在月子期间“破译”的。

二 “白宫密码”SHA-1

2004年,民间流传着这样一个消息,美国顶级密码MD5被山东一位宝妈破译了!

一时之间,许多人都想知道这位宝妈的真面目,她究竟有何神通呢?

其实这位宝妈不是普通的宝妈,她的另一重身份,是我国的密码学家。当然,说她是宝妈也没错,因为找出MD5算法的漏洞,的确是王小云在怀孕期间实施的。

作为密码学方面的专家,王小云早就打上了MD5的主意。不过MD5毕竟久负盛名,一开始王小云打算跟学生一起完成,但该学生认为,破解难度太大,于是选择了退出。

王小云在演讲

没办法,王小云只好独自研究。好巧不巧,正在研究MD5期间,王小云怀上了孩子。这给破解任务带来了更多难度。

一是王小云的身体吃不消,平时除了工作以外,孕期的她急需休息。这样一来,她仅有的研究时间也要大大缩短。

二来,则是硬件设施问题。电子设备对孩子有辐射,为了减少对孩子的伤害,王小云几乎放弃了用计算机进行计算。

上面说到用计算机尝试破解MD5,最暴力的方法需要上千年时间。更别说现在王小云采用的是纯纸笔计算的方式。

不过王小云根本没有被这些唬住,而是抓紧每一点时间,脑子里一有想法,立马就在纸上进行演算。

直到孩子出生,王小云进入了月子期间,她也还是没停手。一年来,她的演算纸上,写了好几百个高等方程式,密密麻麻地演算、排列,几乎足足有400页。

就这样,月子期间没过多久,王小云就成功碰撞了“坚不可摧”的MD5。眼见MD5算法漏洞被告破,当时还洋洋得意的美国,如今立马开启了研讨会,商量改进MD5事宜。

王小云在工作

当然,MD5不是王小云的最初战绩,在此之前,她早就破译了MD4、RIPEMD以及HAVAL-128。随着漏洞被找出,这些当年被捧得神乎其神的加密方式,也就不再存在安全性。

MD5告一段落,王小云又对SHA-1伸出了”魔爪“。

SHA-1由美国国家安全局设计,并被发布为联邦数据处理标准,其地位不言而喻。在当时,人送外号”白宫密码“,世人称之为“最安全的密码“,可见其安全程度有多高。

为了推演SHA-1的计算路径,王小云几乎动用了学校机房的所有电脑。没想到的是,这些电脑居然崩溃了。

2005年寒假,王小云任职的大学已经放假,学校所有的电脑便空了出来。王小云事先也知道SHA-1的难度,于是她在所有电脑上,都输入了尝试演算SHA-1的指令。

可即便是这么多台电脑,SHA-1也还是滴水不漏。八天八夜之后,电脑甚至还“卡”住了。

这里说的卡并不是内存不够,而是电脑不知道如何计算了。既然电脑不靠谱,那就亲自动手。

王小云曾自信地说:当众多方程式出现矛盾、推演陷入困境时,计算机也不知道正确的路径,它就崩溃了。而我知道需要调整哪些路线。

王小云

2005年2月,王小云和同事发表了论文,其中谈到他们已经找到了碰撞SHA-1的攻击方式。

2005年8月,王小云及同事更是直接指出:

SHA-1存在两大致命弱点,一是前置处理不够复杂;二是前20个循环中的某些数学运算有破绽,可能会造成不可预期的安全性问题。

随后,世界密码大会再次召开,美方宣布SHA-1不再安全,他们将会逐渐减少对SHA-1的使用。

当然找到碰撞方式不等于破译,但王小云的创举,已经打破了美国密码无懈可击的神话。有了王小云的带头,SHA-1算法在2017年被谷歌公司正式告破。

10年之间,连破5大密码,其中两项还是国际顶尖密码。王小云凭一己之力,改变了中国在密码界的地位,因此,她也获得了国家711万元奖励。

令人费解的是,王小云并不是从小到大都和密码结缘的“专业人员”,从她接触密码,到找到MD5的碰撞方式,期间一共才10年。

为何王小云在短短时间内,就能有如此成就呢?

三 密码界新星升起

2005年,美国顶级密码MD5被证实有漏洞;2006年,美国的“白宫密码”也遭到了攻击。

王小云

这一切的“始作俑者”,就是王小云。现代密码学的奠基者shamir曾称赞美她:

王小云是密码界的一颗新星。

为什么是新星呢?原来,王小云和其他密码界的专业人员不同,她是半路杀出的“程咬金”,她的对口专业其实是数学而非密码。

1983年,王小云从山东省诸城第一中学毕业 ,随后考入山东大学数学系。

在这里,她师从潘承洞院士,值得一提的是,潘承洞院士是我国著名的数学家,他座下弟子全是男性,王小云是他收的唯一一名女学生。

而这一切,都要归功于王小云超乎常人的数学天赋。大学期间,导师曾为他们布置过一个任务:推演著名印度公式。

其他同学几乎花了一个月时间才勉强运算出来,而王小云只花了短短一周,因此她得到了潘承洞院士的赏识。

不过这个时候的王小云,一心扑在理论数学上,对密码根本不感兴趣。甚至在导师找到她,询问想不想接触密码学的时候,她一口便回绝了。

潘承洞

不过现实则是啪啪打脸,尽管王小云不想学习密码相关知识,但导师还是安排她去西安电子科技大学听课。没想到听了几堂课之后,王小云就被密码迷住了。

随后,王小云便全身心投入了密码学习中,并且在攻读博士学位期间,她已经熟练掌握了密码学知识。

如此优秀的王小云,自然引起了其他人的注意。在王小云毕业之后,有高薪企业通过她的导师找到她,希望她能进入公司大展拳脚。

王小云生在普通家庭,这样的高薪工作是十分难得的。当时王小云的亲朋好友都劝告她,希望她能抓住机会,然而王小云心知,如果选择了眼前的利益,那么自己就将无缘科学研究。

在高薪面前,王小云毅然决然选择了留校研究。其实王小云面对的,何止是这一个诱惑。

王小云座下的学生曾说,高校里的导师几乎都会出去找兼职赚钱,而王小云则把所有空余时间都花在了破译密码上。

在王小云碰撞知名密码之后,许多国家还向她投来了橄榄枝,每一个都伴随着巨额的奖金。但王小云都拒绝了,不仅是为了能搞研究,更是为了维护国家利益。

王小云

其实王小云最可贵的,不只是她超乎常人的才智,更是她一心为国的志向。当然这一切也离不开导师对她的培养,大学期间,导师潘承栋就告诉自己的学生:

“你们将来不管是出国,还是做访问学者,两年或三年就要回来,坚决立足于国内发展。”

在导师的影响下,被美国邀请前去进行新标准密码算法时候,王小云义正言辞地拒绝了,转而开始设计起国内密码算法。

用她自己的话说就是:科学家要把国家的责任放在第一位,我的初心是为了保护国家网络安全,任何条件都比不上祖国的需要。

随后,王小云便一直秉持初心,全心全意投入到了祖国密码算法中去。目前,王小云已经为我国设计了哈希函数标准SM3。

该函数被广泛运用于金融、交通、国家电网等重要经济领域,2018年10月,该密码正式成为了ISO/IEC国际标准。

王小云

2019年,王小云当选国际密码协会会士。在此之前,她已经斩获了中国科学院院士的称号。

能有这样一位有血有肉的科学家,是祖国的幸运,也是人民的幸运。