密码世界的神秘洞天,智力英雄的决战笔记。
听书笔记
《码书:编码与解码的战争》作者西蒙·辛格是世界著名的科普作家,前BBC资深节目制作人。本书讲述了各个时代密码从创建到破解的过程,揭开密码背后那些智慧而非凡的秘密,是一部惊心动魄的信息战争极简史。
第一回合,书写时代。
自有文字以来,信息就有了保密的需要。人们最早想要秘密地交流信息,只能单纯地把信息藏起来。一旦信息的载体被发现,内容马上就会曝光。于是,密码就应运而生了。密码的目的是把信息转译成无法理解的文字或符号。信息加密有两个必备工具,一个是算法,一个是钥匙。算法是指加密的规则。钥匙是指解开密码的特定字母集。钥匙的重要性远远高于算法。通常敌人拦截下加密信息时,能猜对它的算法,却很难推测出钥匙。钥匙的保密才是决定密码安全性的关键。
历史上第一套成熟的密码法是一个字母对应另一个字母,这套经典的密码法叫作“替代式密码”。早在凯撒大帝时期就开始使用了。26个字母任意对应生成钥匙,虽然操作容易,但是安全性却相当高,因为它可以组合出多到令人恐怖的钥匙数量。
阿拉伯人发明了攻破替代式密码的武器,叫做频率分析法。这个武器从语言结构上找到了突破。首先,字母出现的频率是有差异的。比如,英文语言中出现频率最高的字母是e,如果有一篇密码文,里面频繁地出现字母J,那它就很有可能是e的替身。
第二点,字母之间有特定的组合关系,比如密码文里出现两个相同的字母连在一起,就可以考虑ee、oo这样的常用组合,而不可能是xx、yy、zz。只要分析一下密码文里各字母出现的频率以及语言结构,就有可能破译密码。
强大的频率分析法攻破了替代式密码的防守阵地。
第二回合,无线电时代。
19世纪末期,意大利的马可尼发明了无线电技术。无线电信号几乎可以传到世界任何一个角落,大大提高了信息传输效率,这也是它在军事用途上的最大弱点,因为敌人坐在家里就能拦截到所有信息。加密变得迫在眉睫。到第一次世界大战结束时,所有无线电密码还都是使用手工编码。直到第二次世界大战,德国发明了有史以来最可怕的加密系统“恩尼格玛”机,也叫“奇谜”机,意思是像谜一样的机器。
恩尼格玛机是纳粹德国最大的秘密武器。它由键盘、编码器、显示板构成。发报员在键盘上敲下一个明文字母,它就会自动点亮相应的密码字母,它根本不是运行简单的替代式密码,而是同一个字母可以被不同的字母替换。在机器的内部,有三个编码盘,每输入一个字母,编码盘就会自动旋转一格。
恩尼格玛机收发信息都非常高效,德军每天都会更换钥匙,只要不能在当天破解出密码,那么到了第二天,此前的工作就全都白费。
波兰人马里安·瑞杰斯基找到了破绽。德军习惯在发送密码前,要先发送钥匙,钥匙也是要加密发送的。他们为了避免无线电干扰或者操作人员的失误,总会将钥匙重复发送两次。正是这种重复,让波兰人在铜墙铁壁上撕出了一条口子。
既然钥匙是重复两次发送的,那么密码文中第一个字母和第四个字母就表示的是同一个字母。从这样一个突破口出发,瑞杰斯基研究了大量的钥匙串,推导出了一套字母之间的关系链。每天用密码的前六个字母对比这套关系链,就能找到当天的钥匙。
1938年底,德国推出了恩尼格玛机的升级版,增加了编码盘和接线数量,这让钥匙的总数激增了一万五千九百倍,原来的那套字母链已经不适用了,所有工作都要重新开展。
计算机科学之父、人工智能之父艾伦·图灵找到了一种跟重复加密钥匙没有关系的方法。这种方法简单来说就是尝试全部的可能性,对钥匙进行地毯式搜寻。
图灵设计的这台机器名叫“炸弹”,它由很多个转盘组成。这些转盘三个一组,每组就相当于一台恩尼格玛机,可以模拟它的加密过程。操作员将推测出来的词组作为线索输入,机器就会自动进行破解,尝试各种组合的可能性。当找到正确的密码时,就能形成一个电流回路,电流一接通就会点亮灯泡,发出成功的信号。
第三回合,计算机时代。
以往,检验所有的钥匙是人力不可能完成的工作,但是以现代计算机的运算能力,分分钟完成数亿次计算。根本就不需要动用语言专家去分析密码文,计算机直接给你找到钥匙。乍看上去,在计算机时代没有破解不了的密码。在20世纪70年代中期,编码专家们开了一个天大的脑洞,打破以往密码学的全部逻辑,获得了两千多年来密码学最伟大的突破。这一突破的核心叫做“非对称加密系统”。
之前,所有加密技术都是对称的,也就是说,解密过程等于是逆向执行加密过程。通信双方使用同一把钥匙,可以互相加密、解密。但是,在非对称加密系统里就不一样了,加密和解密要使用两把不同的钥匙。也就是说,发信人有加密钥匙,可以加密信息,但是如果要解密的话,就必须再搞到一把解密钥匙,没有解密钥匙,连发信人自己都无法破译自己的密码。比如你家的信箱,别人给你投递信件,这就好比把信件加了密,可一旦信被扔到信箱里,包括发信人自己也拿不出来了,只有你本人有钥匙,可以打开信箱把信取出。
在这套加密办法里,有两个关键点。第一,这个信箱必须绝对牢固,信件只能进不能出。第二,钥匙必须绝对安全,再强大的计算机也推算不出来。如何做到这两点呢?秘密有两个,一个是单向函数,一个是质数。
单向函数就是只能单向运算,不能逆向运算的函数。通常的函数大多是双向函数,比如3+6=9;反过来, 3加上多少等于9,很容易能推算出来数字6。而单向函数就不具备这种逆向推算的可能,比如16除以5的余数是1,反过来,一个数除以5的余数是1,这个数是多少,答案可以是16,也可以是26、36,等等。
密码学家利用这种函数,设计了一套加密过程:先将信息转换成一个数字,把数字套进单向函数里,求出另一个数字,那这个数字就是信息的密码文。1977年,三位麻省理工学院的研究员找到了这样的单向函数。这个函数只有在一种情况下可以求出原值,那就是拿到钥匙。
质数,就是只能被1和自身整除的数,两个质数的乘积很容易求出来,要把这个乘积分解开来却很难,利用质数的这种性质,可以制造两把钥匙,一把用来加密,一把用来解密。比如,我们选择两个质数7和13作为解密钥匙,把它们相乘得到91,然后用91作为加密钥匙。这把加密钥匙对外公开,所有人都可以用91来给你发加密信息。把91套进前面说的单向函数,得到一个专属单向函数。再把秘密信息套进专属单向函数,生成一条密码文。当你收到这条密码文时,只有你知道解密钥匙是7和13,能够破解密码。只有加密钥匙91的人,是无法破解密码的。
实际使用的质数是非常庞大的。数学发展至今2千多年,还从未找到分解两个质数乘积的捷径。就算有1亿台计算机联合起来,要破解这两个质数,也需要1000年的时间。因此,在当下的条件,密码是无法被攻破的。
这套非对称加密系统也叫做RSA系统,在目前是全球通用的加密系统,被广泛地运用在各行各业。
第四回合,量子时代。
量子是现代物理学最重要的概念之一,它是物质的最基本构成单元,或者说是能量的最基本携带者。所有的微观粒子,包括原子、电子、光子都是量子的一种表现形态。在这里,量子世界中最重要的一个特征,叫做状态叠加。
如果有一台量子计算机,就可以一次性把所有的问题同时输入进去,机器本身就会进入叠加状态,同时处理这些问题。如果真的开发出量子计算机,那么编码专家们建立起的非对称加密系统将被彻底攻破。
面对量子计算机,编码专家们也在升级更加强大的加密系统,一套即使面对量子计算机的威力也无所畏惧的加密系统。这套系统同样脱胎于量子力学,它就是量子密码。
一套密码系统的核心在于钥匙的安全性,只要钥匙遭到窃取,所有的保密工作就都白费了。在计算机时代使用的非对称加密法就是围绕保护钥匙来设计,你可以窃听拦截,但是没有量子计算机你就算不出来。而量子密码则不同,它的最大优点是你根本就无法窃听。
量子有一个神奇的特性,它害怕被人观测。量子可以有多种状态同时存在。当我们闭上眼睛不去看它,它就像幻影一般经历着世间全部的可能性。可是,只要你一睁眼去观察它,那么一切可能性就将瞬间消失,它会随机选择一种可能性,以一个确定的位置出现在我们面前。不但如此,你还永远无法精准地测量它。因为人类的观测工具实在太宏大了,仅仅是观察和测量这个动作本身,就会不可避免地扰乱它的运动状态。
量子密码正是运用了这样的原理。在通信过程中,传输钥匙的载体是一个个单独的光子。这些光子有不同的偏振方向,代表0或1,接收方需要通过侦测器来接受光子,和发送方确认测量结果是否正确,留下正确的结果作为钥匙,这个沟通过程只判断测量是否正确,不涉及内容,被窃听到了也没关系。在光子传播过程中,如果有人试图窃听和测量这些光子,就会立即改变它们的振动方向,也就改变了光子携带的信息。
目前,量子密码还处在发展和完善过程中,如果最终它能实现远距离运作,那么密码的进化史就将写下句号,人类对保密的追求也将就此结束。胜利属于编码者。
解读 | 韩春苗,中央广播电视总台编辑,国际新闻学硕士,全国广播影视“十佳百优”理论人才。
播音 | 张煜
策划编辑 | 陈艳
音频编辑 | 陈子夫
书写时代解码战胜编码用的是语言学,无线电时代解码战胜编码用的是数学,计算机时代编码用数学和计算机挽回败局;量子时代编码赢得了最终战争
总有些信息不想被别人看到,但总有些人想要破解别人的信息,这就很好玩,信息加密者不断增加信息的私密性,破解者也在不断地扩充自己的武器库。这就好比小学生写日记父母总想看。但更多现实中是关于一个国家人民生死存亡的大事。
讲的太好了,这么难懂的知识,深入简出,举重若轻
那这样我们如果密码破解力最强 是不是可以掌握美国的随时动机
这个书真有趣,弥补基础知识
特别精彩有趣,二战那段堪称传奇,听得有点小激动
打卡
这本书很适合程序员听
高端大气有内涵!好书!
很好的书,播讲的也不错,一下子就明白了谍战剧里那些解密的桥段。