2004年8月,美国加州圣巴巴拉,密码学会议现场,来自中国山东大学的王小云走上讲台。台下坐着许多国际密码学专家,他们原本以为,这只是一场普通的学术报告,却没想到,报告结束后,世界密码学界持续多年的一个判断被改写了。
王小云展示的对象,是当时应用极广的消息摘要算法。它们并不是人们日常理解的“密码”,而是把一段信息运算成固定长度的字符串,用于校验文件是否被篡改,也被大量用于数字签名等安全场景。
其中,消息摘要算法第五版,也就是通常所说的MD5,曾被认为具有很高的安全性。更早时期,相关研究者普遍相信,想从不同内容中制造出相同摘要,所需计算量极其庞大,普通研究几乎没有成功可能。
王小云没有从“破解密码”这个笼统说法入手,而是盯住了算法内部的结构。她要寻找的,是一种能够制造“碰撞”的方法:两份内容不同的文件,经过同一算法运算后,却得到完全相同的摘要。
这项工作枯燥,也危险。
在山东大学的一间办公室里,王小云长期面对纸张、公式和程序反复推演。那时国内专门研究密码学的人并不多,设备条件和经费都有限。有人劝她:“这个方向太难,投入未必有回报。”她没有争辩,只是继续计算。
这种坚持并非一开始就能看到成果。复杂算法像一座层层设防的迷宫,任何一个推导环节出错,前面的工作都可能归零。真正困难的地方,不是提出一个大胆想法,而是把想法变成能够被同行重复验证的结果。
2004年8月,王小云和合作者公开介绍了针对MD5的碰撞攻击方法。严格来说,这并不意味着所有使用MD5的文件都会立刻失去作用,也不代表普通人可以随意读出加密内容。但它证明了算法的核心安全假设已经出现严重问题,MD5不再适合承担高强度安全任务。
现场的反应很快传遍学界。有人当场鼓掌,也有人急着核对推导过程。因为这不是对某个具体系统的偶然突破,而是从理论上动摇了一套长期广泛使用的算法。
有意思的是,王小云并没有在MD5之后停步。她把目光转向安全性更高、结构更复杂的安全散列算法第一版,也就是SHA-1。相较MD5,SHA-1长期被认为更加稳固,许多重要系统仍把它视作可靠选择。
2005年,王小云与合作者公布了SHA-1碰撞攻击的研究结果。研究显示,制造碰撞所需的计算复杂度大幅低于原先预估。它同样不是“瞬间攻破所有系统”,但足以迫使各国重新评估SHA-1的安全边界。
两次成果接连出现,意义不在于某个算法从此完全不能使用,而在于密码学必须接受公开检验。算法不能只靠名气和使用范围证明安全,必须经受长期分析、反复攻击以及同行审查。
王小云早年学的是数学。1966年,她出生于山东诸城一个教师家庭,父亲教授数学。数字、公式和逻辑推演,很早就成为她熟悉的世界。进入山东大学数学系后,她受到数学家潘承洞指导,研究方向也逐渐从解析数论转向密码学。
这个转变颇为关键。解析数论重视严密证明,密码学则要求在对手不断寻找漏洞的情况下建立防线。两种训练结合起来,使她既重视理论结构,也关注算法在实际环境中的薄弱环节。
她后来获得国家奖励和科研支持,媒体常以“711万元奖金”概括相关荣誉与资金待遇。这个数字在传播中容易被简单理解为一次性个人奖金,实际情况涉及奖励、项目以及科研支持等不同性质的资金,不能混为一谈。
更重要的收获,是研究方向发生了变化。王小云曾表达过类似观点:“研究密码,不能只会进攻,还要懂得防守。”发现漏洞的目的,不是制造混乱,而是让新的算法避开旧有缺陷。
此后,中国密码学界持续推进自主算法和标准建设。后来形成的商用密码散列算法,经过公开研究、测试和标准化,逐步承担起信息完整性校验等任务。王小云早期对散列算法结构的研究,为国内相关领域培养人才、积累方法提供了重要基础。
密码学很少有轰轰烈烈的场面。它往往藏在一张张公式、一次次运算和无数次失败里。王小云的突破之所以受到重视,正是因为她把看不见的漏洞变成了可以验证的证据,也让一场国际性的安全评估提前到来。
热门跟贴