财新传媒 财新传媒

阅读:0
听报道

本文作者:奥卡姆剃刀

开场诗:

我用相思作玉杯
真情当酒意相随
爱心已醉何时醒
你似蝴蝶梦里飞

建议你把这首诗短信发给你女友,如果她没反应,不妨再提醒她一下,让她把每行的第一个字连着读。没错,这就是藏头诗,藏头诗就是一种加密术,它通过坐标变换的方式隐藏了秘密,加密其实就是变换坐标系。

加密术最早应用于古代战争,当时是靠士兵随身携带的信件来传递情报,但总是免不了被敌方俘虏,从而使情报落入敌手,这对作战部队而言可是生死悠关的大事。传说当时的凯撒大帝有一个能加密的办法,就在写命令前做一个对应表:

明码:A B C D E F....W X Y Z
密码:D E F G H I.... Z A B C

如果他想写BABY,就用EDEB来表示。当大将收到了EDEB这个密码后,向前推3个字母,就得到了明文。这个对应表的移位数是3,当然别的数也可以,作战前由凯撒定好后通知大将们。

这种加密方式其实就是把坐标系横移了3格,这种方法非常简单,但同时也很容易被敌方猜到,敌人从1到25推25次,得到25组新编码,必有一种编码是真实的情报内容,把这组编码区别出来非常容易,因为其它24组都是毫无意义的字母组合,只有这一组是有意义的句子,找个识字的人就可以看得出来。

凯撒该怎么办呢?有个聪明人帮他出了个主意,对应表不按字母顺序写,而是搞个乱乎的。例如A对Q,B对F,随便配对,只要保证26个明密码对里,每个都出现一次就行了。

每次出征前,凯撒都会临时搞个非常乱乎的明密码对应表,然后发给大将。这招很不错,敌人即使截获了密文,由于不知道明密码对应表,也很难破译出来,这其实也是坐标系的一种变换,这种方法被后人称为“单表系统”。

很多年过去了,有人发现了这种加密方法的漏洞,因为英文字母的出现次数是不同的,例如E出现的次数最多,甚至可以搞出个频次表来,如果一件密文中R出现的次数最多,那这个R会不会就是E呢?这个猜想很合理,即使代表的不是E,那它代表的也应是明文中出现次数较多的字母。按照这种思路试试吧,My God,密码解开了。

现在又轮到加密方纠结了,他们想,破解方是在拿明密文中字母出现的频次做文章,如果我们能把频次的区别消除掉,他们不就没办法了吗?道理虽然很好,但怎样才能消除这种频次的差别呢,毕竟明文中字母的频次就是不一样,这本身没法改变啊。

功夫不负有心人,有一天加密方终于找到了解决问题的关键,这个关键就是“二维”,这个方法被后人称为“多表系统”,就是把明文字母两个一组的重新排列,按组去设置乱码表。明码表有:AA AB...AZ BA BB...BZ CA CB....ZZ,每组再指定一个两个字母的密码对。例如明文BABY,密文就是分别对应BA和BY的两组密码对。这个方法其实就是把一维坐标系扩展成了二维。

这个多表系统非常有效,一直到二战期间还在使用。当时德军有一种根据多表系统原理设计的加密转轮机,有三个轮子负责把输入的明码置乱成密码,英国一直破译不出来。后来德国为了进一步增加保密性,多加了个轮子,可保密性不仅没有增加反而下降了,终于被英国解了密。这就好比是洗扑克牌,并不是洗的次数越多就越乱乎,你已经洗得足够乱乎了,又洗了一次,这次反而不够乱乎了。

加密后的密文即使摆在敌人面前,他们也搞不清楚其真实内容,但让他们知道了这是件隐藏着重要情报的密文,也总归不是好事。如果密文摆在他们面前,他们竟然毫无察觉,那当然更好了,这就是隐写术。谍报小说里经常会介绍到这样的场景,潜伏者用米汤写情报,晾干后再在上面写一封信作为掩护,收信者并不关注信的内容,而是在信纸上涂上一层碘酒,情报就会变成蓝色显示出来了。这样的一封信,即使让特务机关拆开审查,只要不知道这个门道,那什么也查不出来。

隐写术也是由来已久了,传说凯撒为了防止传令兵被俘后泄露情报,想出了一招:把一批士兵的头发剃光,并用火烙铁在脑顶上烙上不同的印迹,并对哪个兵烙上什么样的疤做好记录,被烙的士兵一头雾水,不明白这是为什么。大战之前,凯撒召集大将,并要求他们牢记一组对应关系,梅花疤代表“马上率部向我驰援”,三角疤代表“固守阵地”等等。

战斗中凯撒被围困了,情况很危机,他拿来了记录本,把烙梅花疤的几个人都点了出来,命令他们沿不同的路线到大将处报到,“不用我们传个口信或带个情报吗?”这些人很不解,“不用,你们到大将处报个到就算完成了任务”凯撒说到。
这些人出发了,有的人成功地找到了大将报到,大将二话不说,立即给他剃头查疤。也有的人被俘,严刑拷打也问不出情报,因为他的确不知道情报。距离剃头烙疤的时间已经很久了,士兵新长出的头发已经遮盖了烙疤,敌人也轻易察觉不到这个蹊跷。

如果敌人看到了这个蹊跷,但不认为这是个蹊跷,那当然更好了,二战中的一位音乐家就做到了这一点。他当时是盟军的一位情报员,跟其他情报员隐藏情报的方式不一样,他自创了一套英文字母和五线谱之间的对应表,并把情报写成了曲谱带在身上大摇大摆地过关卡。他最危险的一次就是遇到了一位深通乐理的德军军官,德军军官拿着五线谱拷问他,他竟然真的把情报乐谱完整地唱出出来,虽然不好听,但终归还算是个谱子。音乐家靠这招送情报无数,从来没有失过手。

加密的方法越来越巧妙,但随着计算机的诞生,这些被称为古典密码术的方法全部失效,因为它们根本抵挡不住计算机的穷举分析。现代密码学的思路跟古典密码术非常不同,它是先找出一个数学难题,然后把加密方法归结到这个难题上,若解不出这个数学难题就破解不了这个密码。现代密码学更加引人入胜,这是下一个话题。

漫谈信息安全(一) - 科学松鼠会 - 科学松鼠会
话题:



0

推荐

科学松鼠会

科学松鼠会

4011篇文章 5年前更新

什么是科学松鼠会? 我们认为,对于部分人来说,科学就像一枚枚难以开启的坚果,虽味美却不易入口。 我们希望自己能够像松鼠一样,打开科学的坚硬外壳,将有营养的果仁剥出来,让人们能够领略到科学的美妙。 我们试图让科学传播并且流行起来。 这里是科学松鼠会的网站的一个镜像,大家的留言我们可能没办法一一回复,如果您有什么问题,欢迎到科学松鼠会的主站提问:http://songshuhui.net/

文章