MathLabs

6 年级

质数

构成每个自然数、不可再分的基本单元——数学中历史最悠久的谜题的起点。

直观构成数字的基本部件

每个大于 1 的自然数,要么本身是质数,要么由更小的质数相乘构成——就像每个分子都由原子构成一样。认识了这些“原子”,就能明白每个“分子”是如何组成的。

定义: 质数与合数

质数是大于 1 的自然数,且只有 1 和它本身两个正因数。大于 1 但不是质数的自然数称为合数——它至少还有一个既不是 1 也不是自身的因数。数字 1 既不是质数也不是合数,因为它只有一个正因数。

最前面的一些质数是 2,3,5,7,11,13,17,19,23,…2, 3, 5, 7, 11, 13, 17, 19, 23, \ldots 注意 22 是唯一的偶质数——其他偶数都能被 2 整除,因此除了 1 和自身外还多一个因数。

中学快速整除判别法

小数的整除判别法
除数判别法例
2末位是偶数(0、2、4、6、8)128128 末位是 88
3各位数字之和能被3整除123123: 1+2+3=61+2+3=6
5末位是0或5275275 末位是 55
9各位数字之和能被9整除738738: 7+3+8=187+3+8=18

中学埃拉托斯特尼筛法

要找出小于等于某个数 NN 的所有质数,先写下 2,3,4,…,N2, 3, 4, \ldots, N。先划去 22 的所有倍数(保留 22 本身),再划去 33 的所有倍数(保留 33 本身),依此类推。每当遇到一个还没被划掉的数,它就是质数——把它的倍数也划掉。筛完之后剩下的,正是不超过 NN 的全部质数。

例题: 筛到30

用筛法列出 2 到 30 之间的所有质数。

解答

第一步(筛去 2、3、5 的倍数): 写出 2 到 30 的全部整数。先划去大于 2 的 2 的倍数(4、6、8、…、30),再划去尚未被划掉的 3 的倍数(9、15、21、27),最后划去尚未被划掉的 5 的倍数(25)。

第二步(停止条件与剩余质数): 大于 30≈5.5\sqrt{30}\approx5.5 的质数无需再划去其倍数,因为任何合数 ≤30\le30 都必有一个质因数 ≤5\le5。留下的 10 个数就是 30 以内的全部质数:2,3,5,7,11,13,17,19,23,292,3,5,7,11,13,17,19,23,29。

中学质因数分解

每个合数都能分解成若干质数的乘积。不断用能整除它的最小质数去除,直到只剩下质数为止。

60=2×30=2×2×15=2×2×3×5=22⋅3⋅560 = 2 \times 30 = 2 \times 2 \times 15 = 2 \times 2 \times 3 \times 5 = 2^2 \cdot 3 \cdot 5
n=p1a1p2a2⋯pkak,d(n)=(a1+1)(a2+1)⋯(ak+1)n = p_1^{a_1} p_2^{a_2} \cdots p_k^{a_k}, \qquad d(n) = (a_1 + 1)(a_2 + 1)\cdots(a_k + 1)
展示质因数分解树与因数整除关系的交互式网络图。
1..601..60 网格上的素数(绿)与合数(红):≤60\le 60 的每个合数都必有 ≤60<8\le \sqrt{60} < 8 的素因子。

每个大于 1 的自然数都能写成质数的乘积,且这种写法在不计因数顺序的情况下是唯一的——例如 60=22⋅3⋅560 = 2^2\cdot3\cdot5,不存在别的分解方式。

为什么成立?

这正是质数被称为算术“原子”的原因:每个数都只有唯一一种构造配方,因此只要知道质数及其指数,就能知道这个数所有因数的信息。

证明

存在性(最小反例法): 假设存在不能写成质数乘积的整数 n>1n > 1,并设 m>1m > 1 是其中最小的一个。由于每个质数本身就是一个质数的乘积,故 mm 必为合数,可写为满足 1<a,b<m1 < a, b < m 的整数之积 m=abm = a b。由 mm 的最小性知 aa 与 bb 都是质数的乘积,从而它们的乘积 m=abm = a b 也是质数的乘积,矛盾。

欧几里得引理: 设质数 pp 满足 p∣abp \mid a b 且 p∤ap \nmid a。因 pp 为质数且 p∤ap \nmid a,故 gcd⁡(p,a)=1\gcd(p, a) = 1。由裴蜀定理,存在整数 x,yx, y 使得 px+ay=1p x + a y = 1。两边同乘 bb 得 p(bx)+(ab)y=bp(b x) + (a b)y = b;由于 pp 同时整除 p(bx)p(b x) 与 aba b,故 pp 必整除右边,即 p∣bp \mid b。

唯一性: 反证假设存在具有两种不同质因数分解的整数,取其中最小者 n=p1p2⋯pr=q1q2⋯qsn = p_1 p_2 \cdots p_r = q_1 q_2 \cdots q_s(按 p1≤⋯≤prp_1 \le \cdots \le p_r 与 q1≤⋯≤qsq_1 \le \cdots \le q_s 排列)。由 p1∣q1q2⋯qsp_1 \mid q_1 q_2 \cdots q_s 并反复应用欧几里得引理可知,p1p_1 必整除某个质数 qjq_j,从而 p1=qj≥q1p_1 = q_j \ge q_1。由对称性又有 q1≥p1q_1 \ge p_1,故 p1=q1p_1 = q_1。两边约去 p1p_1 后得到更小的整数 n/p1<nn / p_1 < n 仍具有两种不同分解,这与 nn 的最小性矛盾。

中学质数有无穷多个吗?

不存在最大的质数——质数的清单永远不会结束。

为什么成立?

欧几里得的论证(约公元前300年):假设质数只有有限个 p1,p2,…,pkp_1, p_2, \ldots, p_k。把它们全部相乘再加 1:N=p1p2⋯pk+1N = p_1 p_2 \cdots p_k + 1。NN 除以任意 pip_i 都余 1,所以没有一个 pip_i 能整除 NN。但根据算术基本定理,NN 必定有某个质因数——而这个质因数不在原来的清单上。因此这份清单从来就不完整。

证明

第一步(构造欧几里得数): 设 {p1,p2,…,pk}\{p_1, p_2, \dots, p_k\} 是任意给定的有限个质数集合。将列表中所有质数相乘再加 11,构造整数 N=p1p2⋯pk+1N = p_1 p_2 \cdots p_k + 1。由 p1≥2p_1 \ge 2 可知 N≥2+1=3>1N \ge 2 + 1 = 3 > 1。

第二步(质因数的存在性): 根据算术基本定理,每个整数 N>1N > 1 至少有一个质因数 qq,即 q∣Nq \mid N(若 NN 本身为质数则 q=Nq = N,若 NN 为合数则 q<Nq < N)。

**第三步(证明 qq 是新质数):** 反证假设对某个下标 ii 有 q=piq = p_i。于是 q∣p1p2⋯pkq \mid p_1 p_2 \cdots p_k,又因 q∣Nq \mid N,故质数 qq 必整除两者的差 q∣(N−p1p2⋯pk)=1q \mid (N - p_1 p_2 \cdots p_k) = 1。但任何质数都满足 q≥2q \ge 2,这不可能成立。因此 q∉{p1,p2,…,pk}q \notin \{p_1, p_2, \dots, p_k\},证明了任何有限列表都无法囊括全部质数。

随着数字增大,质数会越来越稀疏——但欧几里得的论证保证它们永远不会枯竭。它们究竟稀疏到什么程度、分布得多么均匀,正是素数定理研究的内容;再往深处走,则通向当今数学中最深刻的未解之谜之一。

大学实际应用:公钥密码学(RSA加密)

现代互联网安全(HTTPS、数字签名、网上银行)建立在数论中一个显著的不对称性之上:将两个大质数 pp 与 qq 相乘得到 N=pqN = p q 只需几毫秒,而当每个质数长达 300+300+ 位时,将 N=pqN = p q 反向分解回 pp 和 qq 在计算上是不可行的。在 RSA 公钥密码体制(Rivest–Shamir–Adleman,1977年)中,模数 N=pqN = p q 与加密指数 ee 公开发布,而满足 ed≡1(modφ(N))e d \equiv 1 \pmod{\varphi(N)} 的解密私钥 dd 则必须知道秘密质因数才能算出欧拉函数 φ(N)=(p−1)(q−1)\varphi(N) = (p-1)(q-1)。任何人都能将明文 MM 加密为 C≡Me(modN)C \equiv M^e \pmod{N},但只有掌握 dd 的人才能通过 M≡Cd(modN)M \equiv C^d \pmod{N} 还原明文。

例题: 用质数 p = 5, q = 11 进行小型 RSA 密钥生成与加密

使用质数 p=5p = 5 和 q=11q = 11 以及公钥指数 e=3e = 3,计算 RSA 模数 NN、欧拉函数 φ(N)\varphi(N)、解密私钥 dd,以及明文 M=7M = 7 对应的密文 CC。

解答

第一步(计算模数与欧拉函数): 将两个秘密质数相乘得到公开模数 N=pq=5×11=55N = p q = 5 \times 11 = 55,并计算欧拉函数 φ(55)=(5−1)(11−1)=4×10=40\varphi(55) = (5-1)(11-1) = 4 \times 10 = 40。

第二步(求私钥与加密): 解同余方程 3d≡1(mod40)3 d \equiv 1 \pmod{40} 求 dd;检验 4040 的倍数加 11,由 3×27=81=2×40+1≡1(mod40)3 \times 27 = 81 = 2 \times 40 + 1 \equiv 1 \pmod{40} 可得 d=27d = 27。使用公钥 (N,e)=(55,3)(N, e) = (55, 3) 对明文 M=7M = 7 加密,得到密文 C≡73=343=6×55+13≡13(mod55)C \equiv 7^3 = 343 = 6 \times 55 + 13 \equiv 13 \pmod{55}。

下列哪个数是质数?

为什么 2 是唯一的偶质数?

84 的质因数分解是什么?

在欧几里得的证明中,假设 p1,…,pkp_1,\ldots,p_k 是所有质数。令 N=p1p2⋯pk+1N=p_1p_2\cdots p_k+1。关于 NN,我们知道什么?

参考文献

  1. David M. Burton (2010). Elementary Number Theory
  2. John H. Conway, Richard K. Guy (1996). The Book of Numbers · DOI:10.1007/978-1-4612-4072-3