[图文]凯撒大帝的加密术

      送上开场诗一首:我用相思作玉杯,真情当酒意相随。爱心已醉何时醒,你似蝴蝶梦里飞。

      你可以把这首诗发给女友,聪明的她一定能看出这是藏头诗。其实,藏头诗就是一种加密术,它反映出了加密术的本质——变换坐标系。

      加密术最早应用于古代战争,传说凯撒大帝有一个能加密的办法,就是在写命令前做一个对应表,明码:AB…YZ,密码:DE…BC,如果他想写BABY,就用EDEB来表示。

      但是这种简单的加密方法很容易被敌方猜到。敌人从1到25推25次,得到25组新编码,必有一种是真的。把这组编码区别出来非常容易,因为其他24组都是毫无意义的字母组合,找个识字的人就可以看得出来。

      有个聪明人给凯撒出了个主意,搞个乱序的。例如A对Q,B对F,只要保证一一对应没重复就行了——这种方法被后人称为‘单表系统’。

      这招很不错,但它还是有一个漏洞。以英文为例,一篇文档里每个字母出现的次数是不同的。例如E出现的最多,如果一份密文中R出现的最多,那会不会就是E?即使不是E,也应是明文中出现次数较多的字母。按照这种思路,天啊,密码解开了。

      有一天加密方终于找到了解决问题的关键——‘多表’。就是每个明文都对应多个密文,例如A分别对应着XGV,这三个密文的选择取决于明文的位置,A在第一位时选X,第二位时选G,第三位时选V。将整个一段明话按三位一段进行分组后就可以加密。这个例子是三维的,维数越多就越难破译。这种多表系统虽然也有统计规律可循,但只短短一段密文是不足以找到规律的。

      其实凯撒还可以称得上隐写术的鼻祖。他知道自己的加密术并不很安全,有人又给他出了一招:把一批士兵的头发剃光,用火烙铁在脑顶上烙上不同印迹,并做好记录,但士兵们却一头雾水。大战之前,凯撒要求大将们牢记一组对应关系,梅花疤代表‘马上率部向我驰援’,三角疤代表‘固守阵地’等等。

      战斗中凯撒被围困了,情况很危机。他拿来记录本,把烙梅花疤的几个人都点了出来,命令他们沿不同的路线到大将处报到。这些人出发了,有的人成功地找到了大将,二话不说被剃了头发。也有人被俘,严刑拷打也问不出情报,因为他的确不知道情报。距离剃头烙疤的时间已经很久了,士兵新长出的头发已经遮盖了烙疤。

喜欢这篇文章吗?分享出去让更多人知道吧~
 
赞文章
赞专页