主题:【原创】秘密通信的世界――从古埃及到信息时代 -- 阿康
2. 女人应知应会之第四十五项
公元前404年,斯巴达五位强壮的信使踏上了从波斯到希腊的艰苦征程,五人中只有一个人越过严密封锁的重重关碍活了下来。在他终于见到斯巴达的 Lysander 将军时浑身是血,伤痕累累。他把一张皮条交给 Lysander 将军。Lysander 将皮条绕在一根木棒上,他读到一个惊人的消息,波斯的 Pharnabazus 将要攻击他,这个消息使 Lysander 将军及时做好准备,迎击并打退了波斯人的进攻。
Lysander 将军
挽救了 Lysander 将军命运的这根木条的正式名称是斯巴达“Scytale”,是史有记载的最早用于军事通信中的加密工具。Scytale 是一根八角形的木棒,用皮革或者羊皮纸绕在木棒上。如下图所示,发信人沿着木棒的长度方向写下消息,然后将皮条取下来,这样,皮条看上去是一些毫无意义的文字。送信人带着这张皮条上路,有时候,他会把这伪装成一根皮带,把字母藏在里面。而收信人只需要将皮条绕在一根同样直径的 Scytale上就可以读到消息。
斯巴达 Scytale使用的方法在密码学中称为移位技术。移位是加密方式的一种,就是将消息中字母的位置移动。如果是很短的消息,比如说,一个单词,这种方法自然不是很安全,因为单词中字母的排列方式非常的有限。比如说,一个三个字母的单词,只有六种排列方式,像 cat,cta,act,atc,tac,tca。而如果字母很多呢,那就完全不一样了,排列的方式急剧增加,以至于如果不知道移位的方式,将不可能恢复原来的消息。一个简单的例子,“For example, consider this short sentence”,这句话有35个字母,而所有字母排列的方式有 5*10^31 种之多。如果一个人每一秒钟可以检查一种排列方式,而全世界所有的人都这样日夜工作,检查所有的排列方式需要耗费的时间是宇宙年龄的一千倍!
读到这里,您也许会想,哦,原来密码技术如此简单! 呵呵,先别急着下结论。您想,您这样没有规律,随机地把字母打乱,您的敌人是看不懂这封信了,您的收信人怎么才能读懂信件呢? 要使得移位技术能有效地工作,重新排列字母的过程必须遵循一个简单易懂的规律,这个规律是发信方和接收方事先约定好,而为敌人所不了解的。斯巴达“Scytale” 就是这样的一个例子。更简单的方法,可以将句子中的第一个字母同第二个字母交换,第三个同第四个交换,等等。在美国,小学生们常用下面这种方式传递消息,在写句子的时候,交错地将字母写在上下两行,然后,将第二行加在第一行的后面,比如, I really love cchere,这句话的加密过程如下:
原码: Ireallylovecchere
书写时,交错将字母写在上下两行
I e l y o e c e e
r a l l v c h r
将两行合并获得加密后的消息: Ielyoeceerallvchr
收信者只要使用相反的过程就能得到原来的消息。当然,也可以把句子交错地写在三行上面,等等。
另外一种加密方式是替代法,关于这种加密方法的描述最早见于婆罗门学者 Vatsyayana 在公元四世纪写的《爱经》(Kama-Sutra) ,但该书的内容是依据公元前四世纪的一份手稿写成的。《爱经》说女人应该学会六十四种艺术,比如,烹饪,服装,按摩和调制香水,还有魔法,象棋,装订,木工等。而其中第四十五项则是写秘信的技术,书中说女人掌握了这种技术,和情人私通的信件就不会被别人发现。书中提到一种方法就是用一个字母来代替另外一个字母。
Kama Sutra
Full text of The Kama Sutra by Vatsyayana online
例如, 如果替代方案如下:
A : V
D : X
H : B
I : G
K : J
M : C
O : Q
R : L
S : N
U : E
W : F
Y : P
Z : T
那么,MEET AT MIDNIGHT 就变成了 CUUZ VZ CGXSGIBZ。这种写秘信的方式称为替代加密法。
替代加密法用于军事最早见于凯撒 (Julius Caesar's)的《高卢战记》( Gallic Wars) 一书。凯撒描述他如何给被敌人包围,濒于投降的西塞罗 (Cicero) 送信的过程。信件里面用罗马字母代替了希腊字母,这样敌人得到了信件也无法辨识。信件传达的过程非常的戏剧化。送信的人是一个被收买的高卢骑兵,他得到指示说,如果无法走近营寨,可以把信缚在一支矛的皮带上,投入营寨的壁垒。凯撒在信中写到,他已带着军团出发,很快就可以到达那里,并鼓励西塞罗保持一向的勇敢。那个高卢人害怕危险,就按照得到的指示,把矛掷进营中去。说也凑巧。它恰恰掷中,并钉在一座木塔上,没被人发现,直到第三天才被一名士兵见到,取下来交给西塞罗。西塞罗从头到尾一口气读完,然后在一次军队集会上朗读给大家听,它给大家带来了极大的喜悦。
Julius Caesar
凯撒还用过另外一种替代方式,就是将信件中的每一个字母用字母顺序表中的下面第三个字母替代,比如用D替代A,E替代B,以此类推。这种方式因此被称为凯撒位移法。虽然凯撒用的是位移为三,实际上可以有二十五中位移替代方式。如果替代方式不限于“位移”,而是任何一种字母组合的话,可以有 4*10^26 种替代密码。
从密码学的角度,编码方法由算法和密匙组成,在上面的例子中,算法就是用另外一个字母代替每一个原来的字母,而密匙则描述具体的每个字母由哪个字母所替代。截获密码的敌人可以猜测使用了哪种算法,但不会知道密匙,因而也就无法解码。一个密码系统的安全性不能依靠将算法保密,而应在于密匙的保密。此外,一个安全的密码系统还应该有大量可能的密匙,比如上面的凯撒位移法,只有25种可能性,敌人可以很容易地尝试所有的25种位移替代方式,因而解开密信,而后面那种一般的字母替代呢,有4*10^26 种替代方式,如果要用穷举的方式解码将非常困难。
这种编码的优美之处在于它实现起来非常容易,而同时又提供了很强的安全性,密匙也很简单,因此发信方和收信方误解的几率很小。对于后者,只要想象一下收信方搞错了密匙而无法读懂一封千辛万苦送达的信件时的焦急情形,或者,某些关键词句,比如日期,地点等被译错所造成的严重后果,其重要性就不言而喻了。
这种替代加密方式是如此简单,安全,以至于直到公元后一千年,它都主宰了秘密通信的世界。对于编码方来说,人们发现了一种安全的秘信方法。发展编码技术?已经没有这个必要了,不必再白费心机搞什么新的发明了。倒是对解码方来说,如何破解敌人的密码是个巨大的难题。天知道,到底有没有办法破解这种编码?由于它巨大的密匙库,很多古代学者认为替代编码是无法破解的。一个世纪以来,这种见解深入人心,似乎已成定论。
山重水复疑无路,柳暗花明又一村,世上的事情往往就是这样,终于有一天,解码者发现他们不需要用穷举法,花费上百万年的时间来寻找密匙,相反,只要短短的几分钟就够了。这是怎么回事?
突破性的进展来自东方,这要归功于语言学家,统计学家间杰出的合作和他们宗教般虔诚的热情。
本帖一共被 4 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
😄期待中,俺最佩服的是那三个波兰人 海天 字0 2003-12-08 17:07:11
真有趣,阿康有空能写写二战美日密码战的技术细节吗? 茶博士 字26 2003-12-08 13:49:19
不客气, 慢慢来, 别着急 阿康 字0 2003-12-08 15:28:44
2. 女人应知应会之第四十五项
🤔Ielyoeceerallvchr这个怎样反转啊? jlanu 字0 2003-12-08 18:03:16
Like this: 阿康 字186 2003-12-08 18:13:31
其实,替代法是很难破的 任爱杰 字626 2003-12-08 17:05:47
按照你的方案,这个加密算法的密匙太长了,要有一本字典长,不好使用 阿康 字0 2003-12-08 17:17:36