干货|一流数学家原来是这样破解密码的,看完后你也会!

数学的重要性在军事中不言而喻,从早期的地道挖掘、弩箭发射到现代战争的建模分析、精确打击……无不有数学参与其中。

而到了二战时期,数学原理被广泛应用到军事密码的编制中,比如在太平洋战争爆发之前,日本军方发明的名为“紫密”的密码,运用这种密码,日本在二战中极为疯狂。

直到在中途岛海战中,由于美国成功破译日本电报密码,致使日本4艘航空母舰,1艘巡洋舰被炸沉,330架飞机被击落;几百名经验丰富的飞行员和机务人员阵亡。才使得日本丧失了在太平洋战场上的制空权和制海权。

解密数学家华罗庚,数学家破解宇宙秘密

同样在二战中,德国法西斯用于绝密通讯的电报机叫“Enigma”(谜),其密码的复杂程度可以说是无人可以破解。

但是,数学家图灵通过数学的思想和方法设计了一架破译机“Ultra”(超越)专门对付“Enigma”,破译了大批德军密码。

解密数学家华罗庚,数学家破解宇宙秘密

无论是在军事还是在某些机密的传递上,使用密码都是为了保证信息的安全。

而所谓密码,就是按特定法则编成,用以对通信双方的 进行明密变换的符号。

通过各种办法,将信息通过变换,使其变为除通信双方以外其他人所不能读懂的一种编码。

解密数学家华罗庚,数学家破解宇宙秘密

密码的体制指的是进行明密变换的法则,指示这种变换的参数,称为密钥。

我们在进行密码的编制中,可以采用的基本类型分为四种:错乱、代替、密本和加乱。这四种密码体制既可以单独使用也可以混合使用,以编制出各种复杂程度的密码。

解密数学家华罗庚,数学家破解宇宙秘密

世界上最为古老的体制密码凯撒密码,所使用的就是有序的代替密码。即将原有的字母以特定的关系映射到另一个字母,其映射关系可以是线性的,也可以是乘法关系。

如定义一个由A到B的映射:f:A→B(ai)=bi=aj j=ik mod n 其中,(n,k)=1,也可以是密钥词组代替密码。随机选一个词语,去掉其中的重复字字母,写到矩阵的第一行,从明文字母表中去掉这一行的字母,其余字母顺序写入矩阵,然后按列取出的字母构成密文字母表。

解密数学家华罗庚,数学家破解宇宙秘密

看起来似乎涉及到了比较高深的数学知识,实际上他的基本思想很简单,就是通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

例如,当偏移量是 3 的时候,所有的字母 A 将被替换成 D, B 变成 E,以此类推 X 将变成 A, Y 变成 B, Z 变成 C。而位数就是凯撒密码加密和解密的密钥。

我们可以通过试着破解一题凯撒密码来理解。

解密数学家华罗庚,数学家破解宇宙秘密

由此我们可以看出凯撒密码就是一个简单的线性代替算法,其破译方法也比较简单,只要有较多的译文就可以使用字母频度分析将其破译。

你破译出来了吗?

解密数学家华罗庚,数学家破解宇宙秘密

由于计算机的发明,我们在密码的编制和破译上有了很大的突破。

比如在二战中由于德国更换了新式恩尼格码密码机,虽然大部分被驻在布莱奇利庄园的盟国密码专家成功破译,但还是有若干密文始终未获破解。

直到某一天,一名德国业余爱好者用上千台个人计算机通过互联网组成了网格计算集群,解决了其中一条。

我们来看看这自二战以来一直遗留至今的恩尼格码密文。

解密数学家华罗庚,数学家破解宇宙秘密

破解后的明文如下:

解密数学家华罗庚,数学家破解宇宙秘密

是不是感觉很神奇呢!其实,设置密码大多借助数学的知识,而破解的关键就是利用数学的思维来思考分析。

除了密码之外,数学所发挥的作用也远比我们想象得更为重大!

学好数学,利用数学来锻炼我们的思维,说不定哪天拯救世界的人就是你呢!

我是小深,欢迎大家在评论处留言讨论,一起来谈谈数学!

也欢迎大家私信小编咨询不懂的数学问题!