数论研究整数的性质(整除、余数、素数),曾被认为是「最无用的数学」( Hardy 的傲慢),直到 1977 年 RSA 问世:你每天打开的 HTTPS,钥匙就是本章的每一条定理。这是全课程「变现」最直接的一章:整除 → 模运算 → 欧几里得 → 费马 → RSA,一条直线通到互联网的地基。
整除:a | b 表示存在整数 k 使 b = ka。核心事实:带余除法:任意整数 a = qn + r(0 ≤ r < n,q 商 r 余),余数 r = a mod n 是唯一确定的(第 1 章同余关系的操作基础)。
最大公约数 gcd(a, b):同时整除两者的最大正整数。欧几里得算法(2300 年前的算法,仍在服役):
gcd(a, b) = gcd(b, a mod b),gcd(a, 0) = a
gcd(48, 18):48 = 2×18 + 12 → gcd(18, 12) = gcd(12, 6) = gcd(6, 0) = 6
正确性:48 与 18 的公约数集合 = 18 与 12 的公约数集合(余数 = a − qb,能整除 a、b 的必能整除余数,反之亦然)。复杂度 O(log min(a,b))(斐波那契相邻项是最坏情况,拉美,数据结构课第 1 章)。扩展欧几里得:顺路算出 x、y 使 ax + by = gcd(a,b)——「最大公约数能表示成两数的整系数组合」(Bézout 定理),它是求模逆元的钥匙(9.3)。
同余:a ≡ b (mod n) ⟺ n | (a − b) ⟺ a、b 除以 n 余数相同。同余的加法和乘法可以放心「先算再取余」或「先取余再算」(第 1 章验证过的等价关系 + 运算封闭):
这就是「时钟算术」,也是所有大数运算的降维术:计算 3¹⁰⁰⁰ mod 7 不需要真的算 3¹⁰⁰⁰,一路取余(甚至反复平方,把 1000 次乘法压到 log 次,数据结构课第 1 章 O(log n) 的又一次现身)。
模逆元:b 的模 n 逆元 b⁻¹ 满足 b·b⁻¹ ≡ 1 (mod n)。存在条件:gcd(b, n) = 1(互素)。求法:扩展欧几里得解 bx + ny = 1,则 x ≡ b⁻¹ (mod n)。例:5 的 mod 7 逆元是 3(5×3 = 15 ≡ 1)。除法在模运算里 = 乘逆元,这一步把「整数算术」升级成「域」(第 8 章:加减乘除俱全的代数结构),椭圆曲线密码、纠错码全在这片地基上。
费马小定理:p 素数且 p ∤ a,则 a^(p−1) ≡ 1 (mod p)。第 8 章的证明一句话:模 p 乘法群 {1..p−1} 是 p−1 阶群,a 的倍数 1a, 2a, …, (p−1)a 是全群的重新排列,乘起来 ≡ (p−1)! ≡ 双方同乘 a⁻¹ 即得。群论的复利在此兑现。
欧拉定理(推广到合数):a 与 n 互素,则 a^φ(n) ≡ 1 (mod n),其中欧拉函数 φ(n) = 1..n 中与 n 互素的个数。φ 的计算(第 5 章容斥的成果):φ(p) = p − 1(素数);φ(pq) = (p−1)(q−1)( pq 的互素 = 「不是 p 的倍数」且「不是 q 的倍数」,容斥: pq − q − p + 1)。n = 15:φ(15) = 8(1, 2, 4, 7, 8, 11, 13, 14)。欧拉定理是 RSA 解密的直接依据。
RSA(Rivest-Shamir-Adleman, 1977)的完整流程,每一步挂上本章的定理:
① 选两个大素数 p、q(比如各 1024 位) ← 素性测试(Miller-Rabin,概率算法)
② n = pq,φ(n) = (p−1)(q−1) ← 欧拉函数
③ 选 e 与 φ(n) 互素(常取 65537) ← 公钥的一部分
④ 求 d ≡ e⁻¹ (mod φ(n)) ← 扩展欧几里得(9.2)
⑤ 公钥 (n, e) 公布,私钥 d 保密
⑥ 加密:c = mᵉ mod n ← m 是消息的数字编码
⑦ 解密:m = cᵈ mod n
为什么解密能还原?cᵈ = m^(ed),而 ed ≡ 1 (mod φ(n)) 意味着 ed = kφ(n) + 1,由欧拉定理 m^(kφ(n)+1) = (m^φ(n))^k · m ≡ 1^k · m = m (mod n)。∎ 一行定理证明,全世界 HTTPS 的合法性。
安全性依赖:已知 n = pq 求 φ(n) = (p−1)(q−1) 需要分解 n;大数分解没有已知多项式算法(当前纪录是几百位十进制数,1024 位 RSA 已淘汰,2048 位是现行底线)。「乘法容易、分解难」的不对称性 = 公钥密码的存在前提。同族算法:Diffie-Hellman(离散对数难)、ECC(椭圆曲线上的离散对数,密钥更短)。三者在量子计算(Shor 算法)面前集体脆弱,后量子密码(NTRU、格密码)正在接班——这条战线至今活跃。
素数是数论的「原子」。三个事实: