《信息安全数学基础》第一章:整除与同余

整除(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\)

  1. \(b\mid a\) , \(a\mid b\) , 则 \(b=\pm a\).
  2. \(a\mid b\) , \(b\mid c\) , 则 \(a\mid c\).
  3. \(c\mid a\) , \(c\mid b\) , 则 \(c\mid ua+vb\), \(\ u,v\in Z\).
  4. \(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\)

存在性证明

  1. \(b\mid a\) 时,取 \(q= \frac{a}{b},r=0\)

  2. \(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\)公因子

最大公因子

定义(三个条件)

  1. \(c>0\)
  2. \(c\)\(a,b\) 的公因子
  3. \(a,b\) 的任何公因子都整除 \(c\)

\(c\) 称为 \(a,b\)最大公因子\(c\) 唯一)
记为:\(c=(a,b)\)\(c=gcd(a,b)\)

性质

  1. \((a,b)=(\pm a,\pm b)=(|a|,|b|)\)
  2. \((0,a)=|a|\)
  3. \(a\mid b\) ,则 \((a,b)=a\)
  4. \(\forall x,y\in Z,(a,b)\mid (ax+by)\)
  5. \(a=bq+c,q\in Z\) ,则 \((a,b)=(b,c)\)
  6. \((a,c)=1,b\mid c\) ,则 \((a,b)=1\)
  7. \((\frac{a}{(a,b)},\frac{b}{(a,b)})=1\)
  8. \(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:必考计算题

欧几里得除法/辗转相除法

过程

\[\begin{align*} &设\ a,b\in N_{+},\ 记\ r_{0}=a,r_{1}=b,\ 有:\\&r_{0}=q_{1}r_{1}+r_{2} & 0<r_{2}<r_{1}\\&r_{1}=q_{2}r_{2}+r_{3} & 0<r_{3}<r_{2}\\&\vdots &\vdots \\&r_{l-2}=q_{l-1}r_{l-1}+r_{l} & 0<r_{l}<r_{l-1}\\&r_{l-1}=q_{l}r_{l}\\&r_{l} = (a,b)\end{align*} \]

证明

根据最大公因子的三个条件

  1. \(r_{l}>0\) 显然
  1. 首先证明 \(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\) 的公因子

  1. 其次证明 \(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)\)

欧几里得扩展算法

后续章节用于求逆元

过程

\[\begin{align*}&r_{2}\ 可表示为\ r_{0}=a,r_{1}=b\ 的组合,即\ r_{2}=r_{0}-q_{1}r_{1}\\&r_{3}\ 可表示为\ r_{1},r_{2}\ 的组合,即\ r_{3}=r_{1}-q_{2}r_{2}\\&\vdots\\&r_{l}\ 可表示为\ r_{l-1},r_{l-2}\ 的组合,即\ r_{l}=r_{l-2}-q_{l-1}r_{l-1}\\&所以r_{l}=(a,b)\ 可表示为\ a,b\ 的线性组合\end{align*} \]

性质

\(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\)

推论证明

  1. 必要性:见扩欧算法部分
  2. 充分性:若 \(\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\) 为非零整数,则:

  1. \(c\mid ab\)\((c,a)=1\),则 \(c\mid b\)
  2. \(a\mid c,b\mid c\)\((a,b)=1\),则 \(ab\mid c\)
  3. \((a,c)=1,(b,c)=1\),则 \((ab,c)=1\)

素数

定义

整数 \(p\)\(\pm 1,\pm p\) 外无其他因子, \(p\)素数,否则为合数

性质

  1. \(\forall a\in Z\),若 \(p\nmid a\),则 \((p,a)=1\)
  2. \(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筛

步骤

  1. 找出小于等于 \(\sqrt N\) 的全部素数:\(p_{1},p_{2},...,p_{m}\)
  2. \(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)\)

  1. \(a_{1}\pm a_{2}\equiv b_{1}\pm b_{2}(mod\ m)\)
  2. \(a_{1}a_{2}\equiv b_{1}b_{2}(mod\ m)\)
  3. \(ac\equiv bc(mod\ m),(c,m)=1\),则 \(a\equiv b(mod\ m)\)
  4. \(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)\),则:

  1. \(\forall x,y\in Z,a_{1}x+a_{2}y\equiv b_{1}x+b_{2}y(mod\ m)\)
  2. \(a_{1}^{n}\equiv b_{1}^{n}(mod\ m),n\in N{_+}\)
  3. \(f(a_{1})\equiv f(b_{1})(mod\ m)\),其中 \(f(x)\) 是任一给定的整系数多项式:

\(f(x)=c_{0}+c_{1}x+...+c_{n}x^{n}\)

快速指数算法——模重复平方计算法 (*point)

即快速幂,利用推论 \(2\) 可证

后续数论计算题的基础知识

posted @ 2023-02-27 18:59  IrisHyaline  阅读(103)  评论(0编辑  收藏  举报