来还愿!!!信安数学考了 100!!!舒服!!!
问题
第一章
如何证明一个数是素数:
如何证明一个数是素数:
1.用Eratosthenes筛法(平凡判别P7) 具体:对于一个数n,所有 p < n 1 / 2 p< n^{1/2} p<n1/2,均无法整除n,则n是一个素数
2.其欧拉函数即 φ ( m ) = m − 1 \varphi(m)=m-1 φ(m)=m−1的时候,m是一个素数 P68
3.对于模m的最小正数完全剩余系等于其最小正数简化剩余系的时候,m是一个素数
4.利用Wilson定理,如果一个整数n, ( n − 1 ) ! + 1 ≡ 0 m o d n (n-1)!+1\equiv \ 0\ mod\ n (n−1)!+1≡ 0 mod n时,n是一个素数 P118
N的B进制的表示: P9
N = A k − 1 B k − 1 + … … + A 1 B + A 0 N=A_{k-1}B_{k-1}+……+A_1B+A_0 N=Ak−1Bk−1+……+A1B+A0
如何确定一个整数d是 a n … . . a 0 a_n….. a_0 an…..a0的最大公因数: P20
(1) D ∣ a n , d ∣ a n − 1 … , d ∣ a 0 D | a_n , d | a_{n-1}…,d | a_0 D∣an,d∣an−1…,d∣a0
(2) 对于一个数e,若 e ∣ a n … e ∣ a 0 e |a_n…e |a_0 e∣an…e∣a0,则e | d
如何计算两个数的最大公因数:
1.广义欧几里得除法:P22
利用(a,b)=(b,c),一步一步缩小
2.通过贝祖等式: P25
贝祖等式 sa + tb=(a,b) 证明在P27
如何求s和t?
另 r − 2 = a , r − 1 = b r_{-2}=a,r_{-1}=b r−2=a,r−1=b
s j = ( − q j ) s j − 1 + s j − 2 s_j=(-q_j)s_{j-1}+s_{j-2} sj=(−qj)sj−1+sj−2
t j = ( − q j ) t j − 1 + t j − 2 t_j=(-q_j)t_{j-1}+t_{j-2} tj=(−qj)tj−1+tj−2 其中 q j q_j qj是 [ r j − 2 / r j − 1 ] [r_{j-2}/r_{j-1}] [rj−2/rj−1]的不完全商
初始值: s − 2 = 1 s − 1 = 0 t − 2 = 0 t − 1 = 1 s_{-2}=1 \quad s_{-1}=0 \quad t_{-2}=0 \quad t_{-1}=1 s−2=1s−1=0t−2=0t−1=1
图在P31,技法:俄罗斯方块+单位阵,从-3开始,q,r是j+1
3.如果形式为( 2 a − 1 , 2 b − 1 2^a-1,2^b-1 2a−1,2b−1),那么其最大公因数为 2 ( a , b ) − 1 2^{(a,b)}-1 2(a,b)−1 P37
4.如果知道这两个数的最小公倍数,则(a,b)=a*b/[a,b] P39
如何确定一个整数D是 a 1 … a n a_1…a_n a1…an的最小公倍数: P39
(1) a i a_i ai | D
(2)若 a i a_i ai | D’ ,则 D | D’
如何求两个数的最小公倍数: P39
[a,b]=a*b/(a,b)
如何构造两个互素的数:
- 通过(a,b)的性质:P33
(a/(a,b),b/(a,b))=1
- 通过贝祖等式: P33
构造一个ad-bc=1,则(a,b)=1
- 通过已知的(u,v)=1,构造出(a,b)=1 P35
只要qrst是单位阵,也就是qt-sr=1,即等式成立
所以对于a=qu+rv b=su+tv
4.通过已知的(a,b)=1,构造出( 2 a − 1 , 2 b − 1 2^a-1,2^b-1 2a−1,2b−1)=1 P37
第二章
如何判断两个数是否同余: P54
- 根据定理:m | (a-b) ,则a≡b(mod m)
- a≡b(mod m)的充要条件是a=b+q*m
- a,b对于m除的余数相同
- 若(a,m)=1, d ≡ k m o d o r d m ( a ) d\equiv k\ mod\ ord_m(a) d≡k mod ordm(a). 等价于 a d ≡ a k m o d m a^d\equiv a^k\ mod\ m ad≡ak mod mP170
如何判断一个数n能否被3,7,9,11,13,整除: P57
(1) 对于9和3:
将n转化为10进制的科学计数法, n = a k ∗ 1 0 k + . . + a 0 n=a_k*10^k+..+a_0 n=ak∗10k+..+a0
则3(9) | n的充要条件是 3(9) | a k + . . + a 0 a_k+..+a_0 ak+..+a0
PS:因为10≡1 mod 3(9)
(2) 对于7,11,13:
将n转化为1000进制的科学计数法, n = a k ∗ 100 0 k + . . + a 0 n=a_k*1000^k+..+a_0 n=ak∗1000k+..+a0
则7(11/13) | n的充要条件是 7(11/13) | ( a 0 + a 2 + . . ) − ( a 1 + a 3 + … ) (a_0+a_2+..)-(a_1+a_3+…) (a0+a2+..)−(a1+a3+…)
PS:因为1000=71113-1 ≡-1 mod 7(11/13)
如何求模m的完全剩余系: P64
(1)直接取得0,…,m-1即是一个完全剩余系
(2)对于从0到m-1的这个完全剩余系,可以对于某部分数再加上m的倍数
(3)如果已知一个完全剩余系 k i k_i ki,对于(a,m)=1,b是任意整数, a ∗ k i + b a*k_i+b a∗ki+b也是一个完全剩余系
(4)如果 m 1 ∗ m 2 = m m_1*m_2=m m1∗m2=m,且( m 1 , m 2 m_1,m_2 m1,m2)=1,而 k 1 , k 2 k_1,k_2 k1,k2遍历 m 1 , m 2 m_1,m_2 m1,m2的完全剩余系,那么 m 2 ∗ k 1 + m 1 ∗ k 2 m_2*k_1+m_1*k_2 m2∗k1+m1∗k2则遍历模m的完全剩余系;
如何求一个数的欧拉函数: P68
(1)对于一个m, φ ( m ) = m ∗ ( 1 − 1 / p 1 ) ∗ ( 1 − 1 / p 2 ) ∗ . . \varphi(m)=m*(1-1/p_1)*(1-1/p_2)*.. φ(m)=m∗(1−1/p1)∗(1−1/p2)∗..,其中p的来源是,标准分解式 P43页
(2)如果 m = q ∗ p m=q*p m=q∗p,且(q,p)=1;那么 φ ( m ) = φ ( q ) ∗ φ ( p ) \varphi(m)=\varphi(q)*\varphi(p) φ(m)=φ(q)∗φ(p)
如何求模m的简化剩余系:P70
(1)按照定义来,在最小非负完全剩余系中暴力判断每一个代表元是否与m互素,是的话保存;最后剩的就是一个最为简单的简化剩余系
(2)同求完全剩余的第(3),如若已知 k i k_i ki,若存在一个a满足(a,m)=1,那么 a ∗ k i a*k_i a∗ki也遍历模m的一个简化剩余系
(3)同上述(4),如果 m 1 ∗ m 2 = m m_1*m_2=m m1∗m2=m,且( m 1 , m 2 m_1,m_2 m1,m2)=1,而 k 1 , k 2 k_1,k_2 k1,k2遍历 m 1 , m 2 m_1,m_2 m1,m2的简化剩余系,那么 m 2 ∗ k 1 + m 1 ∗ k 2 m_2*k_1+m_1*k_2 m2∗k1+m1∗k2则遍历模m的简化剩余系;
(4)如若a是模m的原根,则m的简化剩余系就是 a 0 , a 1 , . . , a φ ( m ) − 1 a^0,a^1,..,a^{\varphi(m)-1} a0,a1,..,aφ(m)−1 P169
如何快速计算 b n b^n bn: P80
采用模重复平凡计算法(也叫快速幂 ACM经典算法):
对于 b n b^n bn来说,如果按照正常的算法,那么需要运算n次,如果按照本算法,就只需要 l o g 2 n log_2n log2n次,时间复杂度大大减少;
核心思想,先定义一个res=1(这个将表示结果,先初始化为1),再定义一个tmp=b(中间变量,初始化为b),将n处理一下,化为二进制形式,起始位置是第0位,然后从右到左看,位数每次+1,对于tmp都有处理, t m p = t m p 2 tmp=tmp^2 tmp=tmp2,而对于res的处理则是:当这一位上的数是1的时候, r e s = r e s ∗ t m p res=res*tmp res=res∗tmp,否则res=res;例如求 3 5 3^{5} 35,那么对于5化为 2 2 + 2 0 2^2+2^0 22+20即 1 l 0 1 r 1_l01_r 1l01r,定义res=1,tmp=3,从右往左看依次是 1 r , 0 , 1 l 1_r,0,1_l 1r,0,1l,所以 1 r 1_r 1r: r e s = r e s ∗ t m p = 3 res=res*tmp =3 res=res∗tmp=3; t m p = t m p 2 = 9 tmp=tmp^2=9 tmp=tmp2=9,然后0, t m p = t m p 2 = 81 tmp=tmp^2=81 tmp=tmp2=81,然后 1 l 1_l 1l, r e s = r e s ∗ t m p = 3 ∗ 81 = 243 ; res=res*tmp=3*81=243; res=res∗tmp=3∗81=243;
第三章
如何判断同余式的解的存在性:
- 对于一次同余式ax ≡ 1 mod m ,有解的充要条件是 (a,m)=1 P92
- 对于一次同余式的一般形式,ax ≡ b mod m ,有解的充要条件是(a,m)| b P93
- p为一个素数,n是一个不大于p的整数,同余式 f ( x ) = x n + . . + a 1 x + a 0 f(x)=x^n+..+a_1x+a_0 f(x)=xn+..+a1x+a0有n个解的充要条件是 x p − x x^p-x xp−x被f(x)除所得余式的所有系数均是p的倍数 P119
如何求出一次同余式的解:
- 第一步,均是判断解的存在性,存在之后再去进行下一步求解 运用到上面那一个问题的解答
- 对于一次同余式 ax ≡ 1 mod m 类型,一定有 s ∗ a + t ∗ m = 1 s*a+t*m=1 s∗a+t∗m=1,而x=s mod m 就是解,且具有唯一性; P92
- 一次同余式一般式ax ≡ b mod m的求解,首先对于式子进行化简,每一个数均除以(a,m),得到 a 1 x ≡ b 1 m o d m 1 a_1x ≡ b_1 mod \ m_1 a1x≡b1mod m1,再求出特殊式 a 1 x ’ ≡ 1 m o d m 1 a_1x’ ≡ 1 \ mod \ m_1 a1x’≡1 mod m1 的特解x’,然后写出同余式 a 1 x ≡ b 1 m o d m 1 a_1x ≡ b_1 mod \ m_1 a1x≡b1mod m1,直接可以得到一个特解就是 x 0 ≡ b 1 ∗ x ′ m o d m 1 x_0≡b_1*x' \ mod \ m_1 x0≡b1∗x′ mod m1,然后求可以求出所有解 x ≡ x 0 + k ∗ ( m / ( a , m ) ) m o d m x≡x_0+k*(m/(a,m)) mod \ m x≡x0+k∗(m/(a,m))mod m P94
如何求解中国剩余定理问题(简单同余式组):P97
{ x ≡ b 1 m o d m 1 . . x ≡ b k m o d m k \begin{cases} x\equiv \ b_1 \ mod \ m_1\\ . \\ . \\x\equiv \ b_k \ mod \ m_k \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧x≡ b1 mod m1..x≡ bk mod mk
- 其整数解为: x ≡ b 1 ∗ M 1 ′ ∗ M 1 + . . . + b k ∗ M k ′ ∗ M k ( m o d m ) x\equiv \ b_1*M_1'*M_1+...+b_k*M_k'*M_k\ (mod \ m) x≡ b1∗M1′∗M1+...+bk∗Mk′∗Mk (mod m) 其中, m = m 1 ∗ . . ∗ m k m=m_1*..*m_k m=m1∗..∗mk,而 m = M i ∗ m i , M ∗ M ′ ≡ 1 m o d m m=M_i*m_i,\ M*M'\equiv 1\ mod\ m m=Mi∗mi, M∗M′≡1 mod m
如何求一个大的数b mod m ,m为一个整数:P104
- 对于这个大数,一般情况下是大数是 a b a^b ab的形式,那么首先要想到,降幂;
- 降幂:如果(a,m)=1,那么就可以用欧拉定理来降幂(特殊情况下也可用Wilson定理), a φ ( m ) ≡ 1 m o d m a^{\varphi(m)} \equiv 1 \ mod \ m aφ(m)≡1 mod m,可以降幂
- 如果无法降幂,可以考虑,转化为剩余定理来求,把m转化为n个互素的整数相乘的格式.
- 快速幂:加快平方的速度
- 如果降幂也可以利用指数的性质来,也就是 a d ≡ a k m o d m a^d\equiv a^k\ mod\ m ad≡ak mod m,等价于 d ≡ k m o d o r d m ( a ) d\equiv k\ mod\ ord_m(a) d≡k mod ordm(a).P170
如何求简单高次同余式的解:P111
f ( x ) = a n x n + . . . + a 1 x + a 0 ≡ 0 m o d m f(x)=a_nx^n+...+a_1x+a_0 \equiv 0\ mod \ m f(x)=anxn+...+a1x+a0≡0 mod m
(1)首先,了解高次同余式的解的个数,如若f(x)≡0 mod m,可以化为: { f ( x ) ≡ 0 m o d m 1 . . f ( x ) ≡ 0 m o d m k (1) \begin{cases} f(x)\equiv \ 0 \ mod \ m_1\\ . \\ . \\f(x)\equiv \ 0 \ mod \ m_k \end{cases} \tag1 ⎩⎪⎪⎪⎨⎪⎪⎪⎧f(x)≡ 0 mod m1..f(x)≡ 0 mod mk(1) 当然, m 1 . . m k m_1..m_k m1..mk互素;那么f(x)≡0 mod m解的个数等于其每一个分式解的个数的乘积;
(1.2)对于化出来的(1)式,如果 m i m_i mi不太大的情况下,推荐用暴力验算法,直接从0~ m i m_i mi带入验算.
(1.3)然后对于验算出来的答案,令 f ( x ) ≡ 0 m o d m i f(x)\equiv \ 0 \ mod \ m_i f(x)≡ 0 mod mi的解为 x 1 . . x n x_1..x_n x1..xn统一用一个 b i b_i bi来代表,然后带入中国剩余定理的解式 x ≡ b 1 ∗ M 1 ′ ∗ M 1 + . . . + b k ∗ M k ′ ∗ M k ( m o d m ) x\equiv \ b_1*M_1'*M_1+...+b_k*M_k'*M_k\ (mod \ m) x≡ b1∗M1′∗M1+...+bk∗Mk′∗Mk (mod m)之中,再对所有b均遍历一遍,得出所有解,得出解的个数为 T b i T_{b_i} Tbi的乘积;
(2)当模m本身就是一个素数p时,无法化成同余式组的形式,对于f(x)就要进行简化转变,此时需要用到Fermat(费马小定理),将f(x)化成 f ( x ) = q ( x ) ∗ ( x p − x ) + r ( x ) f(x)=q(x)*(x^p-x)+r(x) f(x)=q(x)∗(xp−x)+r(x)的形式,最终只要r(x),所以在化简的过程中,可以采用 r 0 ( x ) = f ( x ) − a n x n − p ∗ g ( x ) , g ( x ) = ( x p − x ) r_0(x)=f(x)-a_nx^{n-p}*g(x),g(x)=(x^p-x) r0(x)=f(x)−anxn−p∗g(x),g(x)=(xp−x),这样递归求得r(x),然后暴力验算从0到p-1,带入r(x)中,求出解;P116
(3)当 m = p k m=p^k m=pk时,先写出式子 f ( x ) ≡ 0 m o d m f(x) \equiv 0\ mod \ m f(x)≡0 mod m,然后写 f ( x ) ≡ 0 m o d p f(x) \equiv 0\ mod \ p f(x)≡0 mod p,求出 x 1 x_1 x1,把 x 2 = x 1 + t ∗ p x_2=x_1+t*p x2=x1+t∗p带入 f ( x ) ≡ 0 m o d p 2 f(x) \equiv 0\ mod \ p^2 f(x)≡0 mod p2,即: f ( x 1 ) + f ′ ( x 1 ) ∗ t ∗ p ≡ 0 m o d p 2 f(x_1)+f'(x_1)*t*p\equiv\ 0\ mod\ p^2 f(x1)+f′(x1)∗t∗p≡ 0 mod p2,可求出t,然后按照 x i = x i − 1 + t ∗ p i − 1 x_i=x_{i-1}+t*p^{i-1} xi=xi−1+t∗pi−1依次带入 f ( x ) ≡ 0 m o d p i f(x) \equiv 0\ mod \ p^i f(x)≡0 mod pi,即: f ( x i − 1 ) + f ′ ( x i − 1 ) ∗ t ∗ p ≡ 0 m o d p i f(x_{i-1})+f'(x_{i-1})*t*p\equiv\ 0\ mod\ p^i f(xi−1)+f′(xi−1)∗t∗p≡ 0 mod pi,求出t,循环,直至求出x; P112
第四章
如何求模m的平方剩余:
- 对于从1,m-1的数中,取出与m互素的,然后带入求解,x有解的即为一个平方剩余; P126
- x 2 ≡ a m o d p x^2\equiv\ a\ mod\ p x2≡ a mod p 且(a,p)=1,p!=2,如若 a p − 1 2 ≡ 1 m o d p a^{\frac{p-1}{2} }\equiv\ 1\ mod\ p a2p−1≡ 1 mod p,(等价)则a是模p的平方剩余,且x有两个解,反之,对于 a p − 1 2 ≡ − 1 m o d p a^{\frac{p-1}{2} }\equiv\ -1\ mod\ p a2p−1≡ −1 mod p,(等价)则a是模p的平方非剩余。P129
- 如若p!=2, ( a 1 , p ) = 1 , ( a 2 , p ) = 1 (a_1,p)=1,(a_2,p)=1 (a1,p)=1,(a2,p)=1,那么如 a 1 , a 2 a_1,a_2 a1,a2是模p的平方剩余,则 a 1 ∗ a 2 a_1*a_2 a1∗a2也是模p的平方剩余,如 a 1 , a 2 a_1,a_2 a1,a2是模p的平方非剩余,则 a 1 ∗ a 2 a_1*a_2 a1∗a2也是模p的平方非剩余.P130
- 如若p!=2,则对于模p的简化剩余系中的平方剩余与平方非剩余占比1:1,均是 p − 1 2 \frac{p-1}{2} 2p−1个,且这 p − 1 2 \frac{p-1}{2} 2p−1个平方剩余与序列 1 2 , 2 2 , . . ( p − 1 2 ) 2 1^2,2^2,..(\frac{p-1}{2})^2 12,22,..(2p−1)2模m后一一对应(位置未知),也就是满射; P130
如何快速简单的判断某个特殊数是否是模p(奇素数)的平方剩余:
- ( 1 p ) = 1 \left(\frac{1}{p}\right)=1 (p1)=1;意味着1是模p的的平方剩余,且x有两个解…勒让德符号 P132
- ( − 1 p ) = ( − 1 ) p − 1 2 \left(\frac{-1}{p}\right)=(-1)^{\frac{p-1}{2}} (p−1)=(−1)2p−1…勒让德符号 P132
- ( 2 p ) = ( − 1 ) p 2 − 1 8 \left(\frac{2}{p}\right)=(-1)^{\frac{p^2-1}{8}} (p2)=(−1)8p2−1…勒让德符号P135
- 若(a,2p)=1,则 ( a p ) = ( − 1 ) T ( a , p ) \left(\frac{a}{p}\right)=(-1)^{T(a,p)} (pa)=(−1)T(a,p),其中 T ( a , p ) = ∑ k = 1 p − 1 2 [ a ∗ k p ] T(a,p)=\displaystyle \sum _{k=1}^{\frac{p-1}{2}}\left[\frac{a*k}{p}\right] T(a,p)=k=1∑2p−1[pa∗k] P135
如何快速判断某个二次同余式 x 2 ≡ a m o d m x^2\equiv\ a\ mod\ m x2≡ a mod m无解:
- 当m比较小时,暴力
- m为p奇素数时,还比较大,那么a为-1,用勒让德符号判断 ( − 1 p ) = ( − 1 ) p − 1 2 \left(\frac{-1}{p}\right)=(-1)^{\frac{p-1}{2}} (p−1)=(−1)2p−1,a为2, ( 2 p ) = ( − 1 ) p 2 − 1 8 \left(\frac{2}{p}\right)=(-1)^{\frac{p^2-1}{8}} (p2)=(−1)8p2−1,a为其他,二次互反先化简,再判断;
- m为奇数时,用雅克比符号判断,与上面一样,但是在a是-1,2,其他的情况下,必须是奇数; P145
第五章
如何求指数,原根?P167
- 根据定义,带数,对于指数,从0开始递增,对于原根,先确定 φ ( m ) \varphi(m) φ(m),然后把m的简化剩余系一次带入a,判断;
- 如果p是奇素数, p − 1 2 \frac{p-1}{2} 2p−1也是素数,a是一个模p不为-1,0,1的整数,则 o r d m ( a ) = p − 1 2 ord_m(a)=\frac{p-1}{2} ordm(a)=2p−1或p-1 P169
- o r d m ( a d ) = o r d m ( a ) ( d , o r d m ( a ) ) ord_m(a^d)=\frac{ord_m(a)}{(d,ord_m(a))} ordm(ad)=(d,ordm(a))ordm(a) P171
- g是模m的原根,那么 ( d , φ ( m ) ) = 1 , g d (d,\varphi(m))=1,g^d (d,φ(m))=1,gd也是原根 P171
- o r d m ( a ∗ b ) = o r d m ( a ) ∗ o r d m ( b ) ord_m(a*b)=ord_m(a)*ord_m(b) ordm(a∗b)=ordm(a)∗ordm(b) P173
- o r d m n ( a ) = [ o r d m ( a ) , o r d n ( a ) ] , ( m , n ) = 1 ord_{mn}(a)=[ord_m(a),ord_n(a)],(m,n)=1 ordmn(a)=[ordm(a),ordn(a)],(m,n)=1P174
- a,b与m互素,则存在c o r d m ( c ) = [ o r d m ( a ) , o r d m ( b ) ] ord_m(c)=[ord_m(a),ord_m(b)] ordm(c)=[ordm(a),ordm(b)]P176
- g是p的原根,那么g或者g+p是模 p 2 p^2 p2的原根P182
- g是 p 2 p^2 p2的原根,那么g是 p a p^a pa的原根,a是任意整数 P182
- g是 p a p^a pa的原根,那么g与g+ p a p^a pa中的奇数是模 2 p a 2p^a 2pa的原根 P183
- a是奇数,b不小于3,则 a φ ( 2 b ) / 2 ≡ a 2 b − 2 ≡ 1 m o d 2 b a^{\varphi(2^b)/2}\equiv\ a^{2^{b-2}}\ \equiv\ 1\ mod\ 2^b aφ(2b)/2≡ a2b−2 ≡ 1 mod 2b P185
- o r d 2 b ( 5 ) = 2 b − 2 ord_{2^b}(5)=2^{b-2} ord2b(5)=2b−2b是不小于3的一个整数P185
第六章
本章是为了判断一个数是素数:伪素数
如何判断n是一个伪素数:
- n是奇数,(b,n)=1,又有 b n − 1 ≡ 1 m o d n b^{n-1}\equiv\ 1\ mod\ n bn−1≡ 1 mod n,则n是基于b的伪素数P199
- 给定一个n,和t,取b,(b,n)=1,如果式子 b n − 1 ≡ 1 m o d n b^{n-1}\equiv\ 1\ mod\ n bn−1≡ 1 mod n不成立,则n是合数;重复t遍,很大概率上n就是素数;
- Euler伪素数:(b,n)=1,n是奇合数, b n − 1 2 ≡ ( b n ) m o d n b^{\frac{n-1}{2}}\equiv\ \left(\frac{b}{n}\right)\ mod\ n b2n−1≡ (nb) mod n,n是基于b的Euler伪素数,P205()是勒让德符号
- 强伪素数:n是奇合数, n − 1 = 2 s ∗ t n-1=2^s*t n−1=2s∗t,t为奇数,(n,b)=1,若 b t ≡ 1 m o d n b^t\equiv\ 1mod\ n bt≡ 1mod n或者 b 2 r ∗ t ≡ − 1 m o d n b^{2^r*t}\equiv\ -1mod\ n b2r∗t≡ −1mod n,则n是基于b的强伪素数**P209
知识点
第一章
1. 对于整数abc,如果a=q*b+c,q为整数,则(a,b)=(b,c) P23
2.(0,b)=b P21
3.(a,b)具有结合性(提取) P33
4.如果(a,c)=1,那么(ab,c)=(b,c) P34
5.如果( a i a_i ai,c)=1,那么( a 1 … a n a_1…a_n a1…an,c)=1 P35
6. 2 a − 1 = q ( 2 b − 1 ) + 2 r − 1 2^a-1=q(2^b-1)+2^r-1 2a−1=q(2b−1)+2r−1,而r则满足a=q’*b+r P37
7.P是素数,当p|( a 1 … a n a_1…a_n a1…an)的时候,p一定整除某一个 a k a_k ak P38
8.任何一个整数n>1都可以表示为素数的乘积 P42
9.标准分解式: P43
N = p 1 k 1 … p s k s , k i > 0 N=p_1^{k_1}…p_s^{k_s} , k_i>0 N=p1k1…psks,ki>0且 p i < p j ( i < j ) p_i < p_j (ipi<pj(i<j) 是素数
契比谢夫不等式(不太重要):设x>=2,则有: P48
(ln2 /3)(x/lnx) < π(x) < 6ln(2x/lnx)
和
1/(6*ln2)nlnn < pn <8/(ln2)nlnn
第二章
等价关系具有的性质:自反性,对称性,传递性(可联系离散数学),而同余就是一个等价关系,即: P55
(1) 对于任一整数a,有a≡a (mod m)
(2) 若a≡b mod m ,则 b≡a mod m
(3) 若a≡b mod m, b≡c mod m,则a≡c mod m
a 1 ≡ b 1 m o d m , a 2 ≡ b 2 m o d m a_1≡b_1 \ mod \ m , a_2≡b_2 \ mod \ m a1≡b1 mod m,a2≡b2 mod m,则有 P56
(1) a 1 + a 2 ≡ b 1 + b 2 m o d m a_1+a_2≡b_1+b_2 \ mod \ m a1+a2≡b1+b2 mod m
(2) a 1 ∗ a 2 ≡ b 1 ∗ b 2 m o d m a_1*a_2≡b_1*b_2 \ mod \ m a1∗a2≡b1∗b2 mod m
如果 d ∗ a ≡ d ∗ b m o d m d*a ≡ d*b \ mod \ m d∗a≡d∗b mod m,且(d,m)=1,则a ≡ b mod m P59
如果a ≡ b mod m,则 a ∗ d ≡ b ∗ d m o d m ∗ d a*d ≡ b*d \ mod \ m*d a∗d≡b∗d mod m∗d ,d>0且d那么是整数,要么d |(a,b,m) P59
a ≡ b mod m,若 D | m ,那么a ≡ b mod D P60
a ≡ b mod m i m_i mi ,则a ≡ b mod [ m 1 , m 2 , … m n m_1,m_2,…m_n m1,m2,…mn] P60
a ≡ b mod m 则(a,m)=(b,m) P60
P63
剩余类 :对于c ≡ a mod m,所有等于同一个a的c构成的集合叫Ca,也叫做模m的a的剩余类;
剩余或代表元:一个剩余类中的任意一数叫做该类的剩余或者代表元;
完全剩余系:若 r 0 , r 1 . . . r m − 1 r_0,r_1...r_{m-1} r0,r1...rm−1是m个整数,并且其中任何两个数都不在同一剩余系里,则 r 0 . . r m − 1 r_0..r_{m-1} r0..rm−1叫做模m的一个完全剩余系.
欧拉函数的定义:对于一个m, φ \varphi φ(m)等于从1,到m-1中与m互素的数的个数 P68
简化剩余系:和完全剩余系的唯一差别就是简化剩余系里面的代表元都与m互素 P69
如果(a,m)=1,则存在唯一的整数 a ′ a' a′,满足 1 ≤ a ′ < m 1 \leq a' < m 1≤a′<m,使得 a ∗ a ′ ≡ 1 m o d m a*a'≡1 \ mod\ m a∗a′≡1 mod m P71
设m是一个正整数,则 ∑ d ∣ m φ ( d ) = m \displaystyle \sum_{d|m}{\varphi(d)=m} d∣m∑φ(d)=m 证明在P74
Euler(欧拉定理):如若(a,m)=1,则 a φ ( m ) ≡ 1 m o d m a^{\varphi(m)} ≡ 1 \ mod \ m aφ(m)≡1 mod m P77
Fermat(费马小定理):其实就是欧拉定理的一个特判,当m为素数p的时候,对于Euler来说,就是
a m − 1 ≡ 1 m o d m a^{m-1} ≡ 1 \ mod \ m am−1≡1 mod m那么将其变化成另外一个模样就变成了 a p ≡ a m o d p a^p ≡a \ mod \ p ap≡a mod p P78
Fermat的推广: a t + k ( p − 1 ) ≡ a t ( m o d p ) a^{t+k(p-1)} ≡a^t(mod \ p) at+k(p−1)≡at(mod p) 也就是k次方之后再同乘于 a t a^t at P78
Wilson定理:p是一个素数,则有(p-1)! ≡ -1 mod p… !表示阶乘 P79
第三章
同余式: f ( x ) = a n x n + . . . + a 1 x + a 0 f(x)=a_nx^n+...+a_1x+a_0 f(x)=anxn+...+a1x+a0是一个多项式,当然, a i a_i ai是整数,那么当f(x) ≡ 0 mod m ,这个式子就叫模m的同余式,n就是f(x)的次数,记为degf P91
可逆元:存在 a ∗ a ′ ≡ a ′ ∗ a ≡ 1 m o d m a*a'≡a'*a≡1 \ mod \ m a∗a′≡a′∗a≡1 mod m,a,a’为整数,那么a就可以叫做模m的可逆元; P92
当a是模m的可逆元,(等价关系)也就意味着a是模m的简化剩余,即:(a,m)= 1 P92
同余式的解的个数不大于其次数 P118
多项式欧几里得除法(不需掌握):设 f ( x ) = a n x n + . . . + a 1 x + a 0 f(x)=a_nx^n+...+a_1x+a_0 f(x)=anxn+...+a1x+a0,如有 g ( x ) = x m + . . . + b 1 x + b 0 g(x)=x^m+...+b_1x+b_0 g(x)=xm+...+b1x+b0,首项系数为1的多项式,那么存在 f ( x ) = g ( x ) ∗ q ( x ) + r ( x ) f(x)=g(x)*q(x)+r(x) f(x)=g(x)∗q(x)+r(x) P115
对于 f ( x ) = a n x n + . . . + a 1 x + a 0 ≡ 0 m o d p f(x)=a_nx^n+...+a_1x+a_0≡0\ mod p f(x)=anxn+...+a1x+a0≡0 modp的k个不同解,对于任意整数x,都有 f ( x ) ≡ f k ( x ) ∗ ( x − x 1 ) ∗ . . . ∗ ( x − x k ) m o d p f(x)≡f_k(x)*(x-x_1)*...*(x-x_k) mod\ p f(x)≡fk(x)∗(x−x1)∗...∗(x−xk)mod p, f k ( x ) f_k(x) fk(x)是n-k次多项式,首项是 a n a_n an P117
p为一个素数,n是一个不大于p的整数,同余式 f ( x ) = x n + . . + a 1 x + a 0 f(x)=x^n+..+a_1x+a_0 f(x)=xn+..+a1x+a0有n个解的充要条件是 x p − x x^p-x xp−x被f(x)除所得余式的所有系数均是p的倍数 P119
次数
p为素数,d是p-1的正因数,那么 x d − 1 m o d p x^d-1mod\ p xd−1mod p有d个不同的根 P120
第四章
平凡剩余(二次剩余):(a,m)=1, x 2 ≡ a m o d m x^2\equiv \ a\ mod\ m x2≡ a mod m有解,则a叫模m的平方剩余;P125
x 2 ≡ a m o d p x^2\equiv\ a\ mod\ p x2≡ a mod p 且(a,p)=1,p!=2,如若 a p − 1 2 ≡ 1 m o d p a^{\frac{p-1}{2} }\equiv\ 1\ mod\ p a2p−1≡ 1 mod p,(等价)则a是模p的平方剩余,且x有两个解,反之,对于 a p − 1 2 ≡ − 1 m o d p a^{\frac{p-1}{2} }\equiv\ -1\ mod\ p a2p−1≡ −1 mod p,(等价)则a是模p的平方非剩余 P129
Legendre(勒让德)符号:p是素数 P131 ( a p ) = { 1 , 若a是模p的平方剩余 − 1 , 若 a 是 模 p 的 平 方 非 剩 余 0 , 若p|a \left(\frac{a}{p}\right)=\begin{cases}1,&\text{若a是模p的平方剩余}\\-1,&{若a是模p的平方非剩余}\\0,&\text{若p|a}\end{cases} (pa)=⎩⎪⎨⎪⎧1,−1,0,若a是模p的平方剩余若a是模p的平方非剩余若p|a
欧拉判别法则:p是奇素数,a是任意整数 P132 ( a p ) ≡ a p − 1 2 ( m o d m ) \left(\frac{a}{p}\right)\equiv\ a^{\frac{p-1}{2}}(mod\ m) (pa)≡ a2p−1(mod m)
勒让德符号的性质:
- ( a + p p ) = ( a p ) \left(\frac{a+p}{p}\right)=\left(\frac{a}{p}\right) (pa+p)=(pa)
- ( a ∗ b p ) = ( a p ) ∗ ( b p ) \left(\frac{a*b}{p}\right)=\left(\frac{a}{p}\right)*\left(\frac{b}{p}\right) (pa∗b)=(pa)∗(pb)
- ( a 2 p ) = 1 , ( a , p ) = 1 \left(\frac{a^2}{p}\right)=1,(a,p)=1 (pa2)=1,(a,p)=1
高斯引理(不用记):p是奇素数,a是整数,(a,p)=1,如果整数a1,a2,…a*(p-1)/2中模p的最小正剩余大于p/2的个数是m,则有 ( a p ) = ( − 1 ) m \left(\frac{a}{p}\right)=(-1)^m (pa)=(−1)m P134
超级重要的二次互反律:p,q是互素的奇素数,则 ( p q ) = ( − 1 ) p − 1 2 ∗ q − 1 2 ( q p ) \left(\frac{p}{q}\right)=(-1)^{\frac{p-1}{2}*\frac{q-1}{2}}\left(\frac{q}{p}\right) (qp)=(−1)2p−1∗2q−1(pq) P137
雅克比符号:勒让德符号的扩展, ( a m ) = ( a p 1 ) . . . ( a p r ) \left(\frac{a}{m}\right)=\left(\frac{a}{p_1}\right)...\left(\frac{a}{p_r}\right) (ma)=(p1a)...(pra), m = p 1 . . . p r m=p_1...p_r m=p1...pr是奇素数的乘积。二次同余式 x 2 ≡ a m o d m x^2\equiv\ a\ mod\ m x2≡ a mod m有解可以(单向)推出 ( a m ) = 1 \left(\frac{a}{m}\right)=1 (ma)=1, ( a m ) = − 1 \left(\frac{a}{m}\right)=-1 (ma)=−1可以(单向)推出无解;P143
雅克比符号性质与勒让德符号一致 P143 二次互反也一样,只是p,q必须是奇数;
一些与雅克比有关的重要式子:也是和勒让德一样,只要限制条件是p不在局限于奇素数,而是奇数 P144
模平方根看不下去了…先放放
第五章
指数:对于类似欧拉公式的 a e ≡ 1 m o d m a^e\equiv 1 \ mod\ m ae≡1 mod m式子,(a,m)=1,则使式子成立的最小正整数e叫做a对模m的指数,记作 o r d m ( a ) ord_m(a) ordm(a). P166
原根:如果 o r d m ( a ) = φ ( m ) ord_m(a)=\varphi(m) ordm(a)=φ(m),那么a就是模m的原根;P166
指数的性质:
- 如果有整数d,满足 a d ≡ 1 m o d m a^d\equiv 1 \ mod\ m ad≡1 mod m,(a,m)=1,则等价于 o r d m ( a ) ∣ d ord_m(a)|d ordm(a)∣d P168
- 若b与a模m同余,则a,b指数相同 169
- a与 a − 1 a^{-1} a−1指数相同
推论: o r d m ( a ) ∣ φ ( m ) ord_m(a)|\varphi(m) ordm(a)∣φ(m) P168
(a,m)=1,则 a 0 , . . , a φ ( m ) − 1 a^0,..,a^{\varphi(m)-1} a0,..,aφ(m)−1模m两两不同余,特别地,如果a是模m的原根,那么这就是m的简化剩余系;P169
(a,m)=1, a d ≡ a k m o d m a^d\equiv a^k\ mod\ m ad≡ak mod m,等价于 d ≡ k m o d o r d m ( a ) d\equiv k\ mod\ ord_m(a) d≡k mod ordm(a).P170
g是模m的原根,那么 ( d , φ ( m ) ) = 1 , g d (d,\varphi(m))=1,g^d (d,φ(m))=1,gd也是原根 P171
(a,m)=1,设 k ∣ o r d m ( a ) k|ord_m(a) k∣ordm(a),则有 o r d m ( a d ) = k ord_m(a^d)=k ordm(ad)=k,d满足 o r d m ( a ) k ∣ d \frac{ord_m(a)}{k}|d kordm(a)∣d,且这样的d有 φ ( k ) \varphi(k) φ(k)个 P172
若m存在原根,那一定有 φ ( φ ( m ) ) \varphi(\varphi(m)) φ(φ(m))个 P172
原根概率(不重要) P172
若n|m,则 o r d n ( a ) ∣ o r d m ( a ) ord_n(a)|ord_m(a) ordn(a)∣ordm(a)P174
推论:
- p,q为奇素数,(a,qp)=1则: o r d p q ( a ) = [ o r d p ( a ) , o r d q ( a ) ] ∣ [ p − 1 , q − 1 ] ord_{pq}(a)=[ord_p(a),ord_q(a)]\ |\ [p-1,q-1] ordpq(a)=[ordp(a),ordq(a)] ∣ [p−1,q−1]P174
- p,q=2p-1,是奇素数,(a,qp)=1,则 o r d p q ( a ) = [ o r d p ( a ) , o r d q ( a ) ] ∣ q − 1 ord_{pq}(a)=[ord_p(a),ord_q(a)]\ |\ q-1 ordpq(a)=[ordp(a),ordq(a)] ∣ q−1P175
- 设 m = 2 n ∗ p 1 a 1 . . p k a k m=2^n*p_1^{a_1}..p_k^{a_k} m=2n∗p1a1..pkak,则 o r d m ( a ) = [ o r d 2 n ( a ) , o r d p 1 a 1 ( a ) , . . , o r d p k a k ( a ) ] ord_m(a)=[ord_{2^n}(a),ord_{p_1^{a_1}}(a),..,ord_{p_k^{a_k}}(a)] ordm(a)=[ord2n(a),ordp1a1(a),..,ordpkak(a)] P176
a,b与m互素,则存在c o r d m ( c ) = [ o r d m ( a ) , o r d m ( b ) ] ord_m(c)=[ord_m(a),ord_m(b)] ordm(c)=[ordm(a),ordm(b)]P176
e是使 a k e ≡ 1 m o d m a_k^e\equiv\ 1\ mod\ m ake≡ 1 mod m,k属于1, φ ( m ) \varphi(m) φ(m)成立的最小正整数,那么则存在a,使得 e = o r d m ( a ) = [ p r d m ( a 1 ) , . . , o r d m ( a φ ( m ) ) ] , a 1 . . . e=ord_m(a)=[prd_m(a_1),..,ord_m(a_{\varphi(m)})],a_1... e=ordm(a)=[prdm(a1),..,ordm(aφ(m))],a1...是m的简化剩余系P177,e也叫模m的简化剩余系指数;若m为素数时, e = φ ( p ) = p − 1 e=\varphi(p)=p-1 e=φ(p)=p−1 P177
p是奇素数,那么p的原根存在,且有 φ ( p − 1 ) \varphi(p-1) φ(p−1)个
p奇素数,p-1的所有不同素因数是 q 1 , . . , q s q_1,..,q_s q1,..,qs,则g是p原根的充要条件是: g p − 1 q i ! ≡ 1 m o d p g^{p-1}{q_i}!\equiv\ 1\ mod\ p gp−1qi!≡ 1 mod p P179
模m的原根存在性,m必须是2,4, p a , 2 p a p^a,2p^a pa,2pa其中之一,p是奇素数
指标讲的很快,应该不太重要…
第六章
若n是基于a,b的伪素数,则n也是基于a*b的伪素数
若n是基于b的伪素数,则n也是基于 b − 1 b^{-1} b−1的伪素数
若有一个b使得n不是基于b的伪素数,则模n的简化剩余系中至少有一半使得同余式不成立。P199
伪素数是合数的概率小于1/2。 P201
Carmicheal数:Carmicheal数是使Fermat素性检验无效的数,即n是合数,对所有正整数b,(b,n)=1,又有 b n − 1 ≡ 1 m o d n b^{n-1}\equiv\ 1\ mod\ n bn−1≡ 1 mod n都成立,n是Carmicheal数;P203
判断Carmicheal数的条件:
- 如n是一个奇合数,则 n = p 1 . . p k n=p_1..p_k n=p1..pk是一个无平方数,则n是Carmicheal数的充要条件是 p i − 1 ∣ n − 1 p_i-1\ |\ n-1 pi−1 ∣ n−1P203
每个Carmicheal数至少是三个不同素数的乘积
强伪素数检验:P210
- 给出安全参数t,和要检验的奇数n
- 随机取b属于1,n-1
- 计算 r 0 = b t m o d n r_0=b^t\ mod\ n r0=bt mod n
- 如果 r 0 = 1 或 者 − 1 r_0=1或者-1 r0=1或者−1,那么可能为素数,重复随机取b接着检验
- 如果 r 0 r_0 r0不满足,让 r i = r i − 1 2 r_i=r_{i-1}^2 ri=ri−12,判断 r i = − 1 r_i=-1 ri=−1,满足则可能为素数;不满足接着重复这一步变化r;直到重复到i=s;
第八章无…
—结束了,刷题!