首页English
  • 时政
  • 国际
  • 时评
  • 理论
  • 文化
  • 科技
  • 教育
  • 经济
  • 生活
  • 法治
  • 军事
  • 卫生
  • 健康
  • 女人
  • 文娱
  • 电视
  • 图片
  • 科普
  • 光明报系
  • 更多>>
  • 报 纸
    杂 志
    光明日报 2011年01月11日 星期二

    凯撒的加密术

    作者:奥卡姆剃刀 《光明日报》( 2011年01月11日 12版)
    资料图片

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

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

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

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

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

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

        现在又轮到加密方纠结了。他们想:如果把频次区别消除掉,敌人不就没办法了吗?

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

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

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

        随着计算机的诞生,这些被称为古典密码术的方法全部失效,因为它们根本抵挡不住计算机的穷举分析。现代密码学的思路跟古典密码术非常不同,它是先找出一个数学难题,然后把加密方法归结到这个难题,若解不出这个数学难题就破解不了密码。隐写术也逐渐脱离了物理和化学反应,而是与加密术结合了起来,把秘密隐藏在数据中。现代密码学更加引人入胜。

    光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

    光明日报版权所有