一句话版本
同源(isogeny)是椭圆曲线之间"保持加法的映射",即一个由有理函数给出的群同态。在一张由曲线和同源构成的巨大网络里,已知起点和终点、找出中间的路,被认为连量子计算机都难解,于是诞生了同源密码。 其中最著名的 SIKE 进入了 NIST 后量子标准化的第四轮,却在 2022 年 7 月被 Castryck 和 Decru 用一台普通电脑约一小时破解。破解用的是一条 1997 年的定理,和量子计算毫无关系。
全文分三层:
- 通俗理解:在曲线的迷宫里走路
- 实际用处:SIKE 的兴衰时间线,以及同源密码的现状(CSIDH、SQIsign)
- 数学原理:同源是什么、Vélu 公式、SIDH 的结构、为什么泄露的额外信息是致命的,附 上的手算例子
第一层:通俗理解
1.1 曲线的迷宫
在椭圆曲线里,我们在一条曲线上"走 步"。同源密码换了一个舞台:
- 每个"房间"是一整条椭圆曲线;
- 两个房间之间有门,门就是同源(一种把一条曲线上的点映射到另一条曲线上、且保持加法的映射);
- 所有房间和门构成一个巨大的迷宫(同源图),房间数大约是 , 有几百位。
难题:给你起点房间和终点房间,问中间的路怎么走。
1.2 像 Diffie–Hellman 一样交换密钥
SIDH(超奇异同源 Diffie–Hellman)的思路和Diffie–Hellman与离散对数很像:
- Alice 和 Bob 从同一个公共房间出发,各自秘密地走一条路;
- 各自公布终点房间;
- 再从对方的终点出发,按自己的秘密路线"再走一遍";
- 两人到达同一个房间(严格说是同构的曲线),这就是共享密钥。
问题在第 3 步:为了让对方能"按自己的路线再走一遍",SIDH 必须额外公开一些辅助点(自己路线把某些点送到了哪里)。正是这些辅助点,最终葬送了整个方案。
1.3 为什么曾经被看好
- 密钥最短:在所有后量子方案里,SIKE 的公钥只有约 330 字节,而 Kyber 约 800 字节,经典 McEliece 甚至要几百 KB;
- 数学优雅:延续了椭圆曲线的技术栈;
- 十年无人攻破。
第二层:实际用处
2.1 SIKE 的兴衰
攻击的核心工具是 Ernst Kani 1997 年关于"把两条椭圆曲线粘成一个阿贝尔曲面"的定理。一个代数几何的老结果,在 25 年后突然变成了一把钥匙。
2.2 教训
- 安全性的证据只是"没人攻破":SIDH 研究了十年,看起来非常稳,但它依赖的是一个特殊的问题(多给了辅助点),而不是那个被广泛研究的"纯"同源问题。
- 混合部署救了场:Cloudflare 和 Google 的试验都是"经典 ECDH + SIKE"混合,所以即使 SIKE 被攻破,连接仍有经典算法兜底。这正是后量子密码里强调混合方案的原因。
- 密码多样性:NIST 在格方案之外仍保留基于哈希、基于编码的方案,就是为了防止"一个数学结构崩溃导致全军覆没"。
2.3 同源密码还活着吗
活着。攻击只针对 SIDH 那种"公开辅助点"的设计:
| 方案 | 状态 |
|---|---|
| CSIDH(2018) | 不公开辅助点,未受此次攻击影响;但有亚指数量子攻击(Kuperberg 算法),参数要取得较大 |
| SQIsign(2020) | 基于同源的签名,签名和公钥都非常短,进入了 NIST 额外签名征集的后续轮次;近年的改进版(如利用 Kani 定理本身的 SQIsign2D)反而把"攻击工具"变成了"构造工具" |
第三层:数学原理
3.1 同源是什么
椭圆曲线 到 的同源是一个非常数的映射 ,满足:
- 由有理函数给出:;
- 把无穷远点送到无穷远点。
可以证明这样的映射自动是群同态:。它的核 是 的一个有限子群。
Vélu 公式:反过来,给定 的任意有限子群 ,都存在一个以 为核的同源,并且有显式公式算出目标曲线 ,记作 。这和抽象代数里"给定正规子群 ,有商群 和自然同态 "完全类似。
Tate 定理:在 上, 和 之间存在同源,当且仅当它们的点数相同。
3.2 手算例子:一个 2-同源
对形如 的曲线,点 的阶是 。以子群 为核的同源有一个简洁公式:
上,,
两条曲线点数相同:都是 个点(含无穷远点),符合 Tate 定理。但它们的 -不变量分别是 和 ,所以不同构,是迷宫里两个不同的房间。
映射一个点:。检查: ✓
- 。检查它在 上: ✓
用 Python 检查了 上所有点,映射后都落在 上。(已用 Python 验算。)
3.3 SIDH 的结构(简化)
- 取素数 ,在 上取一条超奇异椭圆曲线 。
- Alice 的秘密是 的一个 阶循环子群 ,她算出 ,相当于在 2-同源图上走了 步。Bob 同理在 3-同源图上走。
- 为了让对方能在 上"复刻"自己的子群,Alice 还要公开 Bob 那组基点 在她的同源 下的像 。
- 最终两人得到 ,取它的 -不变量作为共享密钥。
3.4 为什么辅助点是致命的
公开 ,等于告诉攻击者秘密同源 在一整个 -挠子群上的取值。
Castryck–Decru 的关键洞察:利用 Kani 定理,可以把 和另一个已知同源"拼"成两条曲线乘积 上的一个高维同源。只有当猜测正确时,这个高维同源的目标才会"分裂"成两条椭圆曲线的乘积,而检查是否分裂很容易。于是攻击者可以一步一步猜出 Alice 的秘密路径,每步只需要试很少几种可能。
后来 Robert 证明,借助这些辅助点,任何同源都能在多项式时间内被重建出来。
总结
| 层次 | 要点 |
|---|---|
| 直觉 | 房间是曲线,门是同源;找路很难 |
| 代数 | 同源是有理函数给出的群同态;核决定目标曲线(Vélu,类比商群) |
| SIKE | 为了交换密钥必须公开辅助点,泄露了同源在整个挠子群上的值 |
| 教训 | "十年没被攻破"不等于安全;混合部署救场;CSIDH、SQIsign 仍在 |