密钥分发问题
了解在 Diffie-Hellman 出现之前,为何安全密钥交换是不可能的
密钥分发问题 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
欢迎
几个世纪以来,安全通信都要求先建立一个安全信道来交换密钥。本课将帮助您理解这个古老的问题,以及为什么它一直让密码学家束手无策,直到 1976 年才得到突破。
古老的困境
如果 Alice 和 Bob 想要安全通信,他们需要一个共享密钥。但要安全地交换这个密钥,他们又必须先拥有一个安全信道。这形成了循环,表面上看似乎无法解决。
信使难题
历史上的解决方案是派遣携带密钥的信使。问题在于,信使可能被抓获、胁迫或收买。对于大规模通信(如使馆和军队)而言,维护安全的信使网络代价极其高昂。
冷战时期的密钥分发
冷战时期的情报机构维护着庞大的密钥分发网络。一次性密码本通过外交邮袋进行实体递送。攻破信使网络是情报工作的主要目标之一。
规模使其无法实现
要让 N 个用户彼此都能安全通信,需要 N×(N-1)/2 对唯一密钥。1000 个用户需要约 500,000 个密钥。对于互联网中的数十亿用户,仅使用对称密码学完全不切实际。
突破性的直觉
如果存在一种数学运算,使 Alice 和 Bob 即使在 Eve 看到了他们交换的所有消息时,也能各自计算出相同的结果,会怎样?单向陷门函数让这成为可能。
Whitfield Diffie 与 Martin Hellman
1976 年,斯坦福大学研究人员 Diffie 和 Hellman 发表了《密码学的新方向》。他们在一篇论文中提出了公钥密码学的概念,并解决了密钥分发问题。
调和油漆的类比
混合油漆很容易,但将其分离很困难。Alice 和 Bob 从公开的黄色油漆开始,各自加入自己的秘密颜色(红色或蓝色)。他们交换混合后的颜色(绿色或橙色)。然后各自将自己的秘密颜色加入对方的混合物中,双方都得到黄色+红色+蓝色。Eve 看到了黄色、绿色和橙色,却无法将它们分离。
数学表述
离散对数问题:给定 g、p 和 g^a mod p,求 a。正向计算很容易(快速幂运算),但当 p 很大时,反向计算在计算上不可行。
Ralph Merkle 的独立研究
Ralph Merkle 在 1974 年独立构想了公钥密码学(他的 CS 244 学期论文曾被拒绝)。他于 1978 年发表了 Merkle Puzzles。这一发现确实在同一时期同时出现。
NSA 的秘密发现
UK 的 GCHQ(通过 James Ellis、Clifford Cocks 和 Malcolm Williamson)在 1970—1973 年间独立发现了公钥密码学,但将其列为机密。该发现于 1997 年解密,比 RSA 晚三年。
快速检查
为什么对大规模互联网通信而言,对称密钥分发不可行?
回顾
密钥分发问题是密码学中的基础问题。接下来,我们将详细了解 Diffie-Hellman 如何利用离散对数运算解决它。
常见问题解答
「密钥分发问题」课时是免费的吗?
是的 — 「密钥分发问题」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「密钥分发问题」这节课中我会学到什么?
了解在 Diffie-Hellman 出现之前,为何安全密钥交换是不可能的 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「密钥分发问题」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。