COMP3357 tutorial: 中国剩余定理 (Chinese Remainder Theorem) 与整数模 p 乘法群
中国剩余定理 Chinese Remainder Theorem (CRT)
Definition
Points to Note:
- 方程组的模数 是两两互质 (pairwise coprime) 的
- 该方程组的解 在模 意义下是唯一的 (也就是说,所有的解 模 等价)
- 该方程组的解是 ,其中 ,
Proof
CRT 是正确的,我们需要证明
-
解的存在性 (existence)
对于方程组:
,我们令 ( 为除 外所有模数的积)
令 为 模 下的逆元,即
我们能够构造解 : 因此,任意解- 解的正确性
对于方程组中的第 个方程
对于所有 的项 ,,所以 一定包含 (即 ),因此
而 since
- 解的正确性
-
解的唯一性 (uniqueness)
若 均为方程组的解,那么 ,都有 ,
因此 , 或是说
因为 are pairwise coprime, , i.e.,
所以 模 同余,方程在模 意义下有唯一解
Application
-
简化 的计算
对于 prime , 能够用 Fermat's little Theorem 或者 Euler's Theorem 来化简
对于 composite ,但 的情况,Euler's Theorem 仍然适用
而对于 composite 但 的情况,就需要借助 CRT 进行简化
-
Accelerate RSA Decryption
关于整数模 乘法群 的研究
循环群的定义
有生成元 generator 的群就是循环群
是一个循环群
for some prime 是一个经典的循环群,下面我们将对其进行证明
-
我们先证明,对于任何 ,都有
且 是 smallest positive integer s.t. ,所以一定有
所以 -
欧拉函数性质
这个结论好熟悉!就是之前学过的迪利克雷卷积 的展开形式
证明有点靠直觉: 我们将所有以 为分母的分式写出来 并化简成最简形式 (Simplified forms)
写成化简形式后,这些分式的分母 (即所有的分母一定都是 的 divisor)
对于一个分母为 的分式,其分子有 种 (分子与分母必须互质,否则还可以继续化简)
所以,,其都占有 中的 个分式
那么 -
Proof (incomplete)
我们定义函数 为 中,阶为 的元素的个数
由 我们知道,所有元素的阶一定是 的 divisor
所以有:
又根据 有
因此
我们得到当 为质数时,
(这里的结论得出是不完整的,我们还需要通过 Lagrange's Theorem 证明 后得出 ,但该证明比较复杂,故直接取这个符合直觉的结论) -
生成元的个数
有了 这一关系后,我们可以求出 中阶为 的元素个数
那么根据生成元的定义 (阶为 的元素),我们可以得到 有 个生成元
从而证明若 , 是一个循环群
原根与整数模 乘法群
-
原根 (primitive root)
对于整数模 乘法群 ( is prime) ,我们已经证明其一定是循环群
那么,对于这一类群,我们将其的生成元 (generator) 又称作原根 (primitive root): 质数 的原根,即群 的生成元
目前没有求原根的一般方法 (general methods),但是在所有 个元素中有 个原根,使用随机化算法也能够 efficiently 得到原根 -
其他整数模 乘法群
当 不是质数时,需要满足什么条件能够使得 是循环群?
答案: (), , , ( 是一个奇质数, 是一个正整数)
二次剩余 Quadratic Residue
这里简单的对二次剩余做一点总结,虽然在这堂课里着墨不多,但是在数论领域还是一个很经典的问题
二次剩余问题
一个数 ,如果不是 的倍数且模 同余于某个数的平方,则称 为模 的 二次剩余 (quadratic residue)。
而一个数 ,如果不是 的倍数且模 不同于任何数的平方,则称 为模 的 二次非剩余 (quadratic nonresidue)
对二次剩余求解,即对常数 解方程:
通俗来讲,即是进行 模意义下的开平方运算 (find e-th root modulo 的特殊情况: )
在研究二次剩余问题时,模数 一般是奇质数
Legendre 符号
引入勒让德符号 ,标记 是否是模 的二次剩余
Euler 判别准则
对于奇素数 与 有
欧拉判别准则指出,我们可以直接通过计算 计算 模 的勒让德符号
这里是证明 (from OI wiki),很简明易懂
Tutorial questions
Hastad 广播攻击 (Håstad's broadcast attack)
首先看到三个方程,不同模数就联想到 CRT: 列出方程组
但是,CRT 的应用条件是模数两两互质。讨论
- for some :
这种情况下,我们能够成功的找到 与 的 factorization
若 , 则
得到 后,解密 就十分简单了 - for all :
这种情况下,我们直接进行 CRT 求解
由于在 Plain RSA 中, for all ,所以
我们只需要进行整数开根 即可 recover
DDH Assumption fails when using
若 是 的生成元,,则一定存在 使
的奇偶性 (parity) 可以通过计算 是否是模 的二次剩余来确定、
- is even, 则 , ,因此 是模 的二次剩余
- is odd, 则 , , 因此 是模 的二次非剩余
这一结论可以用于攻破使用 的 DDH 问题
给出 , 当 是模 的二次剩余时,敌手 输出 ,否则输出
- ,由于 都是随机的,因此 的奇偶可能性为
于是有 - for some uniform ,因此 的奇偶可能性为
于是有
这样 ,而这个概率是 non-negligible 的
所以 DDH Assumption fails when using ,自然,使用 的任何 Diffie-Hellman 密钥交换协议与 El Gamel 加密都是不安全的
一些常用的能保证 DDH Assumption 的群:
本文中所有引用来自 OI wiki 与 TA Zhang Chengru 的 PPT Slide
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现