复习自用,详请参考我的blog:密码学导引(annesede.github.io)。
记号:/或, G G G群, R R R环, F F F域, p , q p,q p,q素数, g g g原根/生成元,变量默认为正整数。
整除
(扩展)Euclid算法:数/多项式(大除法);
(
a
,
b
)
=
n
(a,b)=n
(a,b)=n,
∃
s
,
t
\exists s,t
∃s,t s.t.
s
a
+
b
t
=
n
sa+bt=n
sa+bt=n。
模除(模逆):
(
b
,
m
)
=
1
(b,m)=1
(b,m)=1,
x
≡
a
b
≡
a
b
−
1
(
m
o
d
m
)
x\equiv\frac{a}{b} \equiv ab^{-1}({\rm mod}\ m)
x≡ba≡ab−1(mod m);扩展Euclid算法。
技巧:
A
⟺
B
A\iff B
A⟺B:必要性
A
⟹
B
A\implies B
A⟹B;充分性
B
⟹
A
B\implies A
B⟹A。
p
∣
a
b
⟹
p
∣
a
p|ab\implies p|a
p∣ab⟹p∣a 或
p
∣
b
p|b
p∣b。
a
∣
b
,
b
∣
a
⟹
a
=
b
a|b,b|a\implies a=b
a∣b,b∣a⟹a=b。
∃
q
,
r
\exists q,r
∃q,r s.t.
a
=
q
b
+
r
a=qb+r
a=qb+r,
0
≤
r
<
b
0\leq r<b
0≤r<b。
同余
Euler函数: φ ( n ) = n ∏ p ∣ n ( 1 − 1 p ) \varphi(n)=n\prod_{p|n}(1-\frac{1}{p}) φ(n)=n∏p∣n(1−p1)。
Euler定理: ( a , m ) = 1 (a,m)=1 (a,m)=1, a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}\equiv 1({\rm mod}\ m) aφ(m)≡1(mod m)。
Fermat定理: a p ≡ a ( m o d p ) a^p\equiv a({\rm mod}\ p) ap≡a(mod p)。
Wilson定理: ( p − 1 ) ! ≡ − 1 ( m o d p ) (p-1)!\equiv -1({\rm mod}\ p) (p−1)!≡−1(mod p)。
( a , p ) = 1 (a,p)=1 (a,p)=1, a − 1 ≡ a p − 2 ( m o d p ) a^{-1}\equiv a^{p-2}({\rm mod}\ p) a−1≡ap−2(mod p)。
同余式
一次同余式: a x ≡ b ( m o d m ) ax\equiv b({\rm mod}\ m) ax≡b(mod m)有解 ⟺ ( a , m ) ∣ b \iff (a,m)|b ⟺(a,m)∣b;此时 x ≡ ( ( a ( a , m ) ) − 1 ( m o d m ( a , m ) ) ) + b ( a , m ) + t m ( a , m ) ( m o d m ) x\equiv ((\frac{a}{(a,m)})^{-1}({\rm mod}\ \frac{m}{(a,m)}))+\frac{b}{(a,m)}+t\frac{m}{(a,m)}({\rm mod}\ m) x≡(((a,m)a)−1(mod (a,m)m))+(a,m)b+t(a,m)m(mod m), t = 0 , 1 , . . . , ( a , m ) − 1 t=0,1,...,(a,m)-1 t=0,1,...,(a,m)−1,共 ( a , m ) (a,m) (a,m)个解。
CRT: x ≡ a i ( m o d m i ) x\equiv a_i({\rm mod}\ m_i) x≡ai(mod mi), m i m_i mi两两互素,有唯一解 x ≡ ∑ M i M i − 1 a i ( m o d m ) x\equiv \sum M_iM_i^{-1}a_i({\rm mod}\ m) x≡∑MiMi−1ai(mod m);其中 m = ∏ m i m=\prod m_i m=∏mi, M i = ∏ m − i M_i=\prod m_{-i} Mi=∏m−i, M i M i − 1 ≡ 1 ( m o d m i ) M_iM_i^{-1}\equiv 1({\rm mod}\ m_i) MiMi−1≡1(mod mi)。
RSA:
n
=
p
q
n=pq
n=pq,
φ
(
n
)
=
(
p
−
1
)
(
q
−
1
)
\varphi(n)=(p-1)(q-1)
φ(n)=(p−1)(q−1),
(
e
,
φ
(
n
)
)
=
1
(e,\varphi(n))=1
(e,φ(n))=1,
d
≡
e
−
1
(
m
o
d
φ
(
n
)
)
d\equiv e^{-1}({\rm mod}\ \varphi(n))
d≡e−1(mod φ(n))。
加密:
c
≡
m
e
(
m
o
d
n
)
c\equiv m^e({\rm mod}\ n)
c≡me(mod n)。
解密:
m
≡
c
d
(
m
o
d
m
)
⟸
m\equiv c^d({\rm mod}\ m)\Longleftarrow
m≡cd(mod m)⟸CRT
⟸
m
≡
c
d
(
m
o
d
p
)
\Longleftarrow m\equiv c^d({\rm mod}\ p)
⟸m≡cd(mod p) 和
m
≡
c
d
(
m
o
d
q
)
m\equiv c^d({\rm mod}\ q)
m≡cd(mod q)。
二次剩余
Euler判定: a p − 1 2 ≡ 1 ( m o d p ) ⟺ a a^\frac{p-1}{2}\equiv 1({\rm mod}\ p) \iff a a2p−1≡1(mod p)⟺a为二次剩余; a p − 1 2 ≡ − 1 ( m o d p ) ⟺ a a^\frac{p-1}{2}\equiv -1({\rm mod}\ p) \iff a a2p−1≡−1(mod p)⟺a 为二次非剩余。
a 2 ≡ ( p − a ) 2 ( m o d p ) a^2\equiv (p-a)^2({\rm mod}\ p) a2≡(p−a)2(mod p)。
原根
元素阶:
∣
a
∣
∣
∣
G
∣
|a|||G|
∣a∣∣∣G∣;
∣
a
d
∣
=
∣
a
∣
(
∣
a
∣
,
d
)
|a^d|=\frac{|a|}{(|a|,d)}
∣ad∣=(∣a∣,d)∣a∣。
不妨设
∣
a
∣
=
n
,
∣
a
d
∣
=
m
|a|=n,|a^d|=m
∣a∣=n,∣ad∣=m,由于
a
d
m
=
e
a^{dm}=e
adm=e,即
n
∣
d
m
n|dm
n∣dm,进而
n
(
n
,
d
)
∣
d
(
n
,
d
)
m
\frac{n}{(n,d)}|\frac{d}{(n,d)}m
(n,d)n∣(n,d)dm,即
n
(
n
,
d
)
∣
m
\frac{n}{(n,d)}|m
(n,d)n∣m;
同时
(
a
d
)
n
(
n
,
d
)
=
e
(a^d)^\frac{n}{(n,d)}=e
(ad)(n,d)n=e,即
m
∣
n
(
n
,
d
)
m|\frac{n}{(n,d)}
m∣(n,d)n,故
∣
a
d
∣
=
∣
a
∣
(
∣
a
∣
,
d
)
|a^d|=\frac{|a|}{(|a|,d)}
∣ad∣=(∣a∣,d)∣a∣。
考虑循环群 Z p ∗ = ⟨ g ⟩ \mathbb{Z}_p^*=\langle g\rangle Zp∗=⟨g⟩时,原根即为生成元。
原根(生成元): p − 1 = ∏ p i p-1=\prod p_i p−1=∏pi, g p − 1 p i ≢ 1 ( m o d p ) g^\frac{p-1}{p_i}\not\equiv 1({\rm mod}\ p) gpip−1≡1(mod p);即 ∣ g ∣ = p − 1 |g|=p-1 ∣g∣=p−1;共 φ ( p − 1 ) \varphi(p-1) φ(p−1)个。
群、环、域
群/环证明: H H H为群 ⟸ H < G \Longleftarrow H<G ⟸H<G; I I I为环 ⟸ I < R \Longleftarrow I<R ⟸I<R。
循环群: ∣ g ∣ = ∣ G ∣ |g|=|G| ∣g∣=∣G∣。
整环:无零因子交换幺环;零因子
a
,
b
≠
0
a,b\ne 0
a,b=0,但
a
b
=
b
a
=
0
ab=ba=0
ab=ba=0。
域:
(
F
−
{
0
}
,
×
)
(F-\{0\},\times)
(F−{0},×)为Abel群;有群表。
多项式域: F p [ x ] / ⟨ q ( x ) ⟩ = { ∑ i = 0 d e g q a i x i ∣ a i ∈ F p } ≅ F p n F_p[x]/\langle q(x)\rangle=\{\sum_{i=0}^{{\rm deg}q}a_ix^i\ | \ a_i\in F_p\}\cong F_{p^n} Fp[x]/⟨q(x)⟩={∑i=0degqaixi ∣ ai∈Fp}≅Fpn。
椭圆曲线
群构造: y 2 ≡ x 3 + a x + b ( m o d p ) → E p ( a , b ) y^2\equiv x^3+ax+b ({\rm mod}\ p)\to E_p(a,b) y2≡x3+ax+b(mod p)→Ep(a,b);二次剩余。
群加法:
P
(
x
1
,
y
1
)
,
Q
(
x
2
,
y
2
)
,
P
+
Q
(
x
3
,
y
3
)
P(x_1,y_1),Q(x_2,y_2),P+Q(x_3,y_3)
P(x1,y1),Q(x2,y2),P+Q(x3,y3);模除。
x
3
=
λ
2
−
x
1
−
x
2
x_3=\lambda^2-x_1-x_2
x3=λ2−x1−x2;
y
3
=
λ
(
x
1
−
x
3
)
−
y
1
y_3=\lambda(x_1-x_3)-y_1
y3=λ(x1−x3)−y1。
λ
=
y
2
−
y
1
x
2
−
x
1
(
P
≠
Q
)
;
3
x
1
2
+
a
2
y
1
(
P
=
Q
)
\lambda=\frac{y_2-y_1}{x_2-x_1}\ (P\ne Q);\ \frac{3x_1^2+a}{2y_1}\ (P=Q)
λ=x2−x1y2−y1 (P=Q); 2y13x12+a (P=Q)。