一般数域筛法(GNFS)的真正数学结构
GNFS的最终目标是找到满足 $X^2 \equiv Y^2 \pmod N$ 的 $X, Y$。 为了实现这一目标,数学家们在 “现实的整数世界” 与 “代数数域的世界” 之间架起了一座桥梁。这座桥梁就是“同态映射”。
第一阶段:连接世界的“同态映射(Homomorphism)”
1. 多项式的选择与根的定义
对于巨大的合数 $N$,选择一个整数 $m$ 和多项式 $f(x)$,使得 $f(m) \equiv 0 \pmod N$。 (例如:将 $N$ 展开为 $m$ 进制数,由其系数构造 $f(x)$。此时假设 $f(x)$ 在有理数域 $\mathbb{Q}$ 上是不可约的(即无法再进行因式分解))。
接着,将方程式 $f(x) = 0$ 在“复数范围内的根”之一设为 $\alpha$。 显然,$f(\alpha) = 0$。$\alpha$ 不是整数,而是包含根号或虚数等复杂的数(代数数)。
2. 环(Ring)与同态映射的构建
在这里,准备两个数学上的“环(定义了加法和乘法的世界)”。
- 世界A: $\mathbb{Z}[\alpha]$ (包含 $\alpha$ 的代数整数环) 这是一个由形如 $a + b\alpha + c\alpha^2 + \dots$ 的数构成的世界。
- 世界B: $\mathbb{Z}/N\mathbb{Z}$ (模 $N$ 剩余环) 这是一个仅由 $0$ 到 $N-1$ 的整数构成的同余(模)世界。
此时,定义一个从世界A到世界B的映射 $\phi$: $$\phi : \mathbb{Z}[\alpha] \to \mathbb{Z}/N\mathbb{Z}$$ $$\phi(\alpha) = m \pmod N$$
这个映射 $\phi$ 是一种魔法操作,它能将世界A中的变量 $\alpha$ 原封不动地替换为世界B中的整数 $m$。 这个 $\phi$ 具有极强的性质,被称为 “环同态映射(Ring Homomorphism)”。 同态的含义是,“在不破坏加法和乘法结构的前提下,使其跃迁到另一个世界” 的性质。也就是说,以下公式成立:
- $\phi(X \times Y) = \phi(X) \times \phi(Y)$
- $\phi(X^2) = \phi(X)^2$
这意味着什么呢?如果我们在“世界A($\alpha$的世界)”中,能够构造出某个复杂元素 $\gamma$ 的 “平方($\gamma^2$)”,那么即使通过 $\phi$ 将其跃迁到“世界B(余数的世界)”,** 也能完美保持平方的形式 $\phi(\gamma)^2$**。
第二阶段:质因数分解的崩溃与“理想(Ideal)”的诞生
在世界A($\mathbb{Z}[\alpha]$)中,我们希望收集大量合适的元素 $(a - b\alpha)$,并将它们相乘,从而制造出一个“完全平方(平方元)”。 通常情况下,只需将收集到的每个 $(a - b\alpha)$ 分别进行“质因数分解”,然后组合起来(通过矩阵求解)使得所有质数的指数都为偶数,就能构造出平方。
然而,此时代数学的一堵令人绝望的墙壁挡在了面前。 在像 $\mathbb{Z}[\alpha]$ 这样的代数数域世界中,我们在中学学到的 “质因数分解的唯一性(任何数都能且仅能以一种方式表示为质数的乘积)”崩溃了。
(例如:在某个代数数域世界中,$6 = 2 \times 3$,同时 $6 = (1+\sqrt{-5}) \times (1-\sqrt{-5})$,这就让人无法分辨到底哪个才是真正的质数)
如果质因数分解无法唯一确定,那么“统计质数个数使其成对(偶数个)”的拼图游戏(筛法)在原理上就无法执行。
库默尔与戴德金的拯救:“理想”
拯救这一崩溃局面的,是19世纪数学家所创造的 “理想(Ideal:理想数)” 概念。 通过考虑该元素所生成的“倍数集合(理想)”而不是元素本身,再次使质因数分解成为可能。
在代数数域的整数环 $\mathcal{O}_K$(包含 $\mathbb{Z}[\alpha]$ 的更完备的环)中,即使元素本身无法进行唯一的质因数分解,数学上已经证明了 “理想一定能唯一地分解为‘素理想($\mathfrak{p}$)’的乘积”。
因此,在GNFS中,不是去分解元素 $(a - b\alpha)$ 本身,而是将其生成的 主理想 $\langle a - b\alpha \rangle$ 进行素理想分解。
第三阶段:范数(Norm)与双筛法(Sieve)
那么,如何知道理想 $\langle a - b\alpha \rangle$ 会分解成哪些素理想呢? 这里使用了 “范数(Norm)” 函数。范数是一个将代数数域中的复杂元素转换为“普通现实整数 $\mathbb{Z}$”的函数。
元素 $(a - b\alpha)$ 的范数可以通过计算一个简单的多项式 $b^d f(a/b)$ 求得($d$ 为 $f(x)$ 的次数)。
根据代数定理,“如果某个理想的范数能够被小质数完全分解(即是平滑的),那么它原本的理想也能被小的素理想完全分解”。
因此,GNFS针对数千万对整数对 $(a, b)$,同时计算以下两个值,并只收集那些两个值都是“平滑数”的配对。
- 有理筛(Rational Sieve): $a - bm$ (现实世界的值)
- 代数筛(Algebraic Sieve): $b^d f(a/b)$ (代数数域世界中的范数)
收集数千万个两者皆平滑的配对 $(a, b)$,将其理想的质因数分解数据(包含多少个素理想)构建为巨大的矩阵(GF(2)上的线性代数)进行求解,从而找到一个配对集合 $S$,使得“将它们相乘后,所有素理想的指数均为偶数”。
第四阶段:两道“障碍”的阻挡与理想类群
通过矩阵计算,我们发现将集合 $S$ 中所有的 $(a - b\alpha)$ 理想相乘,会得到某个理想 $I$ 的平方。
$$\prod_{S} \langle a - b\alpha \rangle = I^2$$然而,这还没有结束。GNFS中最深奥、最困难的数学壁垒就在这里。
我们最终想要的,不是“理想的平方”,而是可以代入映射 $\phi$ 中的 “元素的平方($\gamma^2$)”。 理想成了平方,并不意味着元素本身也是平方。这里存在着 两大极其棘手的数学障碍(Obstruction)。
障碍①:理想类群(Ideal Class Group)的壁垒
理想 $I$ 未必是“由单个元素生成的主理想”。 我们不可能从一个非主理想的理想中,提取出具体的元素 $\gamma$。
在这里,“理想类群(Class Group, $Cl_K$)” 的概念登场了。理想类群是一个衡量“在该代数数域世界中,存在多少个非主理想的理想(质因数分解的唯一性被破坏到了什么程度)”的群。 即使 $\prod \langle a - b\alpha \rangle$ 变成了 $I^2$,如果 $I$ 在理想类群中不是单位元(主理想),就无法将其拉回到元素的平方。
障碍②:单位群(Unit Group)的壁垒
假设我们运气很好,$I$ 恰好是主理想 $\langle \gamma \rangle$。 那么,$\prod \langle a - b\alpha \rangle = \langle \gamma^2 \rangle$。 你可能会想:“太好了,元素也是平方了!”,但这大错特错。
理想(倍数的集合)相等,并不意味着元素完全相等。它们之间必然会产生 “单位(Unit:其倒数也是整数的数。如 1 或 -1 等)” 的偏差。 也就是说,实际元素的等式如下所示:
$$\prod_{S} (a - b\alpha) = u \cdot \gamma^2$$($u$ 为单位群 $U_K$ 的元素)
如果这个单位 $u$ 本身不是某个数的平方(平方元),那么等式左边绝对无法成为“完全的元素平方”。
第五阶段:阿德曼的魔法“二次剩余特征(Quadratic Characters)”
理想类群的障碍与单位群的障碍。如何跨越这两个障碍呢? 这时,密码学家伦纳德·阿德曼(RSA中的"A")等人引入的天才手法 “二次剩余特征(Quadratic Characters)” 发挥了作用。
为了判断“某个元素在代数数域中是否完全是平方?”,我们使用了勒让德符号(二次剩余)的代数数域版本。 在之前的巨大矩阵(为了让素理想个数变为偶数而拼凑的矩阵)中,悄悄增加几十个额外的条件(列),要求“对于几个特定的素理想 $\mathfrak{q}$,其二次剩余特征也都必须为 $1$(偶数)”。
当通过矩阵计算找到连这些附加条件也能满足的集合 $S$ 时,代数数论的深层定理保证了:“理想类群的障碍和单位群的障碍,都将以压倒性的概率自然消灭”。
由此,我们终于得到了真正的等式:
$$\prod_{S} (a - b\alpha) = \gamma^2$$最终阶段:世界的融合与密码的崩溃
至此,拼图的所有碎片都已集齐。
【代数数域世界(世界A)的元素】 $\gamma^2 = \prod (a - b\alpha)$ (使用平方根算法求出 $\gamma$)
【现实世界(有理数世界)的元素】 $V^2 = \prod (a - bm)$ (这里只是简单的整数乘法,可以直接求出平方根 $V$)
现在,最开始建造的魔法桥梁——同态映射 $\phi$ 终于要登场了。 将世界A的元素 $\gamma$,通过 $\phi$(将 $\alpha$ 替换为 $m$ 的映射),跃迁到世界B(模 $N$ 余数的世界)。
$$Y = \phi(\gamma) \pmod N$$另一方面,将现实世界中求出的 $V$,直接带入余数世界作为 $X$。
$$X = V \pmod N$$得益于同态映射“保持结构”的性质,在世界A中成立的平方关系,在世界B(模 $N$ 的世界)中也得到了完美的保存。 此外,由于最初的配对 $(a, b)$ 是以 $a - b\alpha$ 和 $a - bm$ 的形式对应生成的,这个 $X$ 和 $Y$ 将在模 $N$ 的世界中发生碰撞,产生以下绝对的等式:
$$X^2 \equiv Y^2 \pmod N$$
接下来,只需祈祷这个 $X$ 和 $Y$ 不是平凡解($X \equiv \pm Y$),然后计算: $\gcd(X - Y, N)$
如果是非平凡解,欧几里得辗转相除法将在 0.001 秒内跑完,RSA密码的心脏——秘密质数 $p$ 和 $q$ ——将被打印在输出屏幕上。
这就是汇集了现代数学精华的 “一般数域筛法(GNFS)”的完整面貌。
