1974年夏天,美国斯坦福大学人工智能实验室的走廊里,一个年轻人正盯着黑板发呆。他叫惠特菲尔德·迪菲,一个刚从麻省理工学院毕业的计算机科学家。他面前的黑板上写满了数学公式,但他的思绪早已飘向一个困扰他多年的问题:有没有办法让两个从未见过面的人,在一条公开的信道上,安全地交换秘密信息?
当时的主流观点是:不可能。密码学界的共识是,任何加密系统都必须事先共享密钥,否则无法保证安全。这个共识已经持续了几千年。迪菲却不信邪。
咖啡馆里的相遇
迪菲的转机出现在一次偶然的相遇。他在斯坦福的人工智能实验室遇到了一位年轻的研究员,名叫马丁·赫尔曼。赫尔曼也是密码学的狂热爱好者,两人一拍即合,开始频繁地在咖啡馆里讨论那个“不可能的问题”。
赫尔曼比迪菲年长几岁,思考问题更严谨。他给迪菲介绍了一个关键概念:单向函数。所谓单向函数,就是正向计算很容易,反向计算极其困难。比如,把两个大质数乘起来很容易,但把一个很大的合数分解成质因数就很难。
“如果我们能找到一种单向函数,让两个人可以在公开对话中各自计算出一个共同的秘密……”赫尔曼若有所思。
迪菲的眼睛亮了。他隐约感觉到,这个想法可能是打开那扇门的钥匙。
默克尔谜题
与此同时,在加州大学伯克利分校,一个叫拉尔夫·默克尔的研究生也在思考同样的问题。默克尔比迪菲和赫尔曼年轻,但思维同样活跃。他提出了一种巧妙的方案,后来被称为“默克尔谜题”。
默克尔的想法是:爱丽丝可以生成一大堆“谜题”——每个谜题里藏着一个随机的密钥和谜题编号,然后把这些谜题全部发给鲍勃。鲍勃随机选择一个谜题解开,得到密钥和编号,然后把编号告诉爱丽丝。爱丽丝根据编号找到对应的密钥。这样,爱丽丝和鲍勃就共享了一个秘密密钥。
但这个方法有个问题:窃听者伊芙虽然不知道鲍勃选择了哪个谜题,但她可以像鲍勃一样,随机解开一个谜题——如果谜题数量不够大,她就有机会撞上正确的那个。为了让系统安全,谜题的数量必须非常大,大到伊芙无法在合理时间内解开足够多的谜题。
默克尔把这篇论文寄给了赫尔曼。赫尔曼读后大为震撼,立即邀请默克尔加入他们的讨论。三个人开始在斯坦福大学的办公室里夜以继日地工作。
灵光乍现
1976年的一个下午,迪菲在厨房里削土豆皮的时候,脑子里突然闪过一个念头。他扔下土豆,冲回办公室,在黑板上写下了一句话:
“加密和解密可以分开!加密密钥可以公开!”
这个想法如此简单,却又如此革命。传统的对称加密中,加密和解密用的是同一把钥匙,所以必须保密。但如果能设计一种算法,让加密和解密用不同的钥匙——一把公开,一把私密——那会怎样?
任何人都可以用你的公开钥匙加密消息,但只有你手里的私密钥匙能解密。这样,你不需要事先和任何人交换秘密,只需要把你的公开钥匙贴在墙上,全世界就能安全地给你发消息。
迪菲把这个想法告诉赫尔曼和默克尔,三个人激动得几乎跳起来。他们知道,这是密码学史上最重大的突破。
《密码学的新方向》
1976年,迪菲和赫尔曼发表了一篇论文,题目是《密码学的新方向》。这篇论文后来被誉为现代密码学的奠基之作。在论文中,他们正式提出了“公钥密码学”的概念,并给出了一个具体的密钥交换方案——后来被称为“Diffie-Hellman密钥交换”。
有趣的是,默克尔没有被列为共同作者,因为他的研究是独立的,而且论文提交时他的贡献尚未完全整理。但后来密码学界承认,默克尔与迪菲、赫尔曼是公钥密码学的共同奠基人。
他们的方案不依赖于任何秘密信道。爱丽丝和鲍勃公开地交换一些数字,然后各自计算出一个相同的数。这个数就可以作为对称加密的密钥。窃听者看到了所有公开交换的数字,却无法计算出这个相同的数,因为那需要解决一个数学难题——离散对数问题。
这个方案的数学原理虽然简单,但思想却极其深刻。它第一次证明:在不安全的信道上,两个人可以通过公开对话建立一个共享的秘密。
姗姗来迟的RSA
迪菲和赫尔曼的论文发表后,整个世界都震惊了。无数密码学家开始寻找第一个真正的公钥加密算法——不仅能交换密钥,还能直接加密消息。
1977年,三位麻省理工学院的教授罗纳德·李维斯特、阿迪·萨莫尔和伦纳德·阿德曼接过了接力棒。他们尝试了40多种方案,都失败了。最后,阿德曼建议用大数分解作为基础。经过几个月的努力,他们终于找到了一个可行的算法,以三人姓氏的首字母命名为RSA。
RSA的论文于1978年发表,成为了公钥加密的经典算法。它利用了大数分解的困难性:任何人都可以用公钥加密,只有拥有私钥的人才能解密。直到今天,RSA仍然广泛应用在互联网的各个角落。
迟来的荣誉
迪菲、赫尔曼和默克尔的工作在最初并没有得到应有的认可。直到1997年,英国政府通信总部(GCHQ)解密了一批文件,人们才发现,早在1970年,英国的密码学家詹姆斯·埃利斯就已经提出了公钥密码学的概念,克利福德·科克斯独立发现了RSA的原理,马尔科姆·威廉姆森发现了Diffie-Hellman密钥交换的原理。但由于这些工作属于国家机密,一直未能公开。
尽管如此,迪菲、赫尔曼和默克尔的贡献依然不可磨灭——他们独立发现了这些思想,并将它们公之于众,开创了现代密码学的新纪元。2015年,迪菲和赫尔曼因“对现代密码学的奠基性贡献”获得了图灵奖,这是计算机科学界的最高荣誉。
小结
公钥思想的诞生,是人类智慧的辉煌时刻。它告诉我们,看似不可能的难题,往往只需要换一个角度思考。如今,公钥密码学已经成为数字世界的基石。你在浏览器上看到的那把小锁、你每一条加密的微信消息、每一笔安全的网上支付,都离不开这个诞生于厨房和咖啡馆里的伟大思想。
下一节,我们将深入探索第一个公钥加密算法——RSA。你会发现,它的数学原理并没有想象中那么复杂,甚至可以用小学数学来理解。