文字的加密_风闻
diewisch-历史唯物观察者-2019-01-15 14:34
风闻里的网友宣称能分分钟能编造一套表音文字。先不说到底是不是大话假话。那位网友的文字创造思路倒让我觉得来可以和大家说说“文字加密”。
现代人对“加密”这个词一定很熟悉,当你浏览网页时的网址如果是https打头,就表示这是一个加密网页,别人看不到你在访问哪里。当然数字世界加密解密无处不在,所有的数据最后都要编码成010101这样的二进制组合。
生活中我们看谍战剧情节,那些特工使用隐形墨水记录情报,然后情报传递到手后再用火烤或者药水浸泡显示出文字。按照现实来说,这是不可能发生的事——没有特工会写用明码写情报。二战之前的谍报战,很多时候就是密码大战。
密码文字最为人熟知的恐怕非摩尔斯码莫属。摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。通过不同的排列顺序来表达不同的英文字母、数字和标点符号。按照风闻社区网友的观点,摩尔斯码也算是一种文字了。
最古典的两个加密技巧是: 置换(Transposition cipher):将字母顺序重新排列,例如‘help me’变成‘ehpl em’。 替代(substitution cipher):有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代)。这两种单纯的方式都不足以提供足够的机密性。凯撒密码是最经典的替代法,据传由古罗马帝国的皇帝凯撒所发明,用在与远方将领的通讯上,每个字母被往后位移三格字母所取代。
这里插个题外话,家里要是有孩子的网友,可以在寒假里和娃做做寻宝的游戏,把新年礼物藏起来,设计一份密码,让孩子破解看看。
回到正题,说到密码和解密,这可是所有人都喜欢玩的游戏,尤其是那些探险和推理爱好者。比丹·布朗《达芬奇密码》、南派三叔的《盗墓笔记》,我最初接触到的解密,是现代推理小说创始人爱伦·坡的《金甲虫》,其中关于解密部分:
勒格朗早把羊皮重新烤过,说到这儿,就拿给我看了。只见骷髅头和山羊之间,潦潦草草的写着如下的红色符号: 53##$305))6*;4826)4#·)4#);806*;48$8¶;60))85;]8*;:# *8$83(88)5*$;46(;88*96*?;8)*$(;485);5*$2:*#(;4956*2 (5*-4)8¶;8*;4069285);)6$8)4##;1(#9;48081;8:8#1;48$85; 4)485$528806*81(#9;48;(88;4(#?34;48)4#;161;:188;#?; “可我还是莫名其妙,”我把羊皮还给他说。“如果金山银山的宝贝①,只消等我解了这哑谜就归我,我也包管没法弄到手。” “话可说回来,”勒格朗道,“这谜底根本就不难解,你乍一看这些符号,以为很难,其实并不难。谁看了都会马上猜到,这些符号是密码,换句话说,其中都有含义;不过,就我对基德的了解看来,他不见得会想出什么比较深奥的密码。我当下肯定,这是种简单的密码——可水手头脑简单,要没密码书,也休想解开。” “你当真解开了?” “那还不容易;比这费解一万倍的,都解开过呢。由于周围环境的影响,加上生来癖好,我对这种哑谜一向很感兴趣,我不信人类的巧妙心计想得出一种哑谜,人类的巧妙心计就不能用适当方法解开。说真的,只要确定符号连贯清楚,我简直没想到要推究其中含义有什么困难。 “就目前的例子来看——当然,一切秘密文件都一样——首先要晓得密码采用哪种语言;因为解谜的原则,尤其是比较简单的密码,全得看独特的熟语特征,并且要根据这些特征的不同而变化。一般说来,打算解谜的人,只有一个办法,就是拿自己懂得的语言,根据可能性,—一试验,试到猜中为止。不过,眼前这份密码,有了签名,一切困难都迎刃而解了。‘基德’这个字眼的双关意义①只有在英文里才能体会。要没这层原因,我早先试试法文和西班牙文了,因为在南美洲北岸一带②出没的海盗,要写密码,用的当然是这两种语言。但事实上,我还是假定这种密码是英文。 “你瞧这些字全连在一起。要是分开,猜起来就容易得多。在那种情况下,该先从整理分析较短的字眼着手,要是我得到一个单字,找是多半找得到的,比如说a或l,那我就认为保险可以解开谜底。可是,这份密码全连在一起,我头一步就是确定用得最少的字,和用得最多的宇。全部统计下来,我列了这样一张表: 8的符号计有33个。 ;的符号计有26个。 4的符号计有19个。 #和)的符号各有16个。 *的符号计有13个。 5的符号计有12个。 6的符号计有11个。 (的符号计有10个。 $和1的符号各有8个。 0的符号计有6个。 9和2的符号各有5个。 :和3的符号各有4个。?的符号计有3个。 ¶;的符号计有2个。 】-和·的符号各有1个。 “回过头来谈吧,在英文里最常见的字是e字,按照使用多少的次序排列是:aoidhnrstuycfglmwbkpqxz。e用的次数最多,不管多长的一句独立句子里,难得看见这个e字不作主要字的。 “说到这里,我们一开头就有了根据,不仅仅是单纯的猜测了。这种表显然可以派用处——但在这一份密码里,只能靠它帮助解决极小部分的疑难。至于这份密码里用得最多的符号是8字,不妨一开头就假定这8字代表普通字母中的e字。为了证明这个推测是否正确,请看看这8字是否时常叠用——因为在英文里,e这个字母常常叠用——举例来说,象‘meet’,‘neet’,‘spee4’,‘been’,‘agree’等等字里,都是叠用的。就眼前这个例子来看,密码虽短,这8字叠用的次数倒不下五次之多。 “那么就算8是e吧。说起来,在所有英文字眼里头,‘the’这个字眼是最常用的;那么,就看看,有没有一再出现同样排列的三个符号,而且最后一个符号是8字。如果看到有这么排列的字重复出现,那么十之八九就代表‘the’这个字眼了。查上一遍,发现这样排列的字出现七次之多,符号是;48。因此,不妨假定;代表t,4代表h,8代表e——现在最后一个字肯定没错了。这一来,咱们已经向前迈了一大步。 “不过,确定了一个单字,就能确定非常重要的一点;换句话说,就能确定其他几个字眼的字头和字尾了。试引全文倒数第二个;48这三个符号的例子来看吧——这字离密码结束不远。咱们知道紧接着的;是一个字眼的字头,接在这个‘the’字后面的六个符号中,倒认出了五个之多。不妨把这些符号用知道的代表字母这样列出来,空下一格填那个未知的字母—— teeth “咱们把全部字母都—一试填在这个空档里,还是拼不出一个字尾是th的字眼。既然以t开头的字眼里,th用不上去,这就可以马上撇开这两个字母,把这字缩短成tee,要用得着的话,就象先前一样,再把字母逐一填进去,只有拼出一个‘tree’字读得通。这就又认出个新字,r字是由(符号代表的,‘thetree’两字又恰恰是并列的。 “再看看这两个字眼后面一小段,又看到;48三个符号的排列,就用来当作头先那个字眼的语尾吧。可以排出这么几个字。 thetree;4(#?34the,换个样,用已经知道的普通字母代替,这就认出是: thetreethr#?3hthe。 “好,如果让未知的符号空着,或者用小点代替,就认出这样的字: thetreethr……hthe,这就马上认出明明是‘through’一个字眼。这一发现倒提供了三个新字,o、u和g,三个字分别由#、?和3三个符号代替。 “就这样把密码从头到尾仔细看一遍,看看有没有已经知道的符号连在一起的,离开头不远,倒有这么排列的符号,83(88,或者写成egree,这一看就知道准是‘degree’这字眼的结尾部分,这又多认出了一个字,d是用$代表的。 “在‘degree’这字眼后面四个字,看出这一组符号,;46(;88*。 “把这些已知的符号翻译出来,未知的照旧用小点做表,就认出; th·rtee,这么排列顿时叫我想起‘thirteen’这个字眼,这又提供了两个新符号,i和n是分别由6和*代表的。 “现在再引密码开头几个字看看,看到这一组符号,53##$。 “照旧翻译出来,得出·good,这就可以肯定,头一个字准是A字,因此开头两个字眼就是‘Agood’。 “为了避免混乱起见,现在该把已经发现的线索,列成一张表格。列出的表是这样的; 5等于a $等于d 8等于e 3等于g 4等于h 6等于i *等于n #等于o (等于r ;等于t ?等于u “这一来,已经认出十一个重要字眼.解谜的详细情形也不必再说下去了。我已经谈得不少,谅你也相信这类密码不难解决;你对发现这些密码的理论也有几分底了。不过,实在说,眼前碰到的这种密码是最最简单的一种。如今只消把羊皮上那些解释出来的符号,全部译给你看。请看: “‘一面好镜子在皮肖甫客店魔椅四十一度十三分东北偏北最大树枝第七根桠枝东面从骷髅头左眼射击从树前引一直距线通过子弹延伸五十英尺。’”“可这个哑谜看来还是费解得很,”我说。“‘魔椅’,‘骷髅头’,‘皮肖甫客店’这一切都是隐语,怎弄得懂真正的意思呢?” “老实说,”勒格朗道,“乍一看的话,这件事看上去还是很难。我一开头就尽力按照写密码的原意,把全文分为原来的句子。” “你是说加标点吧?” “是诸如此类的东西。” “可怎么办得到呢?” “我想写密码的把这些字不分句的连在一起,自有目的,这样就好增加解谜的困难。说起来,心眼不太灵的,要一想这么做,十之八九会做过了头。在写密码过程中,写到一个段落,自然需要加句点或逗点,在这种地方,他往往把符号连接得更近些。倘如仔细看看这一份原稿,就不难辨别出有五处地方特别靠拢。根据这种暗示,我就这样分了句: “‘一面好镜子在肖甫客店魔椅——四十一度十三分——东北偏北——最大树枝第七根桠枝东面——从骷髅头左眼射击—一从树前引一直距线通过子弹延伸五十英尺.’”