现代密码学笔记-Chapter4
一、数学基础
1.群环域
1.1 半群
- 封闭性:运算无溢出
- 结合律:运算无先后顺序
1.2 群(单元运算)
- 半群
- 存在单位元:无运算作用
- 存在逆元:元素可逆,相乘为单位元
1.3 交换群
- 群
- 满足交换律,不分左乘右乘(反例:矩阵乘法运算)
1.4 环(二元运算)
- 加法支持交换群
- 乘法支持半群(不要求可逆和交换律)
- 乘法在加法上可分配(满足分配律,有运算优先级)
1.5 域
- 环
- 乘法群是交换群(去0,乘法不满足此单位元)
2. 乘法逆元
Lemma:记
Z
n
∗
=
{
a
∣
0
<
a
<
n
,
gcd
(
a
,
n
)
=
1
}
\mathbb{Z}^*_n=\{a|0<a<n,\textrm{gcd}(a,n)=1\}
Zn∗={a∣0<a<n,gcd(a,n)=1},则每一元素都存在逆元;
Proof:分为两各方面:
∣
a
×
Z
n
∗
∣
=
∣
Z
n
∗
∣
|a\times\mathbb{Z}^*_n |=|\mathbb{Z}^*_n|
∣a×Zn∗∣=∣Zn∗∣,
a
×
Z
n
∗
⊆
Z
n
∗
a\times\mathbb{Z}^*_n \subseteq \mathbb{Z}^*_n
a×Zn∗⊆Zn∗。当第二个
Z
n
∗
\mathbb{Z}^*_n
Zn∗具体化为1时,第一个
Z
n
∗
\mathbb{Z}^*_n
Zn∗中对应元素为逆元。
- 反证法:若 a × b ≡ a × c mod n a\times b\equiv a\times c \textrm{ mod }n a×b≡a×c mod n,则存在 a b = k 1 n + r , a c = k n + r ab=k_1n+r,ac=k_n+r ab=k1n+r,ac=kn+r,即余数相同。可得 a ( b − c ) = ( k 1 − k 2 ) n a(b-c)=(k_1-k_2)n a(b−c)=(k1−k2)n,由于a和n互素,则a是 k 1 − k 2 k_1-k_2 k1−k2的因子,即 k 1 − k 2 = k 3 a k_1-k_2=k_3a k1−k2=k3a,立即推 a ( b − c ) = k 3 a n a(b-c)=k_3an a(b−c)=k3an,即 b − c = k 3 n ∈ ( − n , n ) b-c=k_3n\in(-n,n) b−c=k3n∈(−n,n),矛盾得证。
- gcd ( a , n ) = 1 , gcd ( c , n ) = 1 \textrm{gcd}(a,n)=1,\textrm{gcd}(c,n)=1 gcd(a,n)=1,gcd(c,n)=1,则 gcd ( a c , n ) = 1 \textrm{gcd}(ac,n)=1 gcd(ac,n)=1,立即推 a c ∈ Z n ∗ → × Z n ∗ ⊆ Z n ∗ ac\in\mathbb{Z}^*_n\rightarrow \times \mathbb{Z}^*_n \subseteq \mathbb{Z}^*_n ac∈Zn∗→×Zn∗⊆Zn∗
3. 费马定理
a
p
−
1
≡
1
mod
p
a^{p-1}\equiv 1 \textrm{ mod }p
ap−1≡1 mod p
由于
a
×
Z
p
=
Z
p
a\times\mathbb{Z}_p=\mathbb{Z}_p
a×Zp=Zp
则
a
×
2
a
×
⋯
(
p
−
1
)
a
=
(
p
−
1
)
!
a
p
−
1
≡
[
(
a
mod
p
)
×
(
2
a
mod
p
)
⋯
(
(
p
−
1
)
a
mod
p
)
]
≡
(
p
−
1
)
!
mod
p
a\times 2a\times \cdots (p-1)a=(p-1)!a^{p-1}\equiv [(a\textrm{ mod }p)\times(2a\textrm{ mod }p)\cdots((p-1)a\textrm{ mod }p)]\equiv(p-1)!\textrm{ mod }p
a×2a×⋯(p−1)a=(p−1)!ap−1≡[(a mod p)×(2a mod p)⋯((p−1)a mod p)]≡(p−1)! mod p
4. 欧拉函数
φ ( n ) \varphi(n) φ(n)是小于n且与n互素的正整数的个数
- φ ( p ) = p − 1 \varphi(p)=p-1 φ(p)=p−1
- 若 n = p 1 α 1 p 2 α 2 ⋯ p t α t n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_t^{\alpha_t} n=p1α1p2α2⋯ptαt, φ ( n ) = n ( 1 − 1 p 1 ) ⋯ ( 1 − 1 p t ) \varphi(n)=n(1-\frac{1}{p_{1}})\cdots(1-\frac{1}{p_t}) φ(n)=n(1−p11)⋯(1−pt1)
5. 欧拉定理
若a和n互素,则 a φ ( n ) ≡ 1 mod n a^{\varphi(n)}\equiv 1 \textrm{ mod} n aφ(n)≡1 modn
6. 卡米歇尔定理
对满足 gcd ( a , n ) = 1 \textrm{gcd}(a,n)=1 gcd(a,n)=1的所有 a a a,使得 a m ≡ 1 mod n a^m\equiv 1 \textrm{ mod }n am≡1 mod n同时成立的最小正整数m称为n的卡米歇尔函数,记为 λ ( n ) \lambda(n) λ(n)。
- 重点记忆:若a和n互素,则 a λ ( n ) ≡ 1 mod n a^{\lambda(n)}\equiv 1 \textrm{ mod } n aλ(n)≡1 mod n
- 若
n
=
p
1
α
1
p
2
α
2
⋯
p
t
α
t
n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_t^{\alpha_t}
n=p1α1p2α2⋯ptαt,
λ
(
n
)
=
lcm
(
λ
(
p
1
α
1
)
,
⋯
,
λ
(
p
t
α
t
)
)
\lambda(n)=\textrm{lcm}(\lambda(p_1^{\alpha_1}),\cdots,\lambda(p_t^{\alpha_t}))
λ(n)=lcm(λ(p1α1),⋯,λ(ptαt)),其中若
n
=
p
α
n=p^{\alpha}
n=pα,
λ
(
n
)
=
φ
(
n
)
\lambda(n)=\varphi(n)
λ(n)=φ(n)
- 扩展:在Paillier等加密体制中, n = p q , λ = lcm ( p − 1 , q − 1 ) = lcm ( λ ( p ) , λ ( q ) ) n=pq,\lambda=\textrm{lcm}(p-1,q-1)=\textrm{lcm}(\lambda(p),\lambda(q)) n=pq,λ=lcm(p−1,q−1)=lcm(λ(p),λ(q)),又 g ∈ Z n 2 ∗ g\in\mathbb{Z}^*_{n^2} g∈Zn2∗,则 gcd ( g , n ) = 1 \textrm{gcd}(g,n)=1 gcd(g,n)=1。立即推, g λ ≡ 1 mod n , g λ = 1 + k n g^{\lambda}\equiv 1 \textrm{ mod } n,g^{\lambda}=1+kn gλ≡1 mod n,gλ=1+kn,后续可按流程解密,不赘叙
- 再扩展:在HRES等体制中, λ ( n 2 ) = lcm ( λ ( p 2 ) , λ ( q 2 ) ) = lcm ( p 2 − p , q 2 − q ) = n lcm ( p − 1 , q − 1 ) = n λ ( n ) \lambda(n^2)=\textrm{lcm}(\lambda(p^2),\lambda(q^2))=\textrm{lcm}(p^2-p,q^2-q)=n\textrm{lcm}(p-1,q-1)=n\lambda(n) λ(n2)=lcm(λ(p2),λ(q2))=lcm(p2−p,q2−q)=nlcm(p−1,q−1)=nλ(n)
7. 扩展欧几里得算法
始终保持: a Y 1 + b Y 2 ≡ 1 aY_1+bY_2\equiv 1 aY1+bY2≡1,得到 Y 1 ≡ a − 1 mod b , Y 2 ≡ b − 1 mod a Y_1\equiv a^{-1}\textrm{ mod }b,Y_2\equiv b^{-1}\textrm{ mod }a Y1≡a−1 mod b,Y2≡b−1 mod a
循环次数 | Q | X_1 | X_2 | X_3 | Y_1 | Y_2 | Y_3 |
---|---|---|---|---|---|---|---|
初值 | - | 1 | 0 | a | 0 | 1 | b |
1 | r 1 r_1 r1 | 0 | 1 | b | 1-0* r 1 r_1 r1 | 0-1* r 1 r_1 r1 | a-b* r 1 r_1 r1 |
t | r t r_t rt | Y 1 ( 旧 ) Y_1(旧) Y1(旧) | Y 2 ( 旧 ) Y_2(旧) Y2(旧) | Y 3 ( 旧 ) Y_3(旧) Y3(旧) | a − 1 a^{-1} a−1 | b − 1 b^{-1} b−1 | 1 |
注意 gcd ( a , b ) = 1 \textrm{gcd}(a,b)=1 gcd(a,b)=1
8. 中国剩余定理CRT
设
m
1
,
m
2
,
⋯
,
m
k
m_1,m_2,\cdots,m_k
m1,m2,⋯,mk是两两互素的正整数,
M
=
∏
i
=
1
k
m
i
M=\prod_{i=1}^km_i
M=∏i=1kmi,则一次同余方程组:
{
a
1
(
mod
m
1
)
≡
x
a
2
(
mod
m
2
)
≡
x
⋮
a
k
(
mod
m
k
)
≡
x
\begin{cases}a_1(\textrm{ mod }m_1)\equiv x \\ a_2(\textrm{ mod }m_2)\equiv x\\ \vdots\\a_k(\textrm{ mod }m_k)\equiv x \end{cases}
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧a1( mod m1)≡xa2( mod m2)≡x⋮ak( mod mk)≡x
有模
M
M
M下的唯一解:
x
≡
(
M
m
1
e
1
a
1
+
⋯
+
M
m
k
e
k
a
k
)
(
mod
M
)
x\equiv ( \frac{M}{m_1}e_1a_1+\cdots+\frac{M}{m_k}e_ka_k)(\textrm{mod }M)
x≡(m1Me1a1+⋯+mkMekak)(mod M),其中
e
i
e_i
ei是逆元,满足
M
m
i
⋅
e
i
≡
1
mod
m
i
(
i
=
1
,
2
,
⋯
,
k
)
\frac{M}{m_i}\cdot e_i\equiv1 \textrm{ mod } m_i (i=1,2,\cdots,k)
miM⋅ei≡1 mod mi(i=1,2,⋯,k)
9. 平方剩余
对满足 gcd ( a , n ) = 1 \textrm{gcd}(a,n)=1 gcd(a,n)=1, x 2 ≡ a mod n x^2\equiv a \textrm{ mod }n x2≡a mod n有解
- 若p是素数,则a恰有两个平方根,一个在 0 ∼ p − 1 0\sim p-1 0∼p−1,一个在 ( p − 1 ) / 2 + 1 ∼ p − 1 (p-1)/2+1\sim p-1 (p−1)/2+1∼p−1
9.1 Legendre符号
-
(
a
p
)
≡
a
p
−
1
2
mod
p
(\frac{a}{p})\equiv a^{\frac{p-1}{2}} \textrm{ mod } p
(pa)≡a2p−1 mod p
( a p ) = { 0 , 如 果 a 被 p 整 除 − 1 , 如 果 a 是 模 p 的 平 方 剩 余 1 , 如 果 a 是 模 p 的 非 平 方 剩 余 (\frac{a}{p})=\begin{cases}0,\quad 如果a被p整除 \\-1,如果a是模p的平方剩余\\1,如果a是模p的非平方剩余 \end{cases} (pa)=⎩⎪⎨⎪⎧0,如果a被p整除−1,如果a是模p的平方剩余1,如果a是模p的非平方剩余
( a b p ) = ( a p ) ( b p ) (\frac{ab}{p})=(\frac{a}{p})(\frac{b}{p}) (pab)=(pa)(pb)
9.2 Jacobi符号
若 n = p 1 α 1 p 2 α 2 ⋯ p t α t n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_t^{\alpha_t} n=p1α1p2α2⋯ptαt,则 ( a n ) = ( a p 1 ) α 1 ( a p 2 ) α 2 ⋯ ( a p t ) α t (\frac{a}{n})=(\frac{a}{p_1})^{\alpha_1}(\frac{a}{p_2})^{\alpha_2}\cdots(\frac{a}{p_t})^{\alpha_t} (na)=(p1a)α1(p2a)α2⋯(pta)αt
- 注意:当m、n是大于2 的奇数时, ( m n ) = ( − 1 ) ( ( m − 1 ) ( n − 1 ) 4 ) ( n m ) (\frac{m}{n})=(-1)^{(\frac{(m-1)(n-1)}{4})}(\frac{n}{m}) (nm)=(−1)(4(m−1)(n−1))(mn)
- 特别的, m ≡ n ≡ 3 mod 4 m\equiv n\equiv 3 \textrm{ mod }4 m≡n≡3 mod 4, ( m n ) = − ( n m ) (\frac{m}{n})=-(\frac{n}{m}) (nm)=−(mn);否则, ( m n ) = ( n m ) (\frac{m}{n})=(\frac{n}{m}) (nm)=(mn)
定理: p ≡ q ≡ 3 mod 4 p\equiv q\equiv 3 \textrm{ mod }4 p≡q≡3 mod 4时,求解方程 x 2 ≡ a mod n x^2\equiv a \textrm{ mod }n x2≡a mod n与分解 n n n是等价的
- 分解 n = p q n=pq n=pq后,根据Rabin密码体制可快速求四个不同的解,并利用中国剩余定理得到 x x x
- 已知 a mod n a \textrm{ mod }n a mod n后,根据两个不同的平方根 u u u和 w w w,且 u ≤ w mod n u\leq w \textrm{ mod }n u≤w mod n。由于 u 2 ≡ w 2 mod n u^2\equiv w^2 \textrm{ mod }n u2≡w2 mod n,则 ( u + w ) ( u − w ) e q u i v 0 mod n (u+w)(u-w)equiv 0 \textrm{ mod }n (u+w)(u−w)equiv0 mod n,可推出 p ∣ ( u + w ) , q ∣ ( u − w ) p|(u+w),q|(u-w) p∣(u+w),q∣(u−w)或 p ∣ ( u − w ) , q ∣ ( u + w ) p|(u-w),q|(u+w) p∣(u−w),q∣(u+w),由欧几里得算求最大公因子即可求出 gcd ( n , u + w ) = p , gcd ( n , u − w ) = q \textrm{gcd}(n,u+w)=p,\textrm{gcd}(n,u-w)=q gcd(n,u+w)=p,gcd(n,u−w)=q(第二种亦然)。
二、密码算法
1. RSA
1.1 基本流程
- n = p q , φ ( n ) = ( p − 1 ) ( q − 1 ) n=pq,\varphi(n)=(p-1)(q-1) n=pq,φ(n)=(p−1)(q−1)是欧拉函数,同样是卡米歇尔函数
- 1 < e < φ ( n ) , gcd ( φ ( n ) , e ) = 1 , d ⋅ e ≡ 1 mod n 1<e<\varphi(n),\textrm{gcd}(\varphi(n),e)=1,d\cdot e\equiv 1 \textrm{ mod }n 1<e<φ(n),gcd(φ(n),e)=1,d⋅e≡1 mod n
- c ≡ m e mod n c\equiv m^e \textrm{ mod }n c≡me mod n
- m ≡ c d mod n m\equiv c^d \textrm{ mod }n m≡cd mod n
- 正确性:
m
≡
c
d
mod
n
≡
m
e
d
mod
n
≡
m
k
φ
(
n
)
+
1
mod
n
m\equiv c^d \textrm{ mod }n\equiv m^{ed} \textrm{ mod }n\equiv m^{k\varphi(n)+1} \textrm{ mod }n
m≡cd mod n≡med mod n≡mkφ(n)+1 mod n
- m与n互素时,由欧拉定理 m φ ( n ) ≡ 1 mod n m^{\varphi(n)} \equiv 1 \textrm{ mod }n mφ(n)≡1 mod n得证
- 不互素时,则 p ∣ m p|m p∣m或 q ∣ m q|m q∣m,由欧拉定理 m φ ( p ) ≡ 1 mod p → m k φ ( n ) ≡ 1 mod p m^{\varphi(p)} \equiv 1 \textrm{ mod }p\rightarrow m^{k\varphi(n)} \equiv 1 \textrm{ mod p} mφ(p)≡1 mod p→mkφ(n)≡1 mod p得证
1.2 共模攻击
- 满足公开钥
gcd
(
e
1
,
e
2
)
=
1
\textrm{gcd}(e_1,e_2)=1
gcd(e1,e2)=1
{ c 1 ≡ m e 1 mod n c 2 ≡ m e 2 mod n \begin{cases}c_1\equiv m^{e_1} \textrm{ mod }n \\c_2\equiv m^{e_2} \textrm{ mod }n\end{cases} {c1≡me1 mod nc2≡me2 mod n - 由扩展欧几里得算法求出 r e 1 + s e 2 = 1 re_1+se_2=1 re1+se2=1,其中两个值一正一负 r < 0 , s > 0 r<0,s>0 r<0,s>0。实质上可以求 r r r在 φ ( n ) \varphi(n) φ(n)的加法逆元来保持正值。
- 可解得 m ≡ ( c 1 − 1 ) − r c 2 s mod n m\equiv (c_1^{-1})^{-r}c_2^{s}\textrm{ mod }n m≡(c1−1)−rc2s mod n
1.3 低指数攻击
- 模数
n
1
,
n
2
,
n
3
n_1,n_2,n_3
n1,n2,n3两两互素,否则可根据欧几里得算法最大公因子进而分解模数
{ c 1 ≡ m 3 mod n 1 c 2 ≡ m 3 mod n 2 c 3 ≡ m 3 mod n 3 \begin{cases}c_1\equiv m^{3} \textrm{ mod }n_1 \\c_2\equiv m^{3} \textrm{ mod }n_2\\c_3\equiv m^{3} \textrm{ mod }n_3\end{cases} ⎩⎪⎨⎪⎧c1≡m3 mod n1c2≡m3 mod n2c3≡m3 mod n3 - 由中国剩余定理可解得 m 3 mod n 1 n 2 n 3 m^3 \textrm{ mod }n_1n_2n_3 m3 mod n1n2n3,并开立方根。
2. Rabin
- 同一密文对应两个以上的明文(最多四个)
- 破解难度等价于大整数分解
2.1 基本流程
- p ≡ q ≡ 3 m o d 4 , n = p q , e = 2 p\equiv q\equiv 3 \bmod{4},n=pq,e=2 p≡q≡3mod4,n=pq,e=2
- c ≡ m 2 m o d n c\equiv m^2 \bmod{n} c≡m2modn
- 求解
c
c
c模
n
n
n的平方根。
3.1 计算 c c c模 p p p和 q q q的平方根
{ m p ≡ c p + 1 4 m o d p m q ≡ c q + 1 4 m o d q \begin{cases}m_p\equiv c^{\frac{p+1}{4}} \bmod{p} \\m_q\equiv c^{\frac{q+1}{4}} \bmod{q}\\\end{cases} {mp≡c4p+1modpmq≡c4q+1modq
3.2 用扩展欧几里得算法求解逆元 y p , y q y_p ,y_q yp,yq满足: y p ⋅ p + y q ⋅ q = 1 y_p \cdot p + y_q \cdot q = 1 yp⋅p+yq⋅q=1
3.3 用中国剩余定理找出四个拼平方根(当 m p m_p mp(即 c ≡ 0 m o d p c \equiv 0 \bmod{p} c≡0modp)或 m q m_q mq为0时只有两个值)
{ r 1 ≡ ( y p ⋅ p ⋅ m q + y q ⋅ q ⋅ m p ) m o d n r 2 ≡ n − r 1 r 3 ≡ ( y p ⋅ p ⋅ m q − y q ⋅ q ⋅ m p ) m o d n r 4 ≡ n − r 3 \begin{cases}r_1\equiv \left( y_p \cdot p \cdot m_q + y_q \cdot q \cdot m_p \right) \bmod{n} \\ r_2\equiv n - r_1 \\ r_3\equiv \left( y_p \cdot p \cdot m_q - y_q \cdot q \cdot m_p \right) \bmod{n} \\ r_4\equiv n - r_3 \\ \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧r1≡(yp⋅p⋅mq+yq⋅q⋅mp)modnr2≡n−r1r3≡(yp⋅p⋅mq−yq⋅q⋅mp)modnr4≡n−r3
2.2 正确性
证明1:模n同余等价于模p模q同余
- 若 a ≡ b m o d p a\equiv b \bmod{p} a≡bmodp,则 p ∣ ( a − b ) p|(a-b) p∣(a−b),同理 q ∣ ( a − b ) q|(a-b) q∣(a−b),立即推 n ∣ ( a − b ) n|(a-b) n∣(a−b),即 a ≡ b m o d n ≡ b m o d p q a\equiv b \bmod{n}\equiv b \bmod{pq} a≡bmodn≡bmodpq
- 若 a ≡ b m o d n a\equiv b \bmod{n} a≡bmodn,则 n ∣ ( a − b ) n|(a-b) n∣(a−b),又 p ∣ n , q ∣ n p|n,q|n p∣n,q∣n,立即推 p ∣ ( a − b ) , q ∣ ( a − b ) p|(a-b),q|(a-b) p∣(a−b),q∣(a−b),即 a ≡ b m o d p , a ≡ b m o d q a\equiv b \bmod{p},a\equiv b \bmod{q} a≡bmodp,a≡bmodq
证明2: p ≡ q ≡ 3 m o d 4 p\equiv q\equiv 3 \bmod{4} p≡q≡3mod4易求解 m p 2 ≡ c m o d p m_p^2 \equiv c \bmod{p} mp2≡cmodp
- 由平方剩余知 ( c p ) ≡ c p − 1 2 ≡ 1 m o d p (\frac{c}{p})\equiv c^{\frac{p-1}{2}} \equiv1 \bmod{p} (pc)≡c2p−1≡1modp
- 由 p ≡ 3 mod 4 p\equiv 3 \textrm{ mod }4 p≡3 mod 4知 p + 1 = 4 k p+1=4k p+1=4k,即 p + 1 4 \frac{p+1}{4} 4p+1是整数
- 则 m p 2 ≡ c p + 1 2 ≡ c ⋅ c 1 2 ( p − 1 ) ≡ c ⋅ 1 m o d p m_p^2 \equiv c^{\frac{p+1}{2}} \equiv c\cdot c^{\frac{1}{2}(p-1)} \equiv c \cdot 1 \bmod{p} mp2≡c2p+1≡c⋅c21(p−1)≡c⋅1modp
3. ECC
- 短密钥(RSA-1024对应ECC-60)
- 存在单位元、逆元,关于x轴对称
3.1 基本概念
定义在
F
p
m
F_{p^m}
Fpm上的椭圆曲线方程为:
y
2
=
x
3
+
a
x
+
b
,
a
,
b
∈
F
p
m
y^2 = x^3 + ax + b,a,b\in F_{p^m}
y2=x3+ax+b,a,b∈Fpm,且
4
a
3
+
27
b
2
≠
0
4a^3 + 27b^2\ne0
4a3+27b2=0。
椭圆曲线
E
(
F
p
m
)
E(F_{p^m})
E(Fpm)定义为:
E
(
F
p
m
)
=
{
(
x
,
y
)
∣
x
,
y
∈
F
p
m
E(F_{p^m}) = \{(x, y)| x, y\in F_{p^m}
E(Fpm)={(x,y)∣x,y∈Fpm且满足方程
}
∪
{
O
}
\}∪\{O\}
}∪{O},其中
O
O
O是无穷远点。
椭圆曲线
E
(
F
p
m
)
(
m
≥
1
)
E(F_{p^m}) (m\ge 1)
E(Fpm)(m≥1)上的点满足加法运算规则构成交换群:
- O + O = O O + O = O O+O=O;
- ∀ P = ( x , y ) ∈ E ( F p m ) ∖ { O } , P + O = O + P = P \forall P = (x, y)\in E(F_{p^m})\setminus\{O\},P + O = O + P = P ∀P=(x,y)∈E(Fpm)∖{O},P+O=O+P=P;
- ∀ P = ( x , y ) ∈ E ( F p m ) ∖ { O } \forall P = (x, y)\in E(F_{p^m})\setminus\{O\} ∀P=(x,y)∈E(Fpm)∖{O}, P P P的逆元素 − P = ( x , − y ) , P + ( − P ) = O -P = (x,-y),P + (-P) = O −P=(x,−y),P+(−P)=O;
- 两个非互逆的不同点相加的规则:
设 P 1 = ( x 1 , y 1 ) ∈ E ( F p m ) ∖ { O } , P 2 = ( x 2 , y 2 ) ∈ E ( F p m ) ∖ { O } P_1 = (x_1, y_1)\in E(F_{p^m})\setminus\{O\},P_2 = (x_2, y_2)\in E(F_{p^m})\setminus\{O\} P1=(x1,y1)∈E(Fpm)∖{O},P2=(x2,y2)∈E(Fpm)∖{O},且 x 1 ≠ x 2 x_1\ne x_2 x1=x2,
令 P 3 = ( x 3 , y 3 ) = P 1 + P 2 P_3=(x_3, y_3) =P_1+P_2 P3=(x3,y3)=P1+P2,则 { x 3 = λ 2 − x 1 − x 2 , y 3 = λ ( x 1 − x 3 ) − y 1 , \begin{cases}x_3=\lambda^2-x_1-x_2, \\y_3=\lambda(x_1-x_3)-y_1,\\\end{cases} {x3=λ2−x1−x2,y3=λ(x1−x3)−y1,
其中 λ = y 2 − y 1 x 2 − x 1 \lambda = \frac{y_2-y_1}{x_2-x_1} λ=x2−x1y2−y1; - 倍点规则:
设 P 1 = ( x 1 , y 1 ) ∈ E ( F p m ) ∖ { O } P_1 = (x_1, y_1)\in E(F_{p^m})\setminus\{O\} P1=(x1,y1)∈E(Fpm)∖{O},且 y 1 ≠ 0 y_1\ne 0 y1=0,
令 P 3 = ( x 3 , y 3 ) = P 1 + P 1 P_3 = (x_3, y_3) = P_1+ P_1 P3=(x3,y3)=P1+P1,则 { x 3 = λ 2 − 2 x 1 , y 3 = λ ( x 1 − x 3 ) − y 1 , \begin{cases}x_3=\lambda^2-2x_1, \\y_3=\lambda(x_1-x_3)-y_1,\\\end{cases} {x3=λ2−2x1,y3=λ(x1−x3)−y1,
其中 λ = 3 x 1 2 + a 2 y 1 \lambda = \frac{3x_1^2+a}{2y_1} λ=2y13x12+a。
3.2 应用
- 有限域上离散对数问题(DLP)
有限域 F q m F_{q^m} Fqm ( q q q 为奇素数, m ≥ 1 m\ge1 m≥1)的全体非零元素构成一个乘法循环群,记为 F q m ∗ F_{q^m}^* Fqm∗。 F q m ∗ F_{q^m}^* Fqm∗中存在元素 g g g,使得 F q m ∗ = { g i ∣ = 0 ≤ i ≤ q m − 2 } F_{q^m}^*=\{g^i | =0\le i \le q^m-2\} Fqm∗={gi∣=0≤i≤qm−2},称 g g g为生成元。 F q m ∗ F_{q^m}^* Fqm∗中元素 a a a的阶是满足 a t = 1 a^t=1 at=1的最小正整数 t t t。群 F q m ∗ F_{q^m}^* Fqm∗的阶为 q m − 1 q^m-1 qm−1,因此 t ∣ q m − 1 t | q^m-1 t∣qm−1。
设乘法循环群 F q m ∗ F_{q^m}^* Fqm∗的生成元为 g g g, y ∈ F q m ∗ y\in F_{q^m}^* y∈Fqm∗,有限域上离散对数问题是指确定整数 x ∈ [ 0 , q m − 2 ] x\in [0,q^m-2] x∈[0,qm−2],使得
y = g x y = g^x y=gx在 F q m ∗ F_{q^m}^* Fqm∗上成立。 - 椭圆曲线离散对数问题(ECDLP)
已知椭圆曲线 E ( F p m ) ( m ≥ 1 ) E(F_{p^m}) (m\ge 1) E(Fpm)(m≥1),阶为 n n n的点 P ∈ E ( F p m ) P\in E(F_{p^m}) P∈E(Fpm)及 Q ∈ < P > Q\in<P> Q∈<P>,椭圆曲线离散对数问题是指确定整数 k ∈ [ 0 , n − 1 ] k\in [0, n-1] k∈[0,n−1],使得 Q = [ k ] P Q=[k]P Q=[k]P成立。
- Diffie-Hellman密钥交换
- ElGamal密码体制