密码界“女杀手”,破译世上最安全密码系统,获 771 万奖金!

2023-12-24 03:58

本文主要是介绍密码界“女杀手”,破译世上最安全密码系统,获 771 万奖金!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


作者 | 年素清

责编 | 伍杏玲

出品 | 程序人生(ID:coder_life)

不论是计算机网络、移动网络,还是物联网、卫星网络,或者是大数据和云计算,这些都离不开密码技术的支撑,没有密码,它们的安全性根本无从谈起。

在上世纪九十年代,中国在加密解密技术方面几乎是空白一片,然而短短十几年后,中国在密码领域发展飞快,这巨大的转变背后源自于一个叫做“王小云”的女人。

王小云在《开讲啦》栏目截图

01

数学博士改行研究密码

1966年8月,王小云出生山东诸城的小乡村里,父亲是当地的一名小学数学老师。童年时,父亲给她讲“鸡兔同笼”的故事,这是她最早的数学启蒙。在父亲的影响下,王小云自小就培养起对理科知识的兴趣,在高一分科时,身边女生几乎选择文科的情况下,王小云毅然选择了理科。

在高中学习时,王小云的数学和物理成绩一直遥遥领先,同学们都叫她“天才”。1983年,王小云凭借优异的成绩考入山东大学的数学系学习。在大学期间,有一次老师给布置了一道数学难题,同学们至少花一个月时间解决,王小云仅用一个星期就找出了最优解法。

本科毕业后,王小云在山东大学完成硕博连读,师承著名数学家潘承洞院士,主要研究方向为“解析数学”。

1993年,王小云研究生毕业后留校任教。在导师的建议下,王小云放弃了已有的数学研究成果,转攻密码学。这在当时完全是陌生而新奇的领域,王小云对其一无所知,但她凭借惊人的毅力和学习能力坚持下来了,一做就是十年。

 

02

花光家中积蓄做科研

留校任教做科研的道路并没有想象中的那么顺利。

首先是科研条件的不足,彼时的山东大学资源匮乏经费不足,王小云只有一个狭小的办公位置和一张小书桌。为了密码学的研究,王小云花光家里积蓄自费购买一台计算机和打印机。

其次,学校的教学工作任务繁重,王小云白天教书,晚上学习密码知识。得益于王小云扎实的数学知识储备,加上她对密码学十分感兴趣,在她学习一段时间后便掌握了密码破译相关的理论知识。

在研究密码学的十年里,王小云工作到凌晨两三点钟是常态,但她一点也不觉得得苦,她常说:“只要受得了科研的苦,就没有吃不了的苦”。

十年间,当身边的同事在为了评职称、科研经费而不断写论文发表时,王小云一个人在深夜敲代码,苦苦探寻加密解密的奥秘。

有与王小云关系要好的同事劝她这样下去迟早要把饭碗丢了,但王小云依然沉浸在自己的密码世界里,丝毫不为所动。

 

03

耗费十年时间破译“白宫密码”

王小云曾将密码比作钥匙:“没有密码的保障,就相当于有人偷了家里的钥匙,可以随时自由进出你家,你却浑然不知。”

当时美国等国家普遍使用MD5信息摘要算法,所有关乎到使用者的账号密码、邮件和签名信息等,几乎都要采用MD5来进行加密,因为这算法是不可逆的,因此大大加强了密码被破译的难度。

MD5被认为是世界上最安全的密码系统,一度被称为“白宫密码”,是很多密码研究者想要破解的目标。王小云以此作为目标开始破译密码的漫长路程,对她来说,破译这套被誉为世界之最的安全系统,无异于攀登上珠穆朗玛峰。

功天不负有心人,从1995年起,王小云花费了近十年的时间,终于在2004年召开的国际密码学大会上宣布破译“白宫密码”。

王小云的成果让台下的参会人员哗然一片,接着便是雷鸣般的掌声。MD5的设计者罗纳德·李维斯特(Ron Rivest)更是第一个冲上台去表示祝贺,他说:“我不愿意看到MD5倒下,但是人们必须推崇真理。”

回想起当时的情景,王小云直言:“我当时的感觉真像是获得了奥运金牌,由衷感到了作为一名中国人的自豪!”

 

04

把密码界搅得“天翻地覆”的女人

王小云破译出MD5带来两个后果,一是使中国首次在密码破译领域取得显著的荣誉,开始引起国际学术专家们的关注;二是多个国家立即停止使用MD5,表示未来十年内都不会再采用类似的算法,美国宣布将使用在当时更为安全的SHA- 1。

SHA-1算法的复杂度不亚于MD5,当时著名的哈希函数专家都表示自己只能破解五十七步,曾有很多人进行挑战,却只能止步在四十步。

王小云将SHA-1作为下一个目标。鉴于之前的工作花费了十年时光,王小云原本以为破译新算法至少需要一年半载,但是仅仅两个月之后,王小云便带领团队破译了SHA-1的算法。

这个消息再次引起世界范围内的轰动,美国政府一边无奈地宣布5年内不再使用SHA-1,另一边紧急向微软、SUN 和Atmel等知名科技公司求助,以寻求更安全的对策。

有人形容王小云“一个女人把密码界搅得天翻地覆”。

中国因为王小云的这些成就,一跃成为世界密码领域引人瞩目的一角。

 

05

拒绝去美国,获711万元奖励

十年心血无人问,一朝成名天下知。

王小云因为这两项震惊世界的破译成果一下子成为密码界炙手可热的人物,许多机构和公司纷纷主动找上门来寻求合作,甚至连美国表示王小云可以在美国的任意一所大学就职。王小云婉拒了,她更愿意留在她的密码世界向更深更远的方向探索下去。

在破译MD5时,王小云发现了这套算法的漏洞,于是她在此基础上查缺补漏,于2005年设计出我国首个哈希函数算法标准SM3,其安全性得到国内外专家的高度认可。SM3发布之后,数十项密码相关领域的行业标准出炉,中国在密码安全技术方面前进了一大步。

2005年,在图灵奖得主姚期智教授的邀请下,王小云受聘为清华大学高等研究中心杨振宁讲座教授。2006年被聘为清华大学长江学者奖励计划特聘教授。

2017年,因为其在密码领域的突出贡献,王小云当之无愧地被选为中国科学院院士  。

2019年,王小云荣获未来科学大奖“数学与计算机科学奖” ,成为自该奖设立以来的首位女性得主,奖金金额711万元人民币。

 

06

科研家务两不误

尽管王小云在密码界声名显赫功绩卓绝,她本人却很低调,在一次座谈会上,她开玩笑地说:“我的科研就是抱孩子抱出来、做家务做出来、养花养出来的。”

王小云一边专注于科研工作,一边把家务活打理得井井有条,接触过她的人都说王小云为人十分亲和、朴实,家里餐桌上有饭菜香气,阳台上有花草香味,她一只手抱着孩子,另一只手敲击键盘。

在王小云看来,在科研工作中经常会遇到很多问题,让自己的大脑时常处于一种紧张的状态,做家务能让大脑得到充分休息。

参考:

王小云:密码界的女杀手

中国天才女院士,打脸美国破解最安全密码,获得国家771万奖金

她两度破译“白宫密码”,却称自己是抱娃敲代码的普通妈妈 

王小云百科

#欢迎来留言#

对此,你怎么看?

留言点赞数量最多的前三名

推荐阅读

你的每一个“在看”,都是我们最好的期盼

这篇关于密码界“女杀手”,破译世上最安全密码系统,获 771 万奖金!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/530473

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是