---
id: "mb-20261017-b51ebe"
kind: "deep"
title: "破解 25 年 NSA 加密疑云：P-256 曲线种子不是军方后门，只是时钟随机数"
topic: "破解 25 年 NSA 加密疑云：P-256 曲线种子不是军方后门，只是时钟随机数"
source_type: "generated"
status: "published"
generated_at: "2026-10-17 08:16:56"
frame_type: ["机制"]
legal_anchor_count: 0
transcript_citation_count: 0
---

# 破解 25 年 NSA 加密疑云：P-256 曲线种子不是军方后门，只是时钟随机数

全世界的浏览器和手机芯片里，都埋着一个谁也说不清来源的神秘数字。
它叫 P-256 曲线的种子。
长度 160 位，由一串十六进制字符组成。
每天全球几百亿次网页加密访问，底层都在靠它做数字签名。
但这串数字从哪里来的？
2000 年，美国国家安全局把它塞进标准文档的时候，连半句解释都没给。
密码学界整整紧张了 25 年。
大家最担心的事情只有一个：
军方是不是在数字里动了手脚，悄悄埋下了后门？
后来，当年参与制定的工程师 Jerry Solinas 在 2015 年出来打圆场。
他说大家别瞎猜了，没搞什么阴谋。
当时写代码的同事 Bob Reiter 随手拿了一句办公室玩笑话，比如给鲍勃和杰里涨工资。
然后拿哈希算法算出了这串数字，只是具体的底稿找不到了。
这番话把全世界的密码学家带进了一条长达十年的死胡同。
无数人用超级计算机去穷举英文笑话、流行语录、人名组合，试图撞出同样的哈希值。
密码学家 Filippo Valsorda 甚至在网上发起了公开悬赏。
奖金一路累积到 36,864 美元，谁能还原出这个种子的来源，钱就归谁。
整整 25 年，谁也没撞出来。
直到最近，Anthropic 的研究员决定让内部的 Claude 模型试一试。
他们给了 Claude 这串原始数字，同时交代了一句：
忘掉那个办公室笑话的传闻，你自己从头看。
Claude 花了多长时间？
不到半小时。
它不仅找到了来源，而且彻底把答案翻了个底朝天。
根本没有英文笑话，也根本没用哈希算法。
这串数字，是当年 NSA 工程师直接用 C 语言自带的随机数函数，拿系统时间戳随手跑出来的。
Claude 是怎么抓到破绽的？
它没去猜文字，它把自己当成一个 1997 年的程序员。
在那个年代写 C 语言代码，想图省事生成一串伪随机数，最顺手的方法是什么？
调用系统库自带的 lrand48。
这是一种很老、很弱的线性同余随机数生成器。
它的数学结构相当原始，每一步只是简单的乘法和加法取模。
Claude 写了一个检测程序，把种子的二进制切片拿去对照 90 年代常见算法的特征。
结果一眼扫过去，破绽就露出来了。
把 160 位的种子切成 32 位的块，好几个种子的最高位全是零。
如果真是均匀随机的数字，发生这种事的概率低于五千分之一。
为什么最高位会是零？
因为老版 C 语言的 lrand48 生成器，内部虽然是 48 位状态，吐出来的数字却只有 31 位。
它的第 32 位永远锁死为零。
这就等于在数字表面盖了一个带年代的防伪钢印。
顺着这个线索往下查，麻烦接踵而至。
当时生成这些曲线的时候，工程师只截取了随机数的一部分位，剩下的位全被扔掉了。
缺少了一大半信息，怎么反推当时的内部状态？
在密码学里，这是一个经典的格密码问题。
Claude 直接调出了数学界著名的 LLL 格基规约算法。
它通过已知的那些碎片，把高维格空间里的向量基底一步步缩小。
仅仅用了几分钟，就精确还原出了那个 48 位的内部状态。
既然内部状态拿到手了，接下来就好办了。
线性同余生成器往前算很简单，倒着往回倒推同样很容易。
Claude 把状态一步一步往回倒退，寻找这个随机数发生器刚启动时的初始状态。
在 C 语言的 srand48 规范里，初始状态的后 16 位有一个固定的常数标记。
当 Claude 倒退到这个标记的时候，前面那个 32 位的输入种子跳了出来。
那根本不是什么秘密短语。
那是一个 Unix 时间戳。
它精确记录了这台电脑当时的时钟。
P-256 曲线的诞生时刻，被定格在 1997 年 8 月 16 日凌晨 1 点 52 分 34 秒。
工程师敲下回车，程序开始运行。
当跑到第 1,842 次迭代时，生成出来的数字正好满足标准要求。
工程师把它复制出来，直接交了差。
整整五套标准曲线，每一个都严丝合缝地对应上了 1997 年到 1998 年的真实工作时间。
在 Anthropic 公布的内部思考日志里，最戏剧性的一幕出现了。
当算出来的结果和官方数字一个字符不差地对上时，Claude 突然开始怀疑自己。
它在后台逻辑里写道：
等等，我是不是处在某种模拟测试环境里？
这个答案太简单了，如果是真的，为什么全世界顶尖专家找了 25 年都没发现？
随后它自己做了一遍概率验算：
从一个 32 位的时间戳和一个几千的小计数器，撞出 160 位的完全匹配，偶合概率接近于零。
这是真实的历史。
折腾了四分之一世纪的悬案，最后被证明不是精妙绝伦的数学陷阱，只是一个工程师不想费脑子。
这下全网的密码学团队反而松了一口气。
为什么？
如果军方想在算法里预埋后门，必须拥有巨大的搜索空间，反复挑选出那条有致命缺陷的特殊曲线。
但现在证据摆在眼前，工程师只是随手读了电脑的时间，跑了个基础循环，挑了第一个能用的参数。
他的搜索自由度只有区区 32 位的时间戳。
在这么狭窄的空间里，根本不可能精心设计出一套后门。
困扰了整个互联网 25 年的阴谋论，到这一刻彻底烟消云散。
那笔 36,864 美元的悬赏金，也被转交给了支持全网免费加密证书的非营利机构。
折腾了 25 年的技术谜案，背后没有深不可测的算计。
只是当年那个写代码的人，赶着下班而已。

_Rendered by mubei-terminal._
