论文部分内容阅读
从古至今
当人们需要传递重要信息时,比如军事情报,又担心信件被人截获而泄露秘密,就要使用密码。要想读懂里面的意思,就必须掌握解开密码的关键,也就是密钥,否则即使拿到密文也无法知晓它的意思。在古希腊,人们用一条带子缠绕在木棍上,沿木棍纵轴方向逐行写好文字,解下带子,就得到了杂乱无章的字母,解密者则需要找到同样粗细的棍子,然后将带子缠上去,才能读出原本的意思。在这个过程中,发信人和收信人需要事先约定好棍子的粗细,这根棍子便是“密钥”。
在《水浒传》中,梁山的腹黑军师吴用,骗卢俊义将四句诗“芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。”挂墙上,日日观看。结果卢俊义被官府通缉,最后被逼入伙梁山。因为这是一首藏头诗,每句的第一个字连在一起就是“卢俊义反”,成了官府认定卢俊义谋反的罪证。这首藏头诗就是一种加密手段,只是用法太没人品了一点。
不管棍子还是藏头诗,都有一定的风险性,一旦对方掌握l了加密的方法,破解就很容易。为了增加密码的安全性,西方曾经出现过一种“替代式密码”,如凯撒曾经把字母往回移动三个字母来加密,如
“I CAME I SAW I CONQUERED(我来,我看见,我征服)”就变成了“F ZXJB F PXT F ZLKNRBOBA”。这似乎很难懂,但是推测出了移码方法就不难破译。而且这种替代密码还有一个特点,就是在英文中,E是用得最多的字母,之后依次是TAOINSRHLDCUMFPGWYBVK XJQZ。因此,只要确定了E的移码方式,就可以将全文破译出来。
解密有方法
另有一种替代式加密方式略显复杂,即用不同的字符或字符组合来代表不同的意义,这样的话,要破译密文,获取明文与密码之间的对应关系就格外重要,也就是所谓的密码本,这是诸多谍战大片中的看点之一。大名鼎鼎的摩尔斯电码就是替代式加密,它是一种电报编码方式,有一个长音“哒(一)”和一个短音“滴(.)”,前者是后者时长的三倍,不同的搭配代表不同的字母,每发完一个字符,中间会有一个停顿。摩尔斯电码对于熟悉通信的人来说几乎是明码,但是它对普通人来讲仍是密码,而且还可以伪装成各种形式,有一定的隐蔽性。
替代式也有被直接破译的可能,因为在某些场景下,有些词可能是高频词,如在战场中“敌人”“胜利”“防守”“机场”等可能会反复出现,成为被破译的关键,如果再结合语法分析,就可能大量被破译。总的情况是,这类密文越长,或者被截获的条数越多,猜解出来的可能性就越大。对那些失落文明的文字,我们也几乎是在用着同样的手段进行破译。
_一个经典的破译案例就是生物遗传密码。生物学家在20世纪中叶就已经知道了DNA是遗传物质,但是,DNA并不直接参与大多数生命活动,真正实现生命功能、表现生物性状的却是细胞中的蛋白质,它由大约20种氨基酸按照一定的顺序排列在一起组成。DNA通过合成和基因几乎一样的RNA来控制蛋白质的合成,它里面的遗传信息能够决定蛋白质中氨基酸的排列顺序。但是,DNA和RNA都只有四种组成成分,也就相当于4个“字母”,科学家分别将其命名为“A、1(RNA为U)、C、G”,但4个“字母”是如何用来表述20种氨基酸的排列顺序的呢?人们相信,这应该是一种替代式的编码模式,假设几个字母为一组来代表一种氨基酸,如果是2个一组,则有4种组合,即16种,这比20少。于是科学家又假设每三个字母一组作为一个“密码子”,来代表一个氨基酸,这样就有4。种排列顺序,也就是64种,足以代表20种氨基酸还有富余。也就是说,有些氨基酸的密码子可能还不是一个,而是有多种。接下来,科学家便开始合成单一密码子的RNA,看能在生物体中合成什么样的蛋白质。如在使用
“GAA(3AAGAAGAA”这样的RNA序列时,发现合成的蛋白质只由谷氨酸组成,也就是说“GAA”代表的是谷氨酸,之后又发现“GAG”对应的也是谷氨酸……最后,经试验反复检验,思路完全正确。于是生物的遗传密码被逐一破译了。
加密更强大
为了更安全,人们用齿轮和杠杆造出了密码机进行机械加密,二战中的德国甚至还设计出了一种包含了猜谜在内的庞杂的加密方式。但是这样的方式随着计算机的登场而被终结,电子设备可怕的运算速度让这些密码无处遁形。程序员只需要把解密的一般规则、文字的语法特点和常见的单词组合一股脑输入到电脑中,然后叼上一根烟,适时地对程序作出调整就可以静待结果了。
相比之下,利用数学方法进行加密更难破译一些,如果辅以多重加密就更难。比如,在计算机字库中,汉字都有一个编码,称为区位码,如“冉”和“浩”的区位码是“4029”和“2638”。如果将这两个字写成字串“40292638”,然后再乘以一个数字密钥,比如2,结果就是“80585276”,反向破解就会变得困难。而如果这是一句由十几个字组成的句子,每个字符的代表数字长短不一,再经过一次与某个数进行的乘法处理,若没有密钥,反向拆分会变得十分困难,这种乘积也能将那些高频字词很好地隐藏起来。而当代加密,借助计算机和数学理论,走得比这更远。众多的加密手段正应用在我们的手机、互联网等通信渠道之中,保护着我们的隐私。
事实上,设计加密算法的人必须有一种觉悟——只要有充足的时间,任何_种密码都是有可能被破译的,因此,一个安全自g密码并非是无法破译的,而是在情报有效时间内不被破译,一如在战争结束后才破译出的密文,已经无法扭转战局。
当人们需要传递重要信息时,比如军事情报,又担心信件被人截获而泄露秘密,就要使用密码。要想读懂里面的意思,就必须掌握解开密码的关键,也就是密钥,否则即使拿到密文也无法知晓它的意思。在古希腊,人们用一条带子缠绕在木棍上,沿木棍纵轴方向逐行写好文字,解下带子,就得到了杂乱无章的字母,解密者则需要找到同样粗细的棍子,然后将带子缠上去,才能读出原本的意思。在这个过程中,发信人和收信人需要事先约定好棍子的粗细,这根棍子便是“密钥”。
在《水浒传》中,梁山的腹黑军师吴用,骗卢俊义将四句诗“芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。”挂墙上,日日观看。结果卢俊义被官府通缉,最后被逼入伙梁山。因为这是一首藏头诗,每句的第一个字连在一起就是“卢俊义反”,成了官府认定卢俊义谋反的罪证。这首藏头诗就是一种加密手段,只是用法太没人品了一点。
不管棍子还是藏头诗,都有一定的风险性,一旦对方掌握l了加密的方法,破解就很容易。为了增加密码的安全性,西方曾经出现过一种“替代式密码”,如凯撒曾经把字母往回移动三个字母来加密,如
“I CAME I SAW I CONQUERED(我来,我看见,我征服)”就变成了“F ZXJB F PXT F ZLKNRBOBA”。这似乎很难懂,但是推测出了移码方法就不难破译。而且这种替代密码还有一个特点,就是在英文中,E是用得最多的字母,之后依次是TAOINSRHLDCUMFPGWYBVK XJQZ。因此,只要确定了E的移码方式,就可以将全文破译出来。
解密有方法
另有一种替代式加密方式略显复杂,即用不同的字符或字符组合来代表不同的意义,这样的话,要破译密文,获取明文与密码之间的对应关系就格外重要,也就是所谓的密码本,这是诸多谍战大片中的看点之一。大名鼎鼎的摩尔斯电码就是替代式加密,它是一种电报编码方式,有一个长音“哒(一)”和一个短音“滴(.)”,前者是后者时长的三倍,不同的搭配代表不同的字母,每发完一个字符,中间会有一个停顿。摩尔斯电码对于熟悉通信的人来说几乎是明码,但是它对普通人来讲仍是密码,而且还可以伪装成各种形式,有一定的隐蔽性。
替代式也有被直接破译的可能,因为在某些场景下,有些词可能是高频词,如在战场中“敌人”“胜利”“防守”“机场”等可能会反复出现,成为被破译的关键,如果再结合语法分析,就可能大量被破译。总的情况是,这类密文越长,或者被截获的条数越多,猜解出来的可能性就越大。对那些失落文明的文字,我们也几乎是在用着同样的手段进行破译。
_一个经典的破译案例就是生物遗传密码。生物学家在20世纪中叶就已经知道了DNA是遗传物质,但是,DNA并不直接参与大多数生命活动,真正实现生命功能、表现生物性状的却是细胞中的蛋白质,它由大约20种氨基酸按照一定的顺序排列在一起组成。DNA通过合成和基因几乎一样的RNA来控制蛋白质的合成,它里面的遗传信息能够决定蛋白质中氨基酸的排列顺序。但是,DNA和RNA都只有四种组成成分,也就相当于4个“字母”,科学家分别将其命名为“A、1(RNA为U)、C、G”,但4个“字母”是如何用来表述20种氨基酸的排列顺序的呢?人们相信,这应该是一种替代式的编码模式,假设几个字母为一组来代表一种氨基酸,如果是2个一组,则有4种组合,即16种,这比20少。于是科学家又假设每三个字母一组作为一个“密码子”,来代表一个氨基酸,这样就有4。种排列顺序,也就是64种,足以代表20种氨基酸还有富余。也就是说,有些氨基酸的密码子可能还不是一个,而是有多种。接下来,科学家便开始合成单一密码子的RNA,看能在生物体中合成什么样的蛋白质。如在使用
“GAA(3AAGAAGAA”这样的RNA序列时,发现合成的蛋白质只由谷氨酸组成,也就是说“GAA”代表的是谷氨酸,之后又发现“GAG”对应的也是谷氨酸……最后,经试验反复检验,思路完全正确。于是生物的遗传密码被逐一破译了。
加密更强大
为了更安全,人们用齿轮和杠杆造出了密码机进行机械加密,二战中的德国甚至还设计出了一种包含了猜谜在内的庞杂的加密方式。但是这样的方式随着计算机的登场而被终结,电子设备可怕的运算速度让这些密码无处遁形。程序员只需要把解密的一般规则、文字的语法特点和常见的单词组合一股脑输入到电脑中,然后叼上一根烟,适时地对程序作出调整就可以静待结果了。
相比之下,利用数学方法进行加密更难破译一些,如果辅以多重加密就更难。比如,在计算机字库中,汉字都有一个编码,称为区位码,如“冉”和“浩”的区位码是“4029”和“2638”。如果将这两个字写成字串“40292638”,然后再乘以一个数字密钥,比如2,结果就是“80585276”,反向破解就会变得困难。而如果这是一句由十几个字组成的句子,每个字符的代表数字长短不一,再经过一次与某个数进行的乘法处理,若没有密钥,反向拆分会变得十分困难,这种乘积也能将那些高频字词很好地隐藏起来。而当代加密,借助计算机和数学理论,走得比这更远。众多的加密手段正应用在我们的手机、互联网等通信渠道之中,保护着我们的隐私。
事实上,设计加密算法的人必须有一种觉悟——只要有充足的时间,任何_种密码都是有可能被破译的,因此,一个安全自g密码并非是无法破译的,而是在情报有效时间内不被破译,一如在战争结束后才破译出的密文,已经无法扭转战局。