一般数域筛法(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\),使得“将它们相乘后,所有素理想的指数均为偶数”。
第四阶段:两道“障碍”的阻挡与理想类群
\[\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\)。 你可能会想:“太好了,元素也是平方了!”,但这大错特错。
\[\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\))
\[Y = \phi(\gamma) \pmod N\]\[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)”的完整面貌 。
