第四章 · 公钥革命:从 Diffie-Hellman 到 RSA


第四章 · 公钥革命:从 Diffie-Hellman 到 RSA

章节摘要:本章跟着"两个世纪难题"这条线走:1976 年 Diffie 与 Hellman 用离散对数让陌生人能在窃听下协商出共同密钥,1977 年 Rivest、Shamir、Adleman 用大整数分解造出既能加密又能签名的 RSA。密钥分发与数字签名这两个卡住对称密码两千年的问题就此瓦解,ECC 随后以 256 位密钥达到 3072 位 RSA 的强度,把公钥密码装进了每一部手机。

一条主线

这一章的主线:把"秘密"从一个数拆成"公开的一半"与"保密的一半",让安全性悬在数学难题的难度上。

起点是 3.1 节留下的死结:对称密码再强,第一把密钥必须经安全信道送达,而互联网上根本没有这种信道。1976 年 11 月,斯坦福的 Whitfield Diffie 与 Martin Hellman 发表《密码学新方向》,给出震动整个学科的回答:通信双方可以各自捏住一个秘密数,公开交换一些派生值,再各自计算出同一个数——窃听者看到全部公开信息,却因为离散对数问题算不动而无法跟进。密钥分发第一次不需要秘密信道。半年后,麻省理工学院的三人组 Rivest、Shamir、Adleman 把思路推得更远:找一个"正着容易、反着难"的陷门函数(大数相乘容易、因数分解难),公钥加密、私钥解密之外,还能用私钥生成任何人可验证的数字签名——认证与不可否认一并落袋。

冷战尘埃落定后还冒出一段平行历史:英国政府通信总部(GCHQ)的 Ellis、Cocks 与 Williamson 早在 1969 至 1973 年就秘密得到了同样的构造,只是作为国家机密封存了二十余年,1997 年才解密公开。学术发现与机密发现殊途同归,更印证了这一步的必然性。

公钥运算慢的物理事实没有变,于是工程格局定型为"混合加密":公钥算法只负责协商会话密钥与签名,数据本身仍由 AES 这类对称算法承载(第 6 章的 TLS 就是这个格局的完整实现)。1990 年代,Koblitz 与 Miller 又把椭圆曲线上的点群变成离散对数的新舞台——ECC 用 256 位密钥达到 RSA 3072 位的强度,长度与算力的双重优势让它统治了移动端与物联网。上一章结尾的两个未竟问题——密钥怎么送、身份怎么证——本章全部闭环。

沿途站点

  • 4.1 公钥革命:1976 年的分水岭——密钥分发与签名两个千年问题的合流,单向函数与陷门函数的数学形态,以及被密封存二十年的英国平行版本;
  • 4.2 RSA 算法:素数相乘容易、分解极难的赌注——欧拉定理撑起的加解密循环、2048/3072 位模长的选取逻辑、教科书 RSA 为什么不能直接用;
  • 4.3 Diffie-Hellman 密钥交换:公开信道协商共同秘密的完整魔术——离散对数难题、中间人攻击的威胁、临时密钥与前向安全的现代形态;
  • 4.4 椭圆曲线密码学:把离散对数搬上曲线——256 位 ECC 与 3072 位 RSA 的等效对比、Curve25519 如何成为新一代默认;
  • 4.5 数字签名:私钥签哈希、公钥验签的闭环——不可否认性的来源、ECDSA 随机数血案与 EdDSA 的确定性救赎。

拐点与结论

本章的认知转折在 4.1:此前两千多年,所有密码都默认"加解密双方共享同一秘密";Diffie-Hellman 之后,秘密可以事后计算出来而不必事先送达。这不是更强的锁,是对"钥匙"概念的重新定义——安全性从"藏好一把钥匙"变成"相信一道数学难题短期内无人能解"。

最终落点是一条被第 6、7 章反复引用的格局判断:公钥解决信任与协商,对称解决吞吐与 bulk 加密。同时它埋下新的赌注:RSA 与 ECC 的安全全部押在大整数分解与离散对数两道难题上——一旦量子计算机让 Shor 算法跑起来,这两道题将同时失守,第 7 章的后量子迁移正是为这场可能的清盘预付的保险。

读完你应该

  • 向外行解释"公钥加密、私钥解密;私钥签名、公钥验签"两套方向各自回答什么问题;
  • 手算一遍小参数 Diffie-Hellman(p=23、g=5 级别)并指出窃听者卡在哪一步;
  • 手算一遍小参数 RSA(两位素数级别)的密钥生成、加密与解密,说出 ed ≡ 1 (mod φ(n)) 的含义;
  • 解释教科书 RSA 的三条禁忌:不填充实、不加密大数据、不用加密键直接做签名键;
  • 说出 ECC 与 RSA 的密钥长度等效关系(256 位对 3072 位)及其数学原因;
  • 讲清 ECDSA 随机数重用为何直接泄露私钥,以及 EdDSA 如何用确定性随机数根治。

下一章的接力

签名解决了"这话是谁说的",但"这把公钥真是他的吗"仍未回答——公钥本身也需要有人背书。下一章先讲散列函数这把"数据指纹尺",它与签名、证书在第六章会师,共同组装出 TLS 的信任链。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U