淺析ECC加密算法
ECC加密算法:Elliptic Curve Cryptography (ECC)基于離散對(duì)數(shù)的橢圓曲線密碼系統(tǒng)提供與RSA類似的安全性,但是具有相對(duì)較短的密鑰大小。
GF(p) 上的橢圓曲線
素?cái)?shù) p > 3,并且 a,b ∈ GF(p),在 GF(p) 上使得4a3+ 27b2 ≠ 0 。
在GF(p)上,帶參數(shù)a和b的橢圓曲線 E 被定義為(x,y)的解集,其中 x, y ∈ GF(p) 滿足如下方程:
y2= x3 + ax + b
以及一個(gè)額外的點(diǎn) O 。點(diǎn)的集合 E 形成一個(gè)組,并遵守以下規(guī)則:
? O + O = O
? (x, y) + O = (x,y)
? (x, y) + (x, -y) = O
? 兩個(gè)不相等的點(diǎn)相加,x1, ≠ x2:
(x1, y1) + (x2, y2)= (x3, y3)
λ = (y2 - y1) (x2- x1)-1
x3 = λ2 - x1-x2
y3= λ(x1- x3) - y1
? 一個(gè)點(diǎn)的2倍,x1, ≠ 0 :
(x1, y1) + (x1, y1)= (x3, y3)
λ = (3x12 + a) (2y1)-1
x3 = λ2 - 2x1
y3 = λ(x1 - x3) - y1
集合 E 是 滿足:y2 mod p = (x3 + ax + b) mod p
例子:
假設(shè) a = 1, b = 1, p = 23,則橢圓曲線 E23(1, 1) 上的點(diǎn)如下:
(0,1) (6,4) (12,19)
(0,22) (6,19) (13,7)
(1,7) (7,11) (13,16)
(1,16) (7,12) (17,3)
(3,10) (9,7) (17,20)
(3,13) (9,16) (18,3)
(4,0) (11,3) (18,20)
(5,4) (11,20) (19,5)
(5,19) (12,4) (19,18)
如下是計(jì)算過程,以及散點(diǎn)圖:




GF(2k) 上的橢圓曲線


最后:
考慮方程 Q = kP,其中Q, P ∈ Ep(a, b) 且 k < p 。
對(duì)于給定的 k 和 P 計(jì)算 Q 比較容易,而對(duì)給定的 Q 和 P 計(jì)算 k 則比較困難。這就是橢圓曲線的離散對(duì)數(shù)問題。









