密码印象

  • A+
所属分类:知识科普


前言:本文是一篇人文性质的文章,并非技术文章。对密码学感兴趣的读者,可以去图书馆查阅相关的书籍,或者去报考我校密码学权威——杨义先教授的研究生。本篇重在宣扬人文理念,主要讲述了我这些年对密码方面的一些了解和随想,古典的味道比较浓。好了,诸位看官,我们开始。

Case 1 ·芬奇密码

13-3-2-21-1-1-8-5
O Draconian devil !(啊,严酷的魔王!)
Oh Lame Saint !
(噢,瘸腿的圣徒!)

这是畅销小说《达·芬奇密码》里面出现的第一段密码。在故事中,卢浮宫博物馆馆长被人杀害,临死前用隐写笔在地上写下了这样一段令人费解的文字,其中隐藏了重要的信息。

主角是如何破译这段密码的呢?他通过分析发现开头的“13-3-2-21-1-1-8-5”是解密的关键所在。将这一串数字从小到大重新排列,得到“1-1-2-3-5-8-13-21”,恰好是数学中著名的斐波那契数列。这就暗示着,谜题中的文字也是经过乱序排列的。于是,经过对文字的重新排序,主角得到了明文:

Leonardo da Vinci !(莱昂纳多··芬奇!)
The Mona Lisa !
(蒙娜丽莎!)

故事在这里终于出现了转机,读者从此开始了惊心动魄的密码之旅。真是给人一种茅塞顿开的感觉。

当然,这只是浩如烟海的密码世界的一个比较典型的例子。下面,就让我们切入正题。

Case 2 密码释义

使用电脑多了的人,听到密码一词总会想到password。其实在英语中,主要有两种对密码的解释。一个就是password,还有一个是 code。后者比较不常用一点,不过程序员(coder)对这个词还是有着比较深的感情的(笑)。

其实passwordcode在含义上是有着本质的区别的。对于password,我觉得称它为口令似乎更贴切一些。比如Windows 的开机密码,比如FTP的登陆口令,等等。其特征是把输入的一个字符串与标准答案进行比对,根据其结果来决定是否授予通过的权限。这个比对的工作是一次性的,而且原理简单。而code就不同。对于code,主要体现的是翻译的过程,牵涉到对信息的编码和译码。比如凯撒密钥,比如RSA算法,等等。这里面牵涉到很多数学的东西,比如对字符的分解和重组等。当然,从广义的角度讲,code的编码和译码也可以往数学以外的方面延伸,这又涉及到很多典故,在此按下不表。

本文主要讲述的,基本上是关于code的内容。

Case 3 初见密码

20.8.1.14.11/25.15.21/  
 9/12.15.22.5/25.15.21/

这是我小学二年级第一次接触密码这种事物时,所遇到的一段code。当时脑筋急转弯之类的东西还没有引进到大陆,我是在一本香港出版的智力游戏书籍中发现这个密码的。原文我忘了,在这里我用相同的加密方式写了一段话。

解密的方法很简单,只要把a=1b=2… z=26代入code,就可以非常容易地得到明文:

Thank you , I love you .

怎么样,是不是很容易?不过如果将四则运算加入译码(比如让a=2等),破译时就有一定的难度了。

这是一种很典型的古典密码。

Case 4 凯撒密钥

提到古典密码,就不能不提到著名的凯撒密钥。基本上每一本密码学方面的基础教材在提到古典密码时,都会举出凯撒密钥的例子。凯撒密钥的加密公式是:

c≡ m + k mod 26

凯撒密钥又称为单表代替法。其中m为明文的数据,c为加密后的数据,而k是密钥。

当年凯撒指导军团作战,使用的就是这套密码体系。比如让a=db=ec=f……依此类推。

这在密码史上产生了重要的影响,不能不说是一个经典。

Case 5 珍珠港

还记得电影《珍珠港》中的战火和硝烟么?在日本偷袭珍珠港之前,美国的情报部门破译了日本的外交电报密码,但是由于当局没有重视,最后还是没能阻止悲剧的发生。

19424月和5月期间,在美军截获的日军通讯中,有一个“AF”名称出现的频率和次数明显增多,罗奇福特少校领导的情报小组绞尽脑汁,终于在堆积如山的侦抄电文中找到一份日军偷袭珍珠港时的电报,电文曾提到“AF”,说一架日军水上飞机需要在“AF”附近的一个小珊瑚岛上加油。因此罗奇福特推断,“AF”只能是指中途岛。为进一步证实这一推断的准确性,驻中途岛上美军奉命用浅显的明码拍发了一份作为诱饵的无线电报,谎称中途岛上的淡水设备发生了故障。果然不久,美军截获一份日军密电,电文中说:AF可能缺少淡水。一切立时真相大白了。罗奇福特小组以此为突破口,一下子破译了反映日军舰队作战计划的所有通讯。这样,尼米兹不仅清楚掌握了日军夺取中途岛的战略企图,而且还查明了其参战兵力、数量、进攻路线和作战时间,甚至连对方各舰长的名子都了如指掌。(注:这段文字摘自网络)

日军当时使用的密码体系代号为JN25,比较复杂。但是美军破译这个密码的手法却是一种非常经典的解密技术。其基本方法是,直接分析密文,根据字符出现的频率分布逆推出密码表。比如研究证明,英语文章里面26个字母的出现频率总是固定的,于是我们就可以根据统计得来的数据解析出原始的密码表。因此,单纯以字母替换为基础的密码体系是非常脆弱的,可以说是形同虚设。

Case 6 电影中的密码

与间谍或侦探有关的电影中,总会出现各种各样的密码。随着电影的发展,以电脑叛客为题材的科幻电影就更是将这一点发挥到了极致。

在电影中,似乎password的出现次数比code要多得多。在警匪片中,经常会有敌方的黑客在笔记本电脑上开着算号器破解密码的场面出现。比如《对抗性游戏》里,罪犯甚至可以通过破解旅馆电脑系统的密码来锁住所有房间的门。需要指出的是,电影里黑客所使用电脑的界面往往都非常的人性化,要么是画面华丽精美,要么可以识别自然语言。不知导演是怎么想的。嗬嗬,这是题外话:-p

至于电影中的code,给我印象比较深的是《神秘拼图》等。这里面的code与通常的code不同。因为要考虑到观众的理解能力,电影中的 code的密钥往往与一些典故有关,比如在一本书里(比如圣经),或者在一幅画中。这些因素总是使得悬疑的情节散发出浓厚的人文气息。有时候,电影中的 code干脆就以字谜或画谜的形式出现,这就是我在前面提到的,在数学以外领域的延伸,本质上是一种隐喻。

当然,不仅仅是电影,在小说、游戏等其他艺术领域,密码也经常出现,并且总是能成为推动情节发展的关键动力。比如《达·芬奇密码》,比如福尔摩斯的一些探案故事。

Case 7 The RING

如果提到恐怖小说,不能不提到《午夜凶铃》。这也是我唯一完整读完的长篇恐怖小说。《午夜凶铃》是日本著名小说家铃木光司的作品,共有四部。其情节我就不再赘述了。需要指出的是,在小说的第二部《凶铃再现》中,作者以相当的篇幅描写了一种基于DNA的极度匪夷所思的密码。

大致的情节是:午夜凶铃的受害者由于受到怨念的影响,体内的基因产生突变。经过染色体的变异,四个碱基AGTC(腺嘌呤、鸟嘌呤、胸腺嘧啶、胞嘧啶)经过组合竟然表达出了非同一般的信息。这种以染色体碱基序列作为加密载体的方式,我还真是闻所未闻。不禁对铃木光司那天马行空般的想象力感到深深的佩服。

Case 8 生命之歌

中国著名科幻小说作家王晋康曾经写过一部非常经典的小说《生命之歌》,也是关于DNA密码的。当时曾经引发了科幻界的大讨论,给我印象很深刻。

故事提出的假设是,既然DNA包含了生命的密码,那么机器如果洞悉了其中的奥秘,会不会发展成足以和人类竞争的生命形式呢?小说里面还加入了音乐的要素,即把DNA的序列编制成了旋律,即生命之歌。这个是有一定科学依据的。因为历史上确实有过把DNA序列谱写成音乐的先例(好像是个日本的演奏家,具体的我给忘了)。

这似乎又是一个隐喻。抑或是,讽刺?

Case 9 密写术

这个话题似乎跟密码没什么关系。但是因为实在很有趣,我就写下来了。

所谓密写,就是用特殊的方式写信息,然后只能用特殊的方式才能看到。记得中学语文里有一篇关于鲁迅的课文,提到一种用米汤进行的密写方式。即用毛笔或手指蘸着米汤写字,只有纸张浸水后才能看到。后来看了一些影视作品,经常出现的场面是一张羊皮纸在熊熊的火中现出字迹。最夸张的是漫画《城市猎人》中有一节,居然是在镜子的背面进行密写,然后将镜子反光在墙上投影,从中就会显现出字样。

下面介绍一种非常简单的密写方法。首先,准备两张白纸和一盆水。将其中的一张白纸在盆内浸湿,铺开在桌面,摊平。将另外一张干燥的白纸覆盖在湿的那张纸上,然后在其上书写文字。写完后,将干燥的纸张拿走,毁掉,然后把那张浸湿的纸晒干。好了,晒干后的那张纸看上去将仍然是一张白纸,可是一旦浸湿,就会显现出字样。密写成功。

这个方法我在初中玩过多次,屡试不爽。

Case 10 矩阵博士

差点忘了,谈论密码就不能不提到一位美国人,大名鼎鼎的矩阵博士。他的真名我忘了,不过他在美国应该是家喻户晓。《科学美国人》杂志曾经对他做过长期的采访。矩阵博士的职业是数学巫师,就是通过数学来搞一些玄学的东西,比如算命等等。此人数学天赋极高,可惜没有用在正道上。《科学美国人》对他的专访也是揭露了很多他的骗术。比如,他使用一个环形的字母表来给人测字,或是对人梦中出现的数字给予玄妙的解释(举例:有个人梦中经常出现7734这个数,矩阵博士给它倒过来写,结果变成了hell,即地狱)。他可以通过一美元纸币的隐喻预测肯尼迪的被刺。他甚至宣称开发出了可以写诗的电脑程序。他还曾因为非法变造美元货币(通过特殊的裁剪粘贴使得1420美元纸币变为15张)而遭到通缉。最后他的数学天才终于引起了当局的注意,被招安到了中央情报局,从事密码方面的研究。

《科学美国人》的专栏作家马丁·加德纳为此曾经专门写过一本书,介绍阵图博士的把戏。我看的是80年代的中译本,取名居然叫《科学算命之谜》,现在的译本改为《矩阵博士的魔法数》,有兴趣的读者不妨找来一读。

Case 11 圣经密码

上个世纪在西方世界闹得沸沸扬扬的一本书《圣经密码》,将密码的故事推演到了极致。此书可能是因为意识形态的原因在大陆没有出版,因此我只能读到盗版的台译本。

90年代,美国《华盛顿邮报》记者德罗斯宁出版了一本叫作《圣经密码》的书,记述了有关圣经密码的破译方法,及密码对过去一些重大历史事件的印证和对未来世界的耸人听闻的预测。圣经密码的发现者在1994年预测拉宾遇刺,结果1995年悲剧果然发生了。当时在全世界引发了轰动,也引发了科学界与宗教界的激烈辩论。

所谓圣经密码,就是采取均衡间字法可以发现圣经中隐藏的信息,即上帝的启示 研究人员首先将原版希伯莱文的《圣经》旧约输入计算机,去掉所有的标点,使之成为一整篇由344805个希伯莱文字母组成的文字,然后运用均衡间字法对整篇经文进行搜寻,结果获得惊人的发现。神奇的圣经密码不仅印证了许多重大的历史事件,甚至似乎还可以预测未来世界。比如,使用计算机对圣经密码进行分析,搜索第二次世界大战,可以找到希特勒的名字,而且周围还环绕着诸如纳粹屠杀等字眼。让人感觉十分的匪夷所思。

这真的是来自上帝的启示吗?《圣经密码》一出版就招致了各方面的异议和指责,至今仍然是科学界与宗教界备受争议的话题。不过历史最后必将作出公正的判断。

今年年初,《圣经密码2》终于出版,我不由期待中文版的面世。当然,大陆的正版看来是没有指望了(笑)。

Case 12 一道题目

12.6.7.9.19.23.9.12/9.20/3.16.17.15/
9.21/9.20/20.9.22.23.12/

文章的结尾给大家出一道题目。请破译上面的两行密码。这是前面提到的古典密码的一个强化版本,有兴趣的朋友可以试试身手。由于密码的原理很简单,我就不给提示了。

感谢您看完这篇文章,欢迎提出各种意见。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: