第 8 章 保守秘密

保密

战争期间,高级将领希望得知士兵吸食大麻的比例。问题在于,如果高级将领询问士兵是否吸食大麻,为了避免被惩罚,士兵基本上会做出否定的回答。高级将领需要一份回答者不会被定罪的调查问卷,而且这份调查问卷要在数学上保证答案的私密性。你能否猜到他们是怎么做到这一点的?

在军队中,保密是常见的挑战。传说尤利乌斯·恺撒在收发信息时顺序替换字母来加密信息。字母 A 被字母 D 代替,字母 B 被字母 E 代替,C 被 F 代替,以此类推,这叫作移位密码。后来的军队将领利用更复杂的密码,用字母表中的任意字母代替 A,而用另一个字母替换 B,等等。我们将这种密码称为替换式密码,因为所有字母都被其他字母全盘替换了。

与恺撒所用的移位密码不同,替换式密码的好处在于其可能的编码方式是个天文数字。实际上,在移位密码的情况中,可能的编码方式总数就是顺序替换字母方式的总数,因为字母有 26 个,所以移位方式有 26 种(其中一种是不移位)。这样做的问题在于,破译者只需要测试 26 种移位方法就能解开密码。

然而,如果我们允许任意替换字母的话,那么编码的可能数目就从根本上提高了。这是因为,我们可以将 A 换成 26 个字母中的任意一个,然后将 B 换成剩下的 25 个字母中的任意一个,再将 C 换成剩下的 24 个字母中的任意一个,以此类推。由此,我们能看到替换密码的数量是 ,又写作 26!(读作“26 的阶乘”)。这个巨大的数字大约在 这个量级,相当于宇宙中恒星的总数!要在宇宙年龄之内测试所有这些可能性,即使是计算机的计算速度也不够。

第二次世界大战和技术进步带来了密码学的机械化。在纳粹最重要的战争机器之中,有几种机器的用途并不是直接杀戮,而是对秘密信息编码和解码。这些机器就是我们在第 6 章谈到过的恩尼格玛密码机和洛仑兹密码机。这些机器包含的组合方式同样数不胜数,要测试所有组合简直是妄想。