个经典例子是次性密钥。爱丽丝和鲍伯私下商定并同意以个大随机比特流作为他们次性密钥。然后,爱丽丝就可以发送个比特给鲍伯,方法是从密钥中取出下个未使用比特,再从她原始信息中取下另个比特,并将二者组合起来:她原始比特和密钥比特要全是0,要全是1。如果全是0,那她就给鲍伯发送个0,否则就发送个1(这种组合比特方法被称为异或,类似于人们说“非此即彼”意思。异或在密码系统中是最常见操作之,以后要记住)。鲍伯用他自己次性密钥副本对来自爱丽丝比特流进行异或操作来恢复原始信息。只要爱丽丝和鲍伯都没再从这个密钥中使用比特,它就是完全安全,无法被任何计算能力所破解——如果密钥上比特确实是随机,如果密钥中没有哪部分被使用过次以上,如果爱丽丝和鲍伯在使用比特时能够保持同步话。
这是种笨办法。爱丽丝和鲍伯必须先私下见面。他们必须生成尽可能多比特密钥用于通信,而且必须提前完成。
个更好方法是使用各种各样对称密钥密码,如数据加密标准(DES),它通常用来加密银行之间电汇。在这个方案中,爱丽丝和鲍伯只需要秘密商定个56比特密钥,旦他们拥有密钥,就可以互相发送任意数量比特。密钥中0和1模式决定加密个信息时比特打乱并重组方式,密钥可以是任何长度,加密和解密都使用这个相同密钥。
DES曾经是种非常安全算法。如今,如果知道信息64个比特话,人们可以构建专用计算机(已经公布全部细节)来破解它(这是已知明文攻击——从选择明文步步进行攻击,在这里,马洛里可以选择爱丽丝加密些比特)。DES破解机是台并行计算机,如果你花更多钱,造台更大机器,破解起来会更快。按照1996年价格,100万美元机器破解个密钥平均需要5个小时;10万美元机器则要花费天。三个学识渊博研究生在个学期内就能建造出这种机器[为什是三个?仅仅是因为在合理分工下,个人做超大规模集成电路(VLSI)设计,另个人做板级设计,还有个人做控制软件]。旦建成,这台机器便可以破解任意数量密钥——所以要你有个价值100万美元密钥,要你愿意出售破解密钥服务给所有人,每破解个密钥收费100美元,这样你才能够建造这种机器(仅仅伪造笔电汇就足够买下这台机器)。
DES是个已经失去效用系统例子。直到20世纪90年代前
请关闭浏览器阅读模式后查看本章节,否则可能部分章节内容会丢失。