Featured image of post 一般数域筛法(GNFS)的真正数学结构

一般数域筛法(GNFS)的真正数学结构

一般数域筛法(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)$,同时计算以下两个值,并只收集那些两个值都是“平滑数”的配对。

  1. 有理筛(Rational Sieve): $a - bm$ (现实世界的值)
  2. 代数筛(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)”的完整面貌

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计