《信息安全数学基础》第一章:整除与同余
整除(easy)
整除定义
若 \(\forall a,b\in Z,b\ne 0,\exists q\in Z.\ s.t.\ a=qb.\) 则称:
\(b\) 整除 \(a\) ,或 \(a\) 被 \(b\) 整除,记为:\(b\mid a\)
\(b\) 不整除 \(a\) :\(b\nmid a\)
整除性质
设 \(a,b,c\in Z\)
- 若 \(b\mid a\) , \(a\mid b\) , 则 \(b=\pm a\).
- 若 \(a\mid b\) , \(b\mid c\) , 则 \(a\mid c\).
- 若 \(c\mid a\) , \(c\mid b\) , 则 \(c\mid ua+vb\), \(\ u,v\in Z\).
- 若 \(c\mid a_{1}\) , \(...\) , \(c\mid a_{k}\) , 则 \(\forall u_{1},\) \(...\) \(, u_{k} \in Z,\ s.t.\ c\mid (u_{1}a_{1}+\) \(...\) \(+u_{k}a_{k})\)
带余除法
定义
\(\forall a,b\in Z,b\ne 0,a=qb+r,0\le r<|b|.\)
\(q\):不完全商, \(r\):余数
显然当 \(r=0\) 时 \(b\mid a\)
存在性证明
-
当 \(b\mid a\) 时,取 \(q= \frac{a}{b},r=0\)
-
当 \(b\nmid a\) 时,取集合 \(T=\{a-kb,\ k=0,\pm 1,\pm 2 ...\}\)
设 \({T}'\) 为 \(T\) 的正整数子集,则存在其中最小正整数 \(t_{0}=a-k,\ a-k_{0}b>0\)
下证 \(t_{0}<|b|\):
若 \(t_{0}=|b|\) 则 \(b\mid a\),矛盾
若 \(t_{0}>|b|\) 则 \(\exists t_{1}=t_{0}-|b|\in T\) 且 \(0<t_{1}<t_{0}\) 与 \(t_{0}\) 最小矛盾
所以 \(0<t_{0}<|b|,\ a=k_{0}b+t_{0},\ q=k_{0},\ r=t_{0}\)
唯一性证明
如果 \(a=q_{1}b+r_{1},a=q_{2}b+r_{2},0\le r_{1},r_{2}<b\ (q_{1} \ne q_{2},\ r_{1}\ne r_{2})\)
则 \(b\le |(q_{1}-q_{2})b|=|-(r_{1}-r_{2})|<b\) 矛盾
前:因为 \(q_{1} \ne q_{2}\) ;后: 因为 \(0\le r_{1},r_{2}<b\)
所以 \(q_{1}= q_{2},\ r_{1}= r_{2}\) 即 \(q,r\) 唯一
最大公因数 \(gcd\) 与最小公倍数 \(lcm\) (easy)
公因子
\(a,b\in Z\) ,若整数 \(c\mid a\) , \(c\mid b\) ,则 \(c\) 称为 \(a,b\) 的公因子
最大公因子
定义(三个条件)
- \(c>0\)
- \(c\) 是 \(a,b\) 的公因子
- \(a,b\) 的任何公因子都整除 \(c\)
则 \(c\) 称为 \(a,b\) 的最大公因子( \(c\) 唯一)
记为:\(c=(a,b)\) 或 \(c=gcd(a,b)\)
性质
- \((a,b)=(\pm a,\pm b)=(|a|,|b|)\)
- \((0,a)=|a|\)
- 若 \(a\mid b\) ,则 \((a,b)=a\)
- \(\forall x,y\in Z,(a,b)\mid (ax+by)\)
- 若 \(a=bq+c,q\in Z\) ,则 \((a,b)=(b,c)\)
- 若 \((a,c)=1,b\mid c\) ,则 \((a,b)=1\)
- \((\frac{a}{(a,b)},\frac{b}{(a,b)})=1\)
- 设 \(a_{1},...,a_{k}\) 是 \(k\) 个不全为零的整数
\((a_{1},a_{2},...,a_{k})=(a_{1},(a_{2},...,a_{k}))=...=(a_{1},(a_{2},...,(a_{k-1},a_{k})...))\)
公倍数与最小公倍数 (easy)
\(m>0,a\mid m,b\mid m,m\mid k\)(\(k\) 为任何公倍数)
性质类比最小公因数
则 \(m=[a,b]=lcm(a,b)\)
性质
辗转相除法 (medium)(*point)
Tips:必考计算题
欧几里得除法/辗转相除法
过程
证明
根据最大公因子的三个条件
- \(r_{l}>0\) 显然
- 首先证明 \(r_{l}\) 是 \(a,b\) 的公因子:(从后往前推)
从 \(r_{l-1}=q_{l}r_{l}\) 得到 \(r_{l}\mid r_{l-1}\) 即 \(r_{l}\mid (r_{l},r_{l-1})\)
从 \(r_{l-2}=q_{l-1}r_{l-1}+r_{l}\) 得到 \(r_{l}\mid r_{l-2}\) 即 \(r_{l}\mid (r_{l-1},r_{l-2})\)
\(...\)
可以得到 \(r_{l}\mid (r_{0},r_{1})\) 即 \(r_{l}\) 是 \(a,b\) 的公因子
- 其次证明 \(r_{l}\) 是最大公因子,即任意公因子 \(d\mid r_{l}\):(从前往后推)
若 \(d\) 是 \(a,b\) 的任意公因子
从 \(r_{0}=q_{1}r_{1}+r_{2}\) 得到 \(d\mid r_{2}\)
\(...\)
可以得到 \(d\mid r_{l}\)
根据最大公因子定义得到 \(r_{l}=(a,b)\)
欧几里得扩展算法
后续章节用于求逆元
过程
性质
\(a,b\) 不全为零,\(\exists u,v\in Z,(a,b)=ua+vb\)
当 \((a,b)=1,\exists u,v\in Z,ua+vb=1,\ (u+b)\%b\) 即为 \(a\) 对于模 \(b\) 的逆元
素数与互素 (easy)
互素
定义
设 \(a,b\) 不全为零,若 \((a,b)=1\),则称 \(a,b\) 互素
推论
\((a,b)=1\leftrightarrow \exists u,v\in Z.\ s.t.\ ua+vb=1\)
推论证明
- 必要性:见扩欧算法部分
- 充分性:若 \(\exists u,v\in Z.\ s.t.\ ua+vb=1\)
则 \((a,b)\mid (ua+vb)\),得 \((a,b)\mid 1\),所以 \((a,b)=1\)
性质
设 \(a,b,c\) 为非零整数,则:
- 若 \(c\mid ab\) 且 \((c,a)=1\),则 \(c\mid b\)
- 若 \(a\mid c,b\mid c\) 且 \((a,b)=1\),则 \(ab\mid c\)
- 若 \((a,c)=1,(b,c)=1\),则 \((ab,c)=1\)
素数
定义
整数 \(p\) 除 \(\pm 1,\pm p\) 外无其他因子, \(p\) 为素数,否则为合数
性质
- \(\forall a\in Z\),若 \(p\nmid a\),则 \((p,a)=1\)
- 若 \(p\mid ab\),则 \(p\mid a\) 或 \(p\mid b\)
算术基本定理
任何大于 \(1\) 的整数 \(a\) 都可以分解为有限个素数的乘积:
\(a=p_{1}p_{2}...p_{r}\) 除素因子排列外是唯一的
证明唯一性
设 \(a=p_{1}p_{2}...p_{r}=q_{1}q_{2}...q_{s}\)
由 \(p_{1}\mid q_{1}q_{2}...q_{s}\),假设 \(p_{1}\mid q_{1}\),则 \(p_{1}=q_{1}\),得 \(p_{2}...p_{r}=q_{2}...q_{s}\)
同理得 \(p_{1}p_{2}...p_{r}\) 与 \(q_{1}q_{2}...q_{s}\) 都相同
标准因子分解式
\(a\) 的分解式可表示为有限个素数的幂次的乘积:
\(a=p_{1}^{k_{1}}p_{2}^{k_{2}}...p_{r}^{k_{r}}\) 称为 \(a\) 的标准因子分解式
筛 (easy)
Eratosthenes筛
步骤
- 找出小于等于 \(\sqrt N\) 的全部素数:\(p_{1},p_{2},...,p_{m}\)
- 在 \(1\) ~ \(N\) 中分别划去 \(p_{1},p_{2},...,p_{m}\) 的全部倍数(不包括它们自身)
原理
- 对于一个正整数 \(a\le N\),如果素数 \(p_{1},p_{2},...,p_{m}\) ( \(\le\sqrt N\))都不整除 \(a\) ,则 \(a\) 是素数
为什么是 \(\sqrt N\)
- 设 \(a\in Z,a>1\),则 \(a\) 除 \(1\) 外最小正因子是素数,且当 \(a\) 是合数时,\(q\le \sqrt a\)
同余 (easy)
定义
\(a,b\in Z\),给定一个称为模的正整数 \(m,\exists q_{1},q_{2}\in Z.\ s.t.\ a=q_{1}m+r,b=q_{2}m+r,0\le r<m\)
则称 \(a,b\) 关于模 \(m\) 同余,记为 \(a\equiv b(mod\ m)\)
同余的三个等价定义
- \(a,b\in Z,m\in N_{+},\exists q_{1},q_{2}\in Z.\ s.t.\ a=q_{1}m+r,b=q_{2}m+r,0\le r<m\)
- \(m\mid(a-b)\)
- \(a=b+mt,t\in Z\)
性质
设 \(a_{1},a_{2},b_{1},b_{2},c,b,a\in Z,m\in N{_+}\),且 \(a_{1}\equiv b_{1}(mod\ m),a_{2}\equiv b_{2}(mod\ m)\)
- \(a_{1}\pm a_{2}\equiv b_{1}\pm b_{2}(mod\ m)\)
- \(a_{1}a_{2}\equiv b_{1}b_{2}(mod\ m)\)
- 若 \(ac\equiv bc(mod\ m),(c,m)=1\),则 \(a\equiv b(mod\ m)\)
- 若 \(a\equiv b(mod\ m),d\mid m,d\in N{_+}\),则 \(a\equiv b(mod\ d)\)
推论
若 \(a_{1}\equiv b_{1}(mod\ m),a_{2}\equiv b_{2}(mod\ m)\),则:
- \(\forall x,y\in Z,a_{1}x+a_{2}y\equiv b_{1}x+b_{2}y(mod\ m)\)
- \(a_{1}^{n}\equiv b_{1}^{n}(mod\ m),n\in N{_+}\)
- \(f(a_{1})\equiv f(b_{1})(mod\ m)\),其中 \(f(x)\) 是任一给定的整系数多项式:
\(f(x)=c_{0}+c_{1}x+...+c_{n}x^{n}\)
快速指数算法——模重复平方计算法 (*point)
即快速幂,利用推论 \(2\) 可证
后续数论计算题的基础知识