相关笔记: 4.3 素数与最大公约数 | 4.5 同余的应用
概览
本节系统介绍了线性同余方程的求解方法,以及同余理论中若干核心定理与应用。主要内容包括:
- 线性同余方程 的求解方法:通过模逆元将方程转化为
- 模逆元的存在条件: 时逆元存在且在模 下唯一(Theorem 1)
- 利用扩展欧几里得算法求模逆元的具体步骤
- 中国剩余定理(CRT):当模数两两互素时,线性同余方程组有唯一解(Theorem 2)
- CRT 的两种求解方法:构造法与回代法
- CRT 在大整数算术中的应用:利用模数分解实现并行计算
- 费马小定理:若 为素数且 ,则 (Theorem 3)
- 伪素数与Carmichael 数的概念
- 原根与离散对数的定义,以及离散对数问题的计算困难性
一、知识结构总览
graph TB A["4.4 解同余方程 Solving Congruences"] --> B["线性同余方程"] A --> C["模逆元"] A --> D["中国剩余定理 CRT"] A --> E["大整数算术"] A --> F["费马小定理"] A --> G["伪素数与 Carmichael 数"] A --> H["原根与离散对数"] B --> B1["ax ≡ b (mod m)"] B --> B2["利用逆元求解"] C --> C1["存在条件:gcd(a,m)=1"] C --> C2["唯一性(模 m 下)"] C --> C3["扩展欧几里得算法求解"] D --> D1["模数两两互素"] D --> D2["构造法求解"] D --> D3["回代法求解"] D --> D4["唯一解模 m₁m₂⋯mₙ"] E --> E1["整数的大元组表示"] E --> E2["分量并行运算"] E --> E3["CRT 恢复结果"] F --> F1["a^(p-1) ≡ 1 (mod p)"] F --> F2["a^p ≡ a (mod p)"] F --> F3["大幂模 p 的快速计算"] G --> G1["伪素数定义"] G --> G2["Carmichael 数"] G --> G3["概率素性测试"] H --> H1["原根定义"] H --> H2["离散对数定义"] H --> H3["离散对数问题 DLP"]
二、核心思想
核心思想
本节的核心思想是同余方程的求解与模运算中的逆元理论。线性同余方程 的求解关键在于找到 的模逆元 ,使得 。逆元存在的充要条件是 ,其本质是 Bézout 定理的直接应用。当需要同时满足多个同余条件时,中国剩余定理提供了系统化的求解框架,其核心构造思想是利用逆元将各方程的贡献”叠加”起来。此外,费马小定理揭示了素数模下幂运算的周期性规律,为高效计算大幂模素数提供了理论基础。
1. 线性同余方程与模逆元
线性同余方程(Linear Congruence)
形如
的方程称为线性同余方程,其中 为正整数,、 为整数, 为未知量。
求解的关键是找到 的模逆元。
模逆元(Modular Inverse)
若整数 满足
则称 为 的==模 的逆元==。
逆元存在与唯一性定理(Theorem 1)
若 且 ,则 的模 逆元存在,且在模 下唯一。
证明:由 Bézout 定理(Section 4.3 Theorem 6),因为 ,存在整数 和 使得
两边取模 :
因为 ,所以 。
因此 是 的模 逆元。唯一性的证明留作练习(Exercise 7)。
例1:求 3 模 7 的逆元
因为 ,逆元存在。用欧几里得算法:
反向表示:
因此 是 3 模 7 的逆元。等价地,,所以 也是逆元。
验证:。 ✓
例2:求 101 模 4620 的逆元
用欧几里得算法计算 :
因为最后非零余数为 1,。反向代入:
因此 是 模 的逆元。
例3:求解
由例1, 是 3 模 7 的逆元。两边乘以 :
验证:。 ✓
解集为 ,即
2. 中国剩余定理
中国剩余定理(Theorem 2, Chinese Remainder Theorem)
设 为两两互素的正整数(), 为任意整数。则同余方程组
在模 下有唯一解。
证明(构造法):令 (即除 外所有模数的乘积)。因为 ,由 Theorem 1,存在 模 的逆元 ,使得 。
构造解:
验证:对每个 ,当 时 ,因此
故 同时满足所有 个同余方程。唯一性的证明见 Exercise 30。
例4:孙子问题(Sun-Tsu's Puzzle)
“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”
转化为同余方程组:
构造法求解:
- ,求 ,即 ,
- ,求 ,即 ,
- ,求 ,即 ,
最小正整数解为 。
例6:回代法求解
求解 ,,。
由第一个方程:。代入第二个方程:
令 ,则 。代入第三个方程:
令 ,则 。
因此 。
3. 大整数算术中的应用
CRT 在大整数算术中的应用
设 两两互素,。则每个满足 的整数 可以被其余数向量唯一表示:
算术运算可以分量并行执行,最后通过 CRT 恢复结果。
例8:利用 CRT 做大整数加法
选取模数 (两两互素),。
- 表示为
- 表示为
加法:
取模:
通过 CRT 恢复得 ,即 。 ✓
4. 费马小定理
费马小定理(Theorem 3, Fermat's Little Theorem)
若 为素数且 ,则
进一步,对任意整数 :
证明思路(Exercise 19): (a) 若 ,则 这 个数在模 下互不相同(且均非零),因此它们是 的一个排列。
(b) 因此 ,即 。
(c) 因为 ,由消去律得 。
例9:利用费马小定理计算
由费马小定理,。
将指数分解:。
因此 。
费马小定理的应用要点
计算大幂 ( 为素数,)时:
- 用除法算法将 表示为 ,其中
- 则
- 只需计算 ,大幅降低计算量
5. 伪素数与 Carmichael 数
伪素数(Pseudoprime, Definition 1)
设 为正整数。若 是合数,且满足
则称 为==以 为基的伪素数==。
例10:341 是以 2 为基的伪素数
是合数,但可以验证 。
Carmichael 数(Definition 2)
若合数 满足:对所有满足 的正整数 ,都有
则称 为Carmichael 数。
例11:561 是 Carmichael 数
是合数。若 ,则 。
由费马小定理:,,。
因为 :
由 CRT 得 。因此 是 Carmichael 数。
6. 原根与离散对数
原根(Primitive Root, Definition 3)
若 ( 为素数),且 中每个非零元素都是 的某个幂次(模 ),则称 为==模 的原根==。
重要事实:每个素数 都存在原根。
例12:判断 2 和 3 是否为模 11 的原根
计算 2 的各次幂模 11:
遍历了 的所有元素,因此 是模 的原根。 ✓
计算 3 的各次幂模 11:
只产生了 5 个不同的值,未遍历所有非零元素,因此 不是模 的原根。 ✗
离散对数(Discrete Logarithm, Definition 4)
设 为素数, 是模 的原根,。若
则称 为 模 以 为底的离散对数,记作 。
例13:求离散对数
由例12,,。
因此 ,(模 11 下)。
离散对数问题的计算困难性
离散对数问题(DLP):已知素数 、原根 和 ,求 使得 。
目前没有已知的多项式时间算法可以求解一般情况下的离散对数问题。这一计算困难性是许多密码系统(如 Diffie-Hellman 密钥交换)安全性的基础。
三、补充理解与易混淆点
补充理解
补充1:中国剩余定理的历史渊源与数学意义
中国剩余定理的最早形式可追溯至中国南北朝时期的数学著作《孙子算经》(约公元 3-5 世纪),其中记载了著名的”物不知数”问题。该问题在 1247 年由南宋数学家秦九韶在《数书九章》中给出了系统化的解法,称为”大衍求一术”。在西方,该定理由欧拉(Euler)于 18 世纪重新发现并给出严格证明。CRT 不仅是数论中的重要定理,在抽象代数中也有深刻推广:它是环论中中国剩余定理(环论版本)的特殊情形,即当理想 两两互素时,。在现代计算机科学中,CRT 被广泛应用于大整数运算加速、秘密共享方案(Shamir’s Secret Sharing)以及 RSA 解密优化等领域。
- Chinese Remainder Theorem - Wikipedia — CRT 的历史与推广
- CRT Interactive Demo — CRT 交互式演示
来源:Sun Zi (孙子). Sunzi Suanjing (孙子算经), Chapter 3, Problem 26 (circa 3rd–5th century AD). 来源:Rosen, K. H. (2019). Discrete Mathematics and Its Applications (8th ed.), McGraw-Hill, Section 4.4.
补充2:费马小定理与 Euler 定理的关系
费马小定理是更一般的Euler 定理的特殊情形。Euler 定理指出:若 ,则 ,其中 是 Euler 函数(小于 且与 互素的正整数个数)。当 为素数时,,Euler 定理退化为费马小定理。Euler 定理在 RSA 密码系统的正确性证明中扮演核心角色(见 4.6 密码学)。此外,费马小定理也是概率素性测试(如 Miller-Rabin 测试)的理论基础:通过检验 是否成立,可以高效地判断一个大数是否”很可能”是素数。
- Euler’s Totient Function - Wikipedia — Euler 函数详解
- Miller-Rabin Primality Test - Wikipedia — Miller-Rabin 素性测试
来源:Euler, L. (1763). “Theoremata arithmetica nova methodo demonstrata.” Novi Commentarii Academiae Scientiarum Imperialis Petropolitanae, 8, 74–104. 来源:Hardy, G. H. & Wright, E. M. (2008). An Introduction to the Theory of Numbers (6th ed.), Oxford University Press, Theorem 72 & 91.
易混淆点
误区1:混淆"模逆元"与"普通倒数"
- ❌ 认为 的模 逆元就是 (普通除法意义下的倒数)
- ✅ 模逆元是在模 意义下定义的: 满足
- ❌ 认为任何整数都有模逆元
- ✅ 模逆元存在的充要条件是 。例如, 模 没有逆元,因为
- ⚠️ 当 时, 可能无解或有多个解(取决于 是否成立)
误区2:中国剩余定理要求模数两两互素
- ❌ 认为任意同余方程组都可以直接用 CRT 求解
- ✅ CRT 的前提条件是模数 两两互素
- ❌ 当模数不互素时,直接套用 CRT 构造公式会得到错误结果
- ✅ 当模数不互素时,需要先判断方程组是否有解(检查一致性条件),再用逐步合并的方法求解
- ⚠️ 例如, 和 的模数 ,不能直接用 CRT
四、习题精选
习题概览
题号范围 核心考点 难度 1-4 验证模逆元 / 观察法求逆元 ⭐ 5-6 扩展欧几里得算法求逆元 ⭐⭐ 7-8 逆元唯一性证明 / 逆元不存在条件 ⭐⭐ 9-12 利用逆元求解线性同余方程 ⭐⭐ 13-14 二次同余方程(因式分解法) ⭐⭐⭐ 20-24 CRT 构造法 / 回代法求解方程组 ⭐⭐⭐ 26-27 模数不互素时的方程组 ⭐⭐⭐ 33-39 费马小定理计算大幂 + CRT 联合应用 ⭐⭐⭐ 40-43 费马小定理证明 Mersenne 数性质 ⭐⭐⭐ 44-49 Miller 测试、Carmichael 数判定 ⭐⭐⭐⭐ 54-57 原根判定与离散对数计算 ⭐⭐⭐
题1:验证模逆元
题目
证明 是 模 的逆元。
解答
需要验证 。
因此 ,即 。 ✓
解题思路提示
验证逆元只需计算乘积并取模,确认结果为 1 即可。
题2:利用扩展欧几里得算法求逆元
题目
求 模 的逆元。
解答
因为 ,逆元存在。用欧几里得算法:
反向表示:,因此 是 模 的逆元。
,所以逆元为 。
验证:。 ✓
解题思路提示
用欧几里得算法求 ,然后反向代入将 1 表示为 和 的线性组合, 的系数即为逆元。
题3:利用逆元求解线性同余方程
题目
求解 。
解答
由题2, 模 的逆元为 。两边乘以 :
验证:。 ✓
解集为 。
解题思路提示
求解 的步骤:(1) 确认 ;(2) 求 的模 逆元 ;(3) 。
题4:利用费马小定理计算大幂
题目
利用费马小定理求 。
解答
由费马小定理,。
将指数分解:。
因此 。
解题思路提示
费马小定理计算大幂的步骤:(1) 确认模数 为素数且 ;(2) 将指数 除以 得 ;(3) 。
题5:中国剩余定理求解方程组
题目
用中国剩余定理的构造法求解方程组:
解答
。
- ,求 ,即 ,
- ,求 ,即 ,
- ,求 ,即 ,
验证:
- ✓
- ✓
- ✓
解题思路提示
CRT 构造法求解步骤:(1) 计算 ;(2) 对每个 ,计算 ;(3) 求 模 的逆元 ;(4) 计算 ;(5) 取 得最小非负解。
五、视频学习指南
视频资源
六、教材原文
教材原文
“Solving linear congruences, which have the form , is an essential task in the study of number theory and its applications, just as solving linear equations plays an important role in calculus and linear algebra.”
“The Chinese remainder theorem, named after the Chinese heritage of problems involving systems of linear congruences, states that when the moduli of a system of linear congruences are pairwise relatively prime, there is a unique solution of the system modulo the product of the moduli.”
“If is prime and is an integer not divisible by , then . Furthermore, for every integer we have .”
“Finding discrete logarithms turns out to be an extremely difficult problem in general. The difficulty of this problem is the basis for the security of many cryptographic systems.”