所有使用了几千年的密码——直到20世纪70年代——都有一个共同的特点:它们都是对称密码(symmetric cipher),就是说加密和解密的钥匙在本质上是一样的。无论是尤利乌斯·恺撒(Julius Caesar)的简单的字母位移式密码,还是第二次世界大战中的复杂的英格玛密码(Enigma Cipher),它们都摆脱不掉共同的弱点,即一旦对手知悉你是如何编码信息的,他们就能与你一样顺利地解码。为了使用对称密码,通信双方需要一种安全的密钥交换方式。
一直以来,我们默认加密代码有不可避免的原则——要运用一套密码,双方需要用某种方式交换相应的密钥,并对敌人保密。的确,有人可能把它当作了数学常识。
这种假设恰恰会令一个数学家心生疑惑。本质上,我们面对的是一个数学问题,因而人们会预期这样一条“原理”有着坚实的基础,甚至表达成某种形式的数学定理。然而,并没有这种定理。之所以没有,是因为这条原理根本就是不对的。下面这个思想实验可以证明。