超大规模集成电路(VLSI)设计,另一个人做板级设计,还有一个人做控制软件]。一旦建成,这台机器便可以破解任意数量的密钥——所以要么你有一个价值100万美元的密钥,要么你愿意出售破解密钥服务给所有人,每破解一个密钥收费100美元,这样你才能够建造这种机器(仅仅伪造一笔电汇就足够买下这台机器了)。
DES是一个已经失去效用的系统的例子。直到20世纪90年代前后,它都是一个伟大的方案。如今,仍在使用它的人们被建议使用一个叫作TripleDES[62]的方案,在这个方案中,两个或三个密钥(无关紧要)被连续送入三台加密机器,使明文被加密三次(用三种不同的方式)之后再进行传送。鲍伯的机器正好相反。这种方法仍然相当安全。
有许多其他的对称加密方案,它们至少与DES一样安全,而且在软件中更容易使用——DES在硬件中使用比在通用计算机中使用要容易得多。其中一个便是名为IDEA的瑞士密码,但有许多加密方案可供选择。
但所有这些方案都要忍受希望沟通的各方必须先私下交换密钥这一问题的困扰。如果你是一家银行,可以使用一个值得信赖的快递服务,这显然不错,但是如果你只是想在给某人打电话或发电子邮件时,不希望信息被窃听的话,就很不方便。
然而,到了20世纪70年代,人们发明了公钥加密系统。迪菲和赫尔曼发明了一个,李维斯特、萨莫尔、阿德尔曼发明了另一个,称为RSA(取自他们三人名字的首字母)。公开密钥系统是一种不同类型的野兽,基于大素数的数学运算。总的来讲,其安全性建立在将一个足够大的数分解为组成它的素数的难度之上——这项工作吸引成千上万人进行了多年的研究,似乎非常棘手(对于传统计算机而言),但这并不代表它是不可能的。因此,公钥系统虽然构筑在坚实的基础上,但并不是一次性密钥的基石。
在公钥系统中,爱丽丝和鲍伯各自生成自己的一组密钥。每个密钥分为两半——一半公钥,一半密钥。爱丽丝和鲍伯可以在任何他们喜欢的地方公开公钥。例如,在《纽约时报》上,或在他们的网页上。他们尽可能保护私钥,从不向任何人透露。
为了给鲍伯发信息,爱丽丝首先要查看他的公钥。然后用他的公钥加密她的信息,发送给鲍伯。一旦完成了这些,她就再也不能解密密文——无论是用鲍伯的公钥,还是用爱丽丝的私钥和公钥都无法解密。而鲍伯则可以用