最大公因数
互素:gcd(a,b)=1;
如果a,b,c为三个不为零的整数,且a=qb+c,则(a,b)=(b,c)
欧几里得算法求最大公因数(带余除法),扩展欧几里得算法求逆元
对任意正整数a,b存在两个整数s,t,使得(a,b)=sa+tb,若(a,b)=1,则存在整数s,t,使得sa+tb=1;
最小公倍数
lcm(a,b)=a*b/gcd(a,b)
整数的唯一分解(求gcd,lcm)
任何大于1的整数可以分解为素数幂的乘积形式
设a,b是两个正整数,则存在两个正整数a',b'满足条件a'|a,b'|b且(a',b')=1,使得lcm(a,b)=a'*b'
不定方程
Def.未知数的个数多于独立方程个数的方程
二元一次不定方程(最基础)
-
形式:ax+by=c(其中 a,b,c为整数,且 a,b不全为0)
-
判定条件(裴蜀定理) :方程有整数解的充要条件是 gcd(a,b)∣c(即最大公约数能整除c)。
-
解法:
-
先用扩展欧几里得算法求出一组特解 (x0,y0)
-
通解公式为:
x=x0+b/d*t,y=y0−a/d*t(其中 d=gcd(a,b),t为任意整数)。
-
同余
同余的定义?同余的性质?
a,b模m同余的充要条件《-》m|a-b
同余关系是一个等价关系(具有自反性、对称性、传递性)
常见性质:
- ad
bd(mod m),如果gcd(d,m)=1,那么a
b(mod m)
- a
b(mod m),若d|m,那么a
b(mod d)
- a
b(mod m),若d为a,b,m的公因数,则a/d
b/d(mod m/d)
- a,b为整数,m,n为正整数,(m,n)=1,若a
b(mod m),a
b(mod n),则a
b(mod mn)
定理
x
剩余类

欧拉函数*****
① 质数情况
如果 p 是质数,则 φ(p) = p - 1。
② 质数的幂
如果 p 是质数,则 φ(p^k) = p^k - p^{k-1} = p^{k-1}(p-1)。
③ 积性函数(关键)
如果 m, n 互质,则 φ(mn) = φ(m) * φ(n)。
欧拉定理


若n=p*q,且p,q为素数,那么(n)= (p-1)(q-1),这是RSA密钥生成的理论基础
费马小定理

wilson定理

模重复平方计算
同余方程
线性同余方程 ax≡b(modm)
(1)解的存在性
方程有解:d=gcd(a,m),且 d∤b,则无解
若有解,则模m下有d个解
(2)求解步骤
- 求d=gcd(a,m),检查d|b
- 约分,得到a'≡b'(mod)m';
- 用扩展欧几里得求逆元
- 特解x0=(b'*
)modm'
- 全部解即为x≡x0+k*m'(mod m),其中k=0,1,...,d-1
同余方程组(中国剩余定理)
将大模数下的运算拆解为多个小模数下的运算
RSA 的解密和签名经常使用 CRT 来加速

原根

群、环、域
什么是群?环?域?
群:一个集合外加一个满足封闭性、结合律、单位元、逆元的二元运算
环 :对加法成交换群 ,对乘法成半群 ,且满足分配律
域:在环的基础上,除去加法单位元外,其余元素对乘法也成交换群
有限域/伽罗瓦域(GF(q))
AES的S盒用到了GF()

不可约多项式
多项式乘法后需要模一个不可约多项式