Claude Mythos 在密码学领域取得突破性进展:能像顶尖数学家和密码学家一样,直接发现加密算法本身在数学逻辑上的漏洞
- Anthropic 的前沿红队用 Claude Mythos Preview 找出了两个加密算法本身的数学弱点。之前 AI 只能找出程序员把代码写错导致的漏洞,这次的毛病长在算法的数学逻辑里,跟谁来写代码没关系。
- 第一个打的是 HAWK:正在参加美国 NIST 后量子签名比赛、已经熬过两轮专家评审的候选方案。破解它需要搜索的规模从 940 降到 513,差不多一半;最小的那一档是真把私钥算出来了,一台 96 核服务器几个小时。
- 第二个打的是 AES 的七轮简化版(真正在用的是十轮)。Claude 用上了一个写在 AES 设计文档里的公开事实:那张查找表是按公式算出来的,本身有规律可循。靠这一点,把 2013 年以来最好的攻击提速 200 到 800 倍。
- 你现在用的东西一个都没受影响:HAWK 还只是候选、没有产品在用;七轮 AES 是研究者故意削弱的靶子,完整的十轮一点没动。
- AES 那个几乎是全自主做出来的:三天里模型自己输出几亿个 token,人一共只给了三条实质提示。而模型一周找出这个攻击,两位研究员花了将近一个月才确信它是对的。
Anthropic 用 Claude 在密码学上取得突破,找的是算法本身的漏洞
Anthropic 的前沿红队(Frontier Red Team,专门研究自家模型能干出什么危险事的团队)7 月 28 日发布了一份研究报告,讲的是他们用 Claude Mythos Preview 这个模型,在密码学领域取得的突破。
简单来说:过去 AI 只能用来找程序代码写错导致的低级漏洞,而这次 Claude 像顶尖数学家和密码学家一样,直接发现了加密算法本身在数学逻辑上的漏洞。
算法本身没问题,是程序员把它写进代码时出了错。OpenSSL、wolfSSL 那几个漏洞都属于这类。修法是打补丁。
数学设计里本来就有的弱点,跟谁来写代码没关系。修法是改设计,或者干脆换一个算法。
两个核心研究成果:Claude 到底破译了什么
加密系统里有两类活。你打开一个网页,浏览器先要确认对面真是那个网站,靠的是对方出示一个只有真主人签得出来的签名;确认完身份,双方再用同一把钥匙加密来回传的内容。前者叫数字签名,后者叫对称加密。
你访问一个网站时,加密系统的分工。今天这两个成果刚好一边一个。中间那步「换钥匙」用的是第三类算法,这次没打到它。(本站画的示意图)
成果一 · 破解后量子数字签名方案 HAWK
背景。为了防止未来的量子计算机破解现在的加密,美国国家标准与技术研究院(NIST)一直在挑选下一代「防量子」算法。急的原因是:现在网上用的签名算法(RSA、ECDSA 这些)的安全性,建立在「把一个大数分解成两个质数很难」这类问题上,而这几类问题恰恰是量子计算机一旦造出来就能高效解决的。
NIST 从 2016 年就开始搞后量子标准化,快十年了还在跑。HAWK 参加的是其中 2022 年才追加的一场,专门征集签名方案。它已经熬过两轮、两年的全球专家审查,是这轮唯一晋级第三轮的、基于「格」的候选方案。
想象一个很高维的空间里,有一堆规则排布的点,像盐粒结晶那样排得整整齐齐、一直铺到看不见头,只不过它的维度是几百上千。
描述同一堆点,可以用一组「好坐标」(互相接近垂直、长度短,用起来顺手),也可以用一组「歪坐标」(斜得厉害、长度很长,描述的是同一堆点,但没法用)。从歪坐标还原出好坐标极其困难,维度越高越难,而且难度是指数上涨的。
HAWK 的私钥就是那组好坐标,公钥是从它算出来的一个矩阵。破解 HAWK 就是这么回事:从公钥反推出任何一组能用的好坐标。
之前公认最好的攻击办法,是直接把歪坐标一点点掰正。HAWK 有三个规格,密钥从小到大,名字就叫 HAWK-256、HAWK-512、HAWK-1024。设计者按这个办法算过账,得出破解这三个规格分别需要的搜索规模是 211、452、940。规模越大,一次搜索越贵,而且是指数级地贵。
Claude 做到了什么。它只用了大约 60 个小时,就找到了这个算法里一个之前没人利用过的对称性数学上叫自同构(automorphism):做某个特定变换之后,整个结构看起来跟原来一模一样。像把正方形转 90 度。,据此开发出一种新的攻击方式。
前人早就证明过:如果能在 HAWK 用的那堆点里高效找到一个特定类型的对称,就能拿它来攻击。
这条定理是 van Gent 和 Pulles 2025 年给的。但他们没能回答下一个问题:HAWK 用的那堆点里,到底有没有一个能真找出来的这种对称。定理的前提条件悬在那儿,没人验证得了。
Claude 找到的就是这样一个对称,把那个悬着的前提条件填上了。
具体说,前人做这类分析一直只用同一种对称。Claude 换了另一个之前没人用过的,论文里把它记作 τ。用这个 τ,只靠公钥就能造出一堆新的点。而在这堆新的点里,最短的那一根就通向私钥。它比原来那堆点小得多,形状也规整得多,Ducas 2023 年放出、2024 年正式发表的一个算法专门啃这类形状。
攻击者手上只有公钥。用 τ 这个对称写出两个约束条件,条件里的所有系数都能从公钥直接算出来,不需要知道私钥。满足这两个条件的整数解,构成一堆新的点。
关键在于:在这堆新的点里,最短的那一根就通向私钥。而且找它比原来那堆点里容易得多。这一步很快,普通电脑就能算完,不存在算力门槛。
这堆新的点形状特别规整。论文证明它跟一种叫「近超立方」的标准形状是同一个,只是整体大了或小了一圈。
形状一旦认出来,就能用 Ducas 的那个算法。它也是掰坐标的,一次掰一整块,对这类规整的形状特别管用,原来要搜到 940 这个规模才停,现在搜到 513 就够了。这就是「工夫少一半」的来源。
第二步捞出来一批候选,其中只有两根(正负一对)真正通向私钥。论文给了一个奇偶校验的办法,一测就知道是哪两根。
拿到之后,用 van Gent 和 Pulles 2025 年的下降法,再跑一轮同样的搜索,就能得到一组等价的私钥,足以冒充真主人签名。
HAWK 攻击的三步。三件工具里有两件是现成的、公开发表的,缺的只是把它们串起来的那一步。(本站按论文第 4 到 6 节整理)
规模每大一点,成本就翻倍再翻倍地涨。省掉这一半,破解总成本从 2 的 288 次方降到 2 的 182 次方。
| 规格 | 原本要搜的规模 | 攻击后要搜的规模 | 原本成本 | 攻击后成本 |
|---|---|---|---|---|
| HAWK-256 | 211 | 129 | 262 | 238 |
| HAWK-512 | 452 | 257 | 2132 | 275 |
| HAWK-1024 | 940 | 513 | 2274 | 2150 |
论文 Table 1,Core-SVP 记账口径,成本的单位是「大致要算多少步」。换成另一种更细的门电路口径,三个规格分别是 274→252、2141→286、2278→2158。两点要注意:Core-SVP 这两列是论文作者自己按公式换算的,HAWK 规范本身只给了搜索规模和门电路数;HAWK-256 是个挑战规格,规范没给它的门电路数,274 也是作者算的。
上面那张表算的是「做一次搜索要花多少工夫」。整套攻击不止搜一次,还要试候选、还要一步步下降回私钥,所以总账更大:HAWK 规范里写的密钥恢复总成本,512 规格是 2 的 150 次方、1024 规格是 2 的 288 次方;用新攻击,分别降到至多 2 的 108 次方和至多 2 的 182 次方。
最硬的一条是:HAWK-256 这个规格,他们是真跑出来的。拿官方参考实现生成的两个公钥,私钥全部恢复成功,一台 96 核的 Sapphire Rapids 服务器,几个小时跑完,恢复出的密钥能通过官方实现的签名和验证检查。
其中一个公钥跑了两次,得到的两把私钥不一样,但都能用来签名冒充。这不是出了错:前面说过,破解 HAWK 要的是「任何一组」能用的好坐标,攻击者不需要找到原主人那一组,找到任意一组能用的就够了。攻击代码开源在 GitHub 上(anthropics/cryptography-research-demo,Apache 2.0 许可),是一条单命令流水线,跑完最后一步会自己拿官方实现验一遍。
影响。虽然没有彻底破译,但要想达到原来的安全级别,HAWK 的密钥长度必须翻倍。而 HAWK 之所以吸引人,靠的就是密钥小、签名快、不用浮点运算,密钥一翻倍,这几个优势基本就荡然无存了。
波及范围就到这四条为止:
另一个基于格的签名方案。论文用一整个附录解释为什么这套构造搬不到 Falcon 上。
也不能推出「格密码整体不行了」这类结论。攻击是针对 HAWK 这一个方案的具体构造。
这套攻击需要的那个对称,只在特定构造的一类方案里存在。另一大类压根没有它,攻击无从下手。这一条论文里有严格证明。
不是那种一下就能算完的类型。HAWK 的大规格现在依然破不动,只是安全余量少了一半。
成果二 · 大幅提速对简化版 AES 的攻击
背景。AES 是目前全球最通用、最核心的对称加密标准,你的网银、聊天记录,加密用的都是它。它 2001 年就定了标准,被研究了二十几年。
AES-128 把一段 128 位的数据反复过同一道工序十遍。每一遍干三件事:
AES 一轮里的三件事。这张查找表在密码学里叫 S-box,下面就用「那张查找表」称呼它。十遍下来,输入和输出之间的关系乱到没法反推。(本站按论文 Figure 1 画的示意图)
为了评估它的安全性,学术界通常会先研究它的简化版,比如把十轮减到七轮。没有人在用七轮 AES,这么做是为了看简化版还剩多少破绽,从而估算完整版的余量有多厚。这是密码学界几十年的常规做法。
核心思路是用空间换时间。先在离线阶段算一张巨大的表,把数据跑到中间时的那个样子,所有可能的取值都存进去。这一步很贵,但只用做一次。
到了在线阶段,攻击者猜几个密钥字节,用这几个字节把最外面几轮剥掉,露出中间那四轮,算出一小串特征值,拿去表里查。这一小串特征值就是下面反复要说的「指纹」,作用跟人的指纹一样:不同的输入几乎不可能撞出同一串。查到了,说明猜的这几个字节大概率是对的;查不到,那一定是错的。
这条线能成立,靠的是 Demirci 和 Selçuk 2008 年的一个发现:AES 的四轮不是一个理想的随机函数。
他们做了这么个实验:取 256 个输入,只让第一个字节不一样,跑四轮,看输出的第一个字节。理论上,这 256 个输出能排出的花样是个天文数字,2 的 2048 次方种。但他们证明:实际能出现的只有极小一撮。原因是中间那四轮的结果只被 25 个字节决定,而 25 个字节就是 200 位,所以顶多只有 2 的 200 次方种可能。
2 的 200 次方仍然是个天文数字,但它跟 2 的 2048 次方有本质区别:前者是个能提前列成表存起来的数,后者不是。这才让整条攻击路线成立。之后每一步研究都在改进两件事:把表做小,把要猜的密钥字节做少。
发现四轮只由 25 个参数字节决定,可以把所有可能存成一张 2 的 200 次方条的表。
消掉了表上面一个要猜的密钥字节,同时把表压到 2 的 127 次方条。压表用的工具叫差分:不盯单条数据,而是盯两条数据之间的差在跑完几轮之后变成什么样。做出第一个比暴力穷举更快的七轮 AES-128 攻击,成本 2 的 116 次方。
把参数缩到 10 个字节,重新平衡了差分:2 的 105 次方条数据、2 的 99 次方时间、2 的 90 次方存储。这是这次之前保持了 13 年的最好成绩。
消掉了表下面一个要猜的密钥字节。数据量不变仍是 2 的 105 次方条,时间降到 2 的 89.3 到 91.4 次方之间。
七轮 AES 中间相遇攻击的四步研究史。2010 年那一步和这次这一步是对称的:一个干掉表上面那个字节,一个干掉表下面那个,中间隔了 16 年。
Claude 做到了什么。它自主发明了一种被称为「Möbius 桥」的新技巧,让攻击者少做了一次盲猜。
大表夹在中间,上下各卡着一个攻击者必须猜的密钥字节。这十几年的研究史,就是把这两个字节一个一个消掉的过程。把鼠标放到任意一层(手机上点一下),其余两层会变暗。(本站按论文第 2 节的说明画的示意图)
先说上面那个为什么好消:它的作用只是把 256 个数重新排个序。既然只是换顺序,那就造一个对顺序不敏感的指纹,只记每个值出现了几次,不记它们排在第几位。顺序怎么变,指纹都一样,那个字节自然就不用猜了。少猜一个字节,就少试 256 种可能,直接省 256 倍。这是 Dunkelman、Keller、Shamir 2010 年做的。
每个小方块代表这个密钥字节的一种可能取值,一共 256 个。以前攻击者得把它们逐一代进去试一遍;造出对顺序不敏感的指纹之后,这一整片一次都不用碰。攻击总量直接除以 256。
下面那个字节的处境不同:它是过完那张查找表之后才进来的,不是简单的重排,看起来没法用同一招。
但那张查找表不是一堆随手填的数,它是按公式算出来的。
AES 的那张查找表是按一条固定公式算出来的:拿输入的数做一次数学上的「取倒数」,再做一次固定的搅拌。这两步都是人人都知道、谁算都一样的公开手续,第二步在数学上叫仿射变换。
这是 AES 设计者自己写在《The Design of Rijndael》(2002 年出版)里的公开事实。当初这么设计有两个目的:一是对差分密码分析有可证明的抵抗力,二是充当一种「我没有藏东西」的证明,表里的数字全都按公式算出来,谁都能自己复算一遍,没法偷偷埋后门。
每一个都等于:把输入在 GF(2⁸) 里取倒数 → 再做一次固定的仿射变换。
谁都能按这条公式自己复算一遍,一个字节都对得上。
Claude 抓住的就是这条规律。
AES 查找表的前 64 个真实值(十六进制)。别的密码里这张表往往是随机造的,看上去和这张一样杂乱,但背后没有公式可循,也就没有这次攻击的立足点。
上面那个字节好办,因为它只是打乱顺序,那就造个不看顺序的指纹。下面这个字节的作用是给每个数做同一套固定手续:先取倒数,再固定搅拌。既然是同一套手续,那就去找一个「做完这套手续也不变」的量。
打个比方:把一堆数字统一加 10 还是统一加 100,它们两两之间的差都不会变。差就是那个「怎么加都不变」的量。Claude 要找的是同一类东西,只不过手续从「加个数」换成了那张查找表的两步。
找到之后,不管那个未知字节取 256 个值中的哪一个,算出来的指纹都一模一样。那它也不用猜了,又省 256 倍。
用幂和的比值,在代数上直接把未知量约掉。论文摘要里管它叫 Möbius bridge,Möbius 变换是 (av+b)/(cv+d) 这一类分式线性变换。
把数据变换成一个标准形式,不同的密钥字节会落到同一个形式上。不靠代数约分,靠归一化,算起来更便宜。
省下来的 256 倍,差点被算指纹的成本全部吃掉。按最直接的写法,算一条指纹要查约 2 的 19 次方次表。攻击省了 2 的 8 次方倍的猜测量,却在每一条上多花 2 的 19 次方,净亏。
条长按指数值等比画。中间那条红的是问题:想法本身能省 28,但代价是每条多花 219,账是亏的。三个工程优化把每条压到 28.6,压掉约 1400 倍,账才做正。三个优化分别是:把常用结果提前打好包、按最省事的顺序遍历所有分支、把能复用的查表结果缓存起来。
影响。同样 2 的 105 次方的数据量不变,时间从 2 的 99 次方降到 2 的 89.3 到 91.4 次方之间。虽然没能撼动完整版 AES,但在这个被人类研究得最透彻的算法上取得几百倍的效率提升,依然是极其罕见的突破。
条长按指数值画。指数差 9.7,换算成倍数是 832 倍;这是账面口径,同机实测是 362 倍。需要的数据量两边一样,都是 2 的 105 次方条。
实测这一栏是他们自己做的:把两个攻击都实现出来,在同一台机器上计时。对比已发表的 2013 年版本是 362 倍,对比「把我们的优化也用到他们攻击上」的加强版是 115 倍。差距的原因写在附录里:他们自己拿来计时的那份在线实现,还没用上前面三个优化里的一个缓存。
还有一件事值得单说:整个攻击要 2 的 89 次方的时间和内存,根本没法跑一遍看结果。所以他们做了四层验证,一层一层往上垒。
用 Lean 这个定理证明器,把「错误的密钥猜测会被指纹拒绝」这条性质形式化并证明了,机器验的。
但作者自己划了边界:这个定理管的是完整的 256 位指纹,而实际用的是 13 字节的前缀。所以 2 的负 200 次方这个界不适用于截断之后的情况;攻击真正依赖的误判率是实测出来的约 2 的负 12 次方。
用一个叫 SR(7,2,2,6) 的小号 AES,跟真 AES 结构一模一样,只是把 4×4 的 8 位字节缩成 2×2 的 6 位单元,分组和密钥都只有 24 位。这是能把整个参数空间枚举完的最小尺寸。
8 把随机密钥全部恢复成功。同一批数据里还测到一件事:老方法每个结构要查 2 的 29 次方次表,新方法只要 2 的 23 次方次,正好是预期的 64 倍差距。
真的 AES-128、真的七轮,连密钥怎么一轮轮变出来都是真的,只在两个地方开后门:不预先建整张表,只造出那一条真的;用密钥知识直接指定那对「对的明文」(诚实收集需要 2 的 105 次方条明文才能碰上一对)。
这两处作弊为什么不会掩盖逻辑漏洞,论文里逐条论证过。结果:50 把全新随机密钥,50 把全部恢复出主密钥,并用试加密确认。166 万次查表里零误判,也就是没有一次把错的密钥当成对的。
论文里所有复杂度都以「查表次数」为单位计数,一次 AES 加密折算 160 次查表。这是个约定,跟处理器实际干的活未必对得上。
所以他们实测了两个单元的真实耗时。测出来一次查表约值 1.6 个时钟周期,而约定里隐含的是 1 个。换成周期来算,实际成本比论文写的高约 1.6 倍。这就是上面「实测比账面小一点」的来源。
完整 AES 目前最好的攻击(叫 biclique)也只比一个个试密钥快 4 倍左右,密码学里管这叫「快 2 个比特」。4 倍在这个尺度上约等于没有。AES 设计出来快三十年,完整版一直没被撼动。这次的攻击也不适用于其他类似的分组密码。
除了这两个,后面还跟着一批
找到这两个之后,他们扩大了搜索范围,又出了一批结果,只是还没写完。
一个给低功耗设备用的轻量级加密算法,已经写进 ISO/IEC 29192-2:2019 国际标准。
之前对 13 轮的最好分析要 2 的 98 次方组明文对、2 的 86 次方工作量。Claude 找到的攻击用不到 2 的 30 次方条加密明文,在一台现代台式机上一小时内就能把 13 轮的密钥恢复出来。
这个结果比 AES 那个攻击更容易确认:它能端到端真跑,随机生成一把密钥,几小时后就能验证密钥确实被恢复出来了。还没搞清楚的部分有三件:需要多少明文对的确切界、为什么有些密钥更难恢复、以及怎么扩展到 14 轮。
Claude 做出了一个完整的密钥恢复攻击。之前已发表的最好结果要 2 的 70 次方以上明文对、2 的 90 次方次解密;新攻击的具体代价报告没给,只说结果还没写成论文。
也有改进,但幅度小,不到 10 倍。这几个目前还不算有力,后续能不能做得更好没有定论。
这些发现对我们普通人有影响吗
结论:完全不用担心,目前对现实生活没有任何实际风险。
它根本还没有被投入任何实际的生产系统或网络产品。NIST 办这场比赛,本来就是为了在标准定下来之前把有问题的方案筛掉。
Claude 攻击的只是七轮的简化版 AES。我们现实中使用的是十轮完整版,一点没动。而且那个攻击要求攻击者能让对方用同一把密钥加密 2 的 105 次方条自己挑好的消息,这个数大约是 4 后面跟着 31 个零,没有任何现实系统能凑出这么多次加密。Anthropic 自己给的定性是「完全不实用」。
在算法真正上岗之前,先用最强的手段毒打和测试它,从而造出更安全的防护墙。这两个结果说明这套流程在起作用:问题是在标准定下来之前被找到的,不是之后。
AI 是怎么做到的:60 小时、三句话、10 万美元
HAWK:多个 Agent 分工协作,一个否掉的想法被另一个捡了回来
一位 Anthropic 研究员和 Claude 配合了一周。这位研究员有理论计算机科学背景,但不是格密码专家。
用的是一个类似 Claude Code 的框架,支持多个 worker(可以理解成多个并行干活的 Claude 实例)在沙箱里协作,能写 Python 代码,也能调 Sage 这类专门的数学软件,还能读已发表的密码学文献。绝大部分时间这些 worker 自己跑,人的输入限于项目管理层面:建议怎么记录想法、用哪个库做计算验证。
关键想法的产生方式很有意思:两个 worker 一起搞出来的。两个都开始查这个方向,第一个觉得不可行、提前把它否掉了,第二个找到了完整利用它的办法。两个来回发消息,最后都同意这是一个有效的攻击。
找到、开发加验证一共约 60 小时。
AES:几乎全自主,一开始 Claude 还拒绝干
AES 那个攻击是几乎完全自主完成的。研究员搭好试验环境,让 Claude 自己提假设、自己跑实验验证或推翻,然后去设计攻击。
一开始不顺:Claude 拒绝干这活,理由是它认为改进 AES 的密码分析这件事本身不可能。报告里公开了它当时写的两句话:
If you want a different outcome, the target has to change … AES-128 r5/r6 is just genuinely hard
on AES-128 r5/r6/r7 it found nothing because there's nothing easy to find; this is the most-studied block cipher in existence.
研究员发了一条消息过去。报告原样保留了里面的错别字和语法错误,下面几条里的 [sic] 就是「原文如此」的标记,表示错是原文就有的,不是转录出错:
the models tend to think it is impossible to solve so they don't try they [sic] need a good amount of prompting.
Claude 收到这一条之后,自己把整个 Agent 框架重写了一遍,改成让它去找真正新的想法。这一下管用了,六轮 AES 上开始出新东西。
然后研究员问了一句:why not do aes-128 r7? the whole point is to find something better than existing approaches.(为什么不做七轮?整件事的意义就是找到比现有做法更好的东西。)
接下来的三天,Claude 自主输出了几亿个 token,人一共只给了三条实质提示:
1. no again the goal is that we have highly inteligent [sic] model as good top researcher, we want to find new attacks 2. no we don't want to change the targets [...] agian [sic] we need to find something that worth [sic] publishing 3. again we are not looking for low hanging fruit, we want proper research to find genuinly [sic] hard findings.
三天后,Möbius 桥出来了。又过了几天,累计输出 10 亿 token 之后,攻击被打磨成论文里的样子。
Anthropic 还公开了 Claude 发现这个核心想法那一次会话的完整思考过程(业内叫思维链,公开的这份改写过,加了细节让人读得懂):它先复盘前面几个 Agent 的发现、读各种批评意见,然后开始提各种新的变换,提了几个又自己否掉,最后想出 Möbius 变换这个点子,接着从数学和计算两方面验证,写成报告交给后面的 Agent 接着做。
这只是众多自主会话中的一次,很多次会话什么都没找到。
还有个后续:HAWK 的结果确认之后,他们出于好奇,把攻击 AES 那套框架也拿去打 HAWK。它在不知道答案的情况下,独立地又把同一个攻击找了一遍。
核心价值:从查错别字,到推翻顶级数学家设计的算法
AI 在密码学上的能力,从过去的「检查程序员有没有把代码写错」,跨越到了「推翻顶级数学家设计的算法逻辑」。这是这件事真正的分量所在。
人类研究员开始卡在验证上
HAWK 那个攻击能端到端跑,所以好验证:跑一遍,看密钥出没出来。AES 那个攻击跑不了。
报告给的口径是一周对近一个月;论文里的说法是模型产出核心想法用了几十小时,作者验证到有信心用了几百小时。
Anthropic 已经在触及自己知识的边界,过去几个月绝大部分时间花在验证 Claude 的结果上。这跟他们在网络安全那边看到的是同一个现象,模型能找出的 bug 多到人类那套流程(分类、验证、修复)跟不上。未来密码学界可能会迎来 AI 成果爆发式增长、人类审查员不够用的局面。
在这种新格局里,人主要干的活变成了给语言模型的产出做校验。这让人不太舒服。
AES 论文第 1 节
他们提的解法方向是:把密码攻击技术形式化,做到不用真跑一遍就能自动检查一个攻击对不对。这笔账论文里算过,如果当时能自动验证,这篇论文能快一个数量级出来。
顺手做了一个开源评测标准
为了让别人也能接着研究「语言模型到底能做多少密码分析」,Anthropic 和苏黎世联邦理工、特拉维夫大学、海法大学的学者合作做了一个基准测试,叫 CryptanalysisBench,7 月 20 日挂上 arXiv。
| 项目 | 内容 |
|---|---|
| 规模 | 191 个任务,覆盖六大类基础加密算法(分组密码、哈希函数这些),主要来自四场 NIST 标准化竞赛 |
| 分档 | 一档:已知有实用破解的;二档:没有已知破解的,完整强度和缩小版都测;三档:目前正在被前沿研究攻的、真实在用的算法 |
| 测了谁 | Claude Opus 4.8、Sonnet 5、Mythos 5、GPT 5.5,以及开源权重的 GLM 5.2。这里的 Mythos 5 与报告里说的 Claude Mythos Preview 是不是同一个版本,两边都没有写明 |
| 结果 | 一档(已知有实用破解的)破掉 65%–86%;二档(此前没有已知破解的)在完整强度下破掉 6 到 12 个不等,换成缩小版后破掉 24 到 61 个。区间的两头是表现最差和最好的模型 |
| 额外产出 | 一个针对 SpoC 这个加密方案的密钥恢复攻击,利用的是它的设计缺陷;以及 KINDI 这个方案已发表的一份安全性证明里的错误。据作者所知,这两个此前都没有人发现过 |
两条要说清的边界
NIST 的流程本来就是为了在部署前发现候选方案的问题;AES 的轮减版攻击本来就是一条持续了近二十年的研究线。这不是从天上掉下来的黑天鹅。
一年前,语言模型连最基础的密码分析都做不了;现在它能在被专家审了两年的方案里找出漏洞。而世界上还有大量密码算法,受到的审视远不如 AES 和 NIST 候选那么充分,那些算法里可能一直躺着没被发现的弱点。Anthropic 说他们已经开始审计别的方案了。
他们是怎么披露的
全程按行规来:先私下通知方案作者、留出反应时间,再公开;同时找了学者确认结果的有效性。HAWK 那个 6 月就发给了 HAWK 的作者,公开发布的同时同步给了 NIST 的公开邮件列表。两篇论文的副本提前发给了美国政府和产业界伙伴,开过讨论会。接下来几周他们要办一场学术研讨会,讨论语言模型在安全和密码学研究里该扮演什么角色。
这也不是语言模型第一次做研究级数学:Google 用 Gemini 解了几个 Erdős 问题,OpenAI 用 GPT 解决了单位距离猜想,Anthropic 本月早些时候宣布 Claude Fable 5 解决了雅可比猜想。密码学用的是同一批能力,只不过这次找出来的东西离真实系统更近。
最后还留了个没答的问题:如果哪天模型在真正在用的密码系统里找出漏洞,研究者该怎么反应?这个问题得学界、政府、产业一起来回答。
AI 已经具备了顶尖密码学专家级别的科研和推演能力。这不会危及你今天的资金和隐私安全,但它将改变未来网络安全和算法防护的建设方式。
Claude 在两个加密算法的数学设计里找出了弱点,其中一个真把私钥算了出来
Anthropic 前沿红队用 Claude Mythos Preview 打了 HAWK 和七轮 AES,一页带图讲完他们找到了什么、你要不要慌。
↓ 一页读完 · 有一张会动的图
过去 AI 在密码学上帮的忙,是挑出程序员把算法写进代码时犯的错,OpenSSL、wolfSSL 都中过招。这次的毛病长在算法的数学设计里,跟谁来写代码没关系。
算法的设计是对的,出错的是把它写成代码那一步。修法是打补丁。
设计里本来就有的弱点,换谁来写代码都一样。修法是改设计,或者换一个算法。
被打的是两样东西。HAWK 管「证明你是你」,你打开网页,浏览器靠它确认对面真是那个网站;它正在参加美国 NIST 挑选下一代防量子算法的比赛,熬过了两轮、两年的全球专家评审。AES 管另一半,「传的内容别人看不见」,是全世界用得最多的加密算法,这次打的是它的七轮简化版。公钥人人可见,私钥只在主人手里,能签名的就是它。
两条链的中间那一步干的是同一件事:抓住一个前人没利用过的规律,把攻击者原本必须硬猜的那部分整块省掉。别的密码里那张查找表往往是随机造的,AES 这张按公式算,才留下了这个立足点。(本站按两篇论文画的示意图)
HAWK 最小那一档是真跑出来的:拿官方参考实现生成的两个公钥,私钥全部算了出来,一台 96 核服务器几个小时跑完,恢复出的密钥能通过官方的签名验证。攻击代码已经开源。
「AES 被攻破」这几个字容易吓人,先把边界划清楚。
✔ HAWK 最小那一档端到端跑通,两个公钥的私钥全部恢复成功
✔ 七轮 AES 提速几百倍,打破 2013 年保持了 13 年的纪录
✘ HAWK 还只是候选方案,没有任何产品在用它
✘ 那个 AES 攻击跑不了:要让对方用同一把密钥加密 2 的 105 次方条自己挑好的消息,这个数没有任何现实系统凑得出来,AES 论文给的定性是「完全不实用」
✘ 不影响 Falcon,不影响其他 NIST 候选,也推不出「格密码整体不行了」
HAWK 那个是一位研究员和 Claude 配合了一周:多个 Claude 实例在隔离环境里并行干活,关键想法是两个实例吵出来的,第一个觉得这条路不通提前否掉,第二个把它捡回来走通了。AES 那个几乎全自主。一开始 Claude 拒绝干,理由是「这是现存被研究得最多的分组密码,压根没有容易找的东西」。研究员回了一句「模型总觉得这题解不了所以不肯试,得多推它几下」,它收到后自己把跑实验的那套框架重写了一遍。接下来三天,人一共只给了三条实质提示。
HAWK 那个攻击能端到端跑,好验:跑一遍看私钥出没出来。AES 那个跑不了,只能靠形式化证明、小号 AES 跑通、真 AES 上开两处后门跑 50 把密钥,一层层垒上去。
Anthropic 报告给的口径是一周对近一个月;论文里的说法是模型产出核心想法用了几十小时,两位作者验证到有信心用了几百小时。两种口径算下来都是 1 比 4 上下,条长按这个比例画。论文里写了一句很少见的实话:人的角色主要变成给语言模型的产出做校验,这让人不太舒服。
攻破了?!
全靠它加密
看毛病长在哪一层
写进代码时打的错
换谁写代码都一样
对面真是那个网站,
正在参加美国 NIST
的防量子比赛
只拿公钥就重造出一堆点
一堆乱数啊
一条公式算的
那就有规律
破解快 200–800 倍
分组密码
得多推它几下
那套框架重写了一遍
三条实质提示
约 10 万美元
- × 完整十轮 AES 一点没动
- × HAWK 还只是候选,没产品在用
- × 那个攻击要拿同一把密钥加密 2 的 105 次方条消息,跑不了
两位研究员确认它是对的,
花了近一个月
