第2章 同余 -《信息安全数学基础》
一、同余的概念及基本性质
1、同余的概念
定义1.1:
给定一个正整数 m 。两个整数 a,b 叫做模m同余,如果 a - b 被 m 整除,或 m | a - b,记作a ≡ b(mod m)。否则叫做模 m 不同余,记作 a ≠ b(mod m)(此处为三横)。
2、同余的判断
定理1.1:
设 m 是一个正整数,设 a,b 是两个整数,则 a ≡ b(mod m)的充要条件是存在一个整数q使得 a = b + q · m。
定理1.2:
设 m 是一个正整数,则模 m 同余是等价关系,即
- (自反性)对任一整数a,有a ≡ a(mod m);
- (对称性)若a ≡ b(mod m),则b ≡ a(mod m);
- (传递性)若a ≡ b(mod m),b ≡ c(mod m),则a ≡ c(mod m)。
定理1.3:
设m是一个正整数,则整数a,b模m同余的充分必要条件是a,b被m除的余数相同。
定理1.4:
设m是一个正整数,设a1,a2,b1,b2是4个整数。如果a1 ≡ b1(mod m),a2 ≡ b2(mod m),则
- a1 + a2 ≡ b1 + b2(mod m);
- a1 · a2 ≡ b1 · b2(mod m)。
定理1.5:
若x ≡ y(mod m),ai ≡ bi(mod m),0 ≤ i ≤ k,则a0 + a1x + ··· + akxk ≡ b0 + b1y + ··· + bkyk(mod m)。
定理1.6:
设整数n有十进制表示式n = ak10k + ak-110k-1 + ··· + a110 + a0,0 ≤ ai<10.则
- 3 | n的充分必要条件是3 | ak + ·· ·+ a0;
- 9 | n的充分必要条件是9 | ak + ··· + a0。
定理1.7:
设整数n有一千进制表示式:n = ak1000k + ··· + a11000 + a0,0 ≤ ai ≤ 1000。
则7(或11,或13)整除n的充分必要条件是7(或11,或13)能整除整数(a0 + a2 + ··· )-(a1 + a3 + ···)。
3、同余的性质
定理1.8:
设m是一个正整数,设d · a ≡ d · b(mod m)。如果(d,m)= 1,则a ≡ b(mod m)。
定理1.9:
设m是一个正整数,设a ≡ b(mod m),d >0,则d · a ≡ d · b(mod m)。
定理1.10:
设m是一个正整数,是a ≡ b(mod m)。如果整数d | (a,b,m),则a/d ≡ b/d(mod m/d)。
定理1.11:
设m是一个正整数,设a ≡ b(mod m)。如果d | m,则a ≡ b(mod d)。
定理1.12:
设m1,···,mk是k个正整数,设a ≡ b(mod mi),i = 1,···,k,则a ≡ b(mod [m1,···,mk])。
定理1.13:
设a ≡ b(mod m),则(a,m)= (b,m)。
二、剩余类及完全剩余系
1、剩余类与剩余
定理2.1:
定义2.1:
2、完全剩余系
定理2.1:
设m是一个正整数,则m个整数r0,r1,···,rm-1为膜m的一个完全剩余系的充分必要条件是它们模m两两不同余。
定理2.2:
设m是正整数,a是满足(a,m)= 1 的整数,b是任意整数。若k遍历模m的一个完全剩余系,则a · k + b也遍历模m的一个完全剩余系。
3、两个模的完全剩余系
定理2.3:
设m1,m2是两个互素的正整数。若k1,k2分别遍历模m1,m2的完全剩余系,则m2 · k1 + m1 · k2遍历模m1 · m2的完全剩余系。
4、多个模的完全剩余系
定理2.4:
设m1,m2,···,mk是k个互素的正整数。若x1,x2,···,xk分别遍历模m1,m2,···,mk的完全剩余系,则m2 ··· mk · x1 + m1 · m3 ··· mk · x2 + ··· + m1 ··· mk-1 · xk遍历模m1m2 ··· mk的完全剩余系。
三、简化剩余系与欧拉函数
1、欧拉函数
定义3.1:
设m是一个正整数,则m个整数1,···,m-1,m中与m互素的整数的个数,记作φ(m),通常叫做欧拉(Euler)函数。
定理3.1:
2、简化剩余类与简化剩余系
定义3.1:
一个模m的剩余类叫做简化剩余类,如果该类中存在一个与m互素的剩余,这时,简化剩余类中的剩余叫做简化剩余。
注:
- 简化剩余类的这个定义与剩余的选取无关;
- 两个简化剩余的乘积仍是简化剩余。
定理3.2:
设r1,r2是同一模m剩余类的两个剩余,则r1与m互素的充分必要条件是r2与m互素。
定义3.2:
性质3.1:
设m > 1是整数,a,b是模m的两个简化剩余,则它们的乘积也是简化剩余。
定理3.3:
设m是一个正整数,若r1,···,rψ(m)是ψ(m)个与m互素的整数,并且两两模m不同余,则r1,···,rψ(m)是模m的一个简化剩余系。
定理3.4:
设m是一个正整数,a是满足(a,m)= 1的整数。如果k遍历模m的一个简化剩余系,则a · k也遍历模m的一个简化剩余系。
定理3.5:
设m是一个正整数,a是满足(a,m)= 1的整数,则存在唯一的整数a',1 ≤ a' < m,使得a · a' ≡ 1(mod m)。
3、两个模的简化剩余系
定理3.6:
设m1,m2是互素的两个正整数。如果k1,k2分别遍历模m1和m2的简化剩余系,则m2 · k1 + m1 · k2遍历模m1 · m2的简化剩余系。
4、欧拉函数的性质
定理3.7:
设m,n是互素的两个正整数,则ψ(m · n) = ψ(m) · ψ(n)。
定理3.8:
推论:
设p,q是不同的素数,则ψ(p · q) = p · q - p - q + 1.
定理3.9:
四、欧拉定理,费马小定理和Wilson定理
1、欧拉定理
定理4.1(Euler):
设m是大于1的整数。如果a是满足(a,m) = 1的整数,则aψ(m) ≡ 1(mod m)。
2、费马小定理
定理4.2(Fermat):
设p是一个素数,则对任一整数a,有ap ≡ a(mod p)。
推论:
设p是一个素数,则对任意整数a,以及对任意正整数t,k,有at+k(p-1) ≡ at(mod p)。
3、Wilson定理
定理4.3(Wilson):
设p是一个素数,则(p - 1)!≡ -1(mod p)。
五、横重复平方计算法
上一篇:
https://www.cnblogs.com/3cH0-Nu1L/p/14255252.html
下一篇:
https://www.cnblogs.com/3cH0-Nu1L/p/14300666.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)