密码界“女杀手”,破译世上最安全密码系统,获 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

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p