主页 > S嗨生活 >决斗吧!密码学家!从宫斗戏到反极权:《码书》书评 >

决斗吧!密码学家!从宫斗戏到反极权:《码书》书评

2020-06-19 01:36

决斗吧!密码学家!从宫斗戏到反极权:《码书》书评

1987年生的宜兰人,在哲学系所打滚了九年,最希望的是有朝一日哲学家讲话能让大家都听得懂。

你看得出这段符号是什幺意思吗:

a83gj : 1u0 a832k75045/

如果觉得有点难,换一个比较常见的:

e04

如果你看得出这是「干」,应该能马上看出(或测试出)上面那串字就是这篇文章要介绍的书的名字:「码书:编码与解码的战争」。「e04」很容易认,因为它甚至是现代网路常用的字串:人们想要低调地表示「干」的时候,可能就会用「e04」替代。相较之下,「a83gj : 1u0 a832k75045/ 」就没那幺容易认了。

《码书》封面

然而,这两串一长一短、乍看之下没有意义的字串,都是用一样的方法产生的:把电脑的输入设定调成英文,依照注音输入法的方式打字,并省略选字程序。然而,如果你读过《码书》,就可以用更酷的方式描述这段过程:藉由键盘排列形成的「单套密码」,把注音符号替换成英文字母或其他符号:

ㄅ → !
ㄆ → q
ㄇ → a
ㄈ → z

让我们把注音符号称为「明文」,替换出来的英文字母和符号称为「密码」。在这个例子里,每个「明文字母」都会对应到唯一一个「密码字母」,反之亦然。这种编码方式,被称为「单套字母替代式密码法」(monoalphabetic substitution cipher)。

现在,你已经知道上面这种「键盘注音英文加密法」是依照键盘上对应的字母来加密,所以对你来说,即使面对的是新产生的另一串密码,要解码也并不困难:只要拿出键盘换个输入法照着打就好了。然而,如果你并不知道有这种加密方式,还有什幺方法可以从密码文逆推出明文呢?这就是最早期的密码学家遇到的问题:

我们已经知道眼前的密码必须被翻译成特定的语言(例如阿拉伯文),也知道眼前每个密码字母都对应到一个(且只有一个)该语言的字母,反之亦然。假若我们知道它们之间的对应方式,我们就可以写一张表格,照着表格一个字母一个字母对出来。但我们目前还不知道它们之间的对应方式。所以,我们该怎幺办?

这个问题看起来很难,不过根据古阿拉伯科学家津帝(al Kindi)的记载,当时的密码学家已经知道一种满有效的方式,可以对付这些用单套字母替代式密码法产生的密码。虽然我们不知道密码和明文对应的方式,但我们知道明文使用的是哪种语言,因此,我们也知道一般来说那种语言写出来的东西会有什幺特性,例如各种字母出现的频率。

以英文来说,在一段文字中通常「e」会出现最多次,「z」则很少。如果眼前的密码是把每个字母都替换成另一个符号,那这种频率上的差异也会保留下来:用来替代「e」的符号会出现最多次;用来替代「z」的符号则很少出现。而其他符号出现的频率,也可以强硬地概算出来:找一篇英文文章,然后算算看。这种以字母出现频率来逆推明文的技巧,叫做「频率分析法」(frequency analysis)。

虽然我没有试过,不过如果你面对的明文是注音符号文,频率分析法应该也一样可以帮上忙,因为每个注音符号出现的频率不太一样。根据陈立圃在2011年对李家同的散文〈陌生人〉做的小範围计算,出现最多次的注音符号是「ㄧ」、「ㄢ」和「ㄉ」,最少的则是「ㄘ」。[1](这里以注音符号举例,不过考虑到中文输入法也会打声调符号,我们也必须把声调符号出现的频率列入计算)

除此之外,也有其他技巧可以搭配频率分析法,更有效率得到结果,例如说,把明文语言的其他性质列入考量。以英文为例,「i」和「a」是唯一会独自出现的字母;「the」则是最常出现的词之一,这些排列特性都会反映在密码上。若以注音文为例,或许我们可以考虑母音和子音的排列特性。

以上,就是《码书》介绍的「编码与解码」第一回合的决斗。

1587年,随着苏格兰女王玛丽(Mary Stuart)被处决,这回合决斗也告一段落:玛丽和心腹使用「单套字母替代式密码法」加密的书信,被伊莉莎白女王的密码学家以「频率分析法」破解,成为谋反的铁证。解码学家获得暂时胜利。

从玛丽和伊莉莎白的斗争开始,一直到现代的电脑加密法、未来的量子电脑加密法,《码书》介绍了好几轮决斗。每一场决斗,不论成功或失败,都可以让读者看出极其聪明的脑袋为解决问题付出的努力。这种临场感,很大程度必须归功于《码书》为这些斗智提供的说明,它不只告诉你哪一方赢了,也让你知道他们的巧妙思路与设计。

《码书》介绍的许多密码法、解码法多有一定的複杂程度,但作者显然在说明设计上下了不少功夫,补充和举例总会在你需要的时候适时出现在下个段落。若你对于有效率的学术普及写作有兴趣,这本书关于说明和例子的安排应该值得参考。

在智能战斗之外,这本书另一个让我印象深刻的地方,是最后一个章节介绍的齐玛曼(Phil Zimmerman)。齐玛曼认为,随着科技进步,政府或任何掌权者对人民的监视会越来越容易与透彻:「以往,政府若想侵犯一般公民的隐私,它必须费很多功夫去拦截、用蒸气开启、阅读纸张信件……这就像用用鱼钩和线来钓鱼一样,一次钓一尾……电子邮件跟纸张不一样,很容易拦截,扫描有兴趣的关键字。这种工作非常简易,可以变成自动化且大规模的例行作业……」[2]身为电脑科学家,齐玛曼试图提供人民一个解决方案,来保护他认为该有的隐私权:他设计了一个程式「极佳隐私」(Pretty Good Privacy,PGP),让一般民众的电脑可以克服运算能力不足的问题,利用当时泛用的加密程式RSA,来进行政府也难以破解的加密。

1991年,齐玛曼把PGP上传到网路上免费供人下载,PGP逐渐引起软体界的讨论,人权团体也开始学会用它来规避当权的监视。两年后,齐玛曼收到一封来自拉脱维亚的信,当时拉脱维亚刚脱离苏联,正值政治紧张时期,信上说:「菲尔,我想让你知道:万一独裁势力完全掌管了苏俄──但愿永远不会──你的PGP已经从波罗的海传到远东,会在必要时助民主人士一臂之力。谢谢!」

希望自己能一手掌握所有资讯的美国政府试图找齐玛曼麻烦,但最后因为难以找到明确的法律起诉他,而不了了之。我对骇客文化并不熟悉,但齐玛曼的故事似乎让我更能理解他们追求自由、反对专权的性格。

总地来说,《码书》是一本有剧情的科普书。作者的安排让人容易沈迷在编码与解码的对决当中,只要你可以欣赏符号谜题,「靠,这种问题到底怎幺可能解决啦!」的惊叹就会一直推动你阅读下去,而作者的完善说明,则让你可以和书中提到的伟大心灵共享知性上的快感和成就感。

NOTE

  1. 陈立圃,2011〈电脑键盘的字母和注音符号顺序研究〉↩
  2. 赛门‧辛,2000《码书》p.342↩

当前阅读:决斗吧!密码学家!从宫斗戏到反极权:《码书》书评

上一篇:

下一篇:

热点资讯

时尚图库

猜你喜欢

历史资讯: