随机:乱敲键盘能敲出什么 书架

第 11 章 / 共 12 章

第十一章 · 把随机当武器

密码学有个不太好意思说出口的秘密:所有精巧的数学——椭圆曲线、大数分解、格——最后都挂在一个朴素的东西上:一个谁也猜不着的随机数。算法是公开的,流程是公开的,整个系统的全部秘密都浓缩在密钥里(这叫柯克霍夫原则:保密靠密钥,不靠算法)。而密钥的全部强度,就是产生它那个随机数发生器的强度。随机数猜得着,数学再漂亮也是纸糊的。

这一章看三件事:随机性在密码学里能达到的理论极限、它一旦掺水会发生什么、以及工程上怎么伺候好它。

理论极限:一次一密,香农盖过章的「绝对安全」

想象最笨的加密:明文每个字母,和密钥里对应字母「相加」(模 26),密钥是一串真随机字母。香农 1949 年证明了一个惊人的定理:只要密钥(1)真随机、(2)和明文一样长、(3)只用一次、(4)不泄露,那么截获的密文不包含明文的任何信息——不是「很难破」,是数学上「无可破」:任何一段同样长度的明文都能配出某个密钥产生这段密文,破译者面对无限多等可能的解,连「猜对了」都无法确认。这叫一次一密——大白话讲,用真随机噪声把明文完全淹没,密文里除了噪声什么都不剩。

完美保密的代价全在「密钥管理」上:密钥要用真随机(第九章的物理源)、要和明文一样长、见一次面就得换新的、还得安全地送到对方手里。这四条少一条,天就塌了。苏联在 1940 年代的间谍网里把「只用一次」破成了「偶尔重用」——美国的维诺纳计划抓住重用的密钥对密文做差分,噪声相消,明文浮出,一点一点抠出了几千页苏联密电。一次一密仍是「绝对安全」的,前提是那个随机真的「只随机一次」。

大白话:一次一密是密码学的光速——理论上碰不得的完美,实践上伺候不起的娇贵。它真正的遗产是那个证明:足够的真随机,可以让信息彻底消失。

掺水的随机:三起真实事故

现实系统不用一次一密,用 AES、RSA 这些实用算法——但密钥、随机数填充、临时数,样样要从随机数发生器里出。发生器一掺水,算法直接架空。三起教科书级事故:

三起事故同一个模式:没有人破解数学,他们只是不再猜随机数——因为随机数已经不值得猜了。

工程答案:CSPRNG 与它的红线

于是有了密码学专用的随机数发生器(CSPRNG)——大白话讲,就是第八章的「磁带机」加固版:内部状态用密码学原语搅拌,让「观察到输出」反推不出状态、「预测下一个数」在计算上不可行。但红线依然是第八章那条:梅森旋转统计再好也不许进密码学——它的输出能反推状态。CSPRNG 的标准是更狠的一条:不但看起来乱,连「知道全部过去的输出」都不许对「下一个比特」给出任何优势。

还有一层阴影值得一提:2013 年斯诺登文件披露,美国 NSA 推动成为 NIST 标准的随机数发生器 Dual_EC_DRBG 被指留有后门——特定常数让知道秘密参数的人能从输出反推状态。这提醒了最后一课:随机数发生器的「随机」,你不光要它乱,还要知道它为什么乱、谁挑的参数。这也是第九章熔岩灯和量子灯塔存在的意义——把「信任」尽量换成「可审计的物理」。

从武器回到生活

密码学把随机性的地位推到了顶点:足够的真随机能让信息消失,掺水的随机能让堡垒自塌。到此为止,本书讲了随机的定义(第一章)、来源(二、九)、统计脾气(三到七)、人造与使用(八到十一)。

最后一章回到我们自己。离开了赌场和机房,随机性还统治着一件事:人生。运气和本事怎么分?成功故事里有多少是噪声?在一个随机的世界里,怎样做决定才算聪明?

随机:乱敲键盘能敲出什么 · J
费曼式写法 · 由多个 AI 代理撰写与互相审校