橢圓曲線的基本概念


橢圓曲線

設F是一個域,a,b\(\in\)F,則方程\(y^2=x^3+ax+b\)稱為域F上的橢圓曲線。
上述方程稱為維爾斯特拉斯方程,其判別式為\(y^2+axy+by=x^3+cx^2+dx+e\)
比如,實數域上的橢圓曲線如下:

橢圓曲線上的加法:
設F是一個域,a,b\(\in\)F,令E={(x,y)|\(y^2=x^3+ax+b\)}\(\cup\){\(\infty\)},其中{\(\infty\)}為無窮遠點,則可以定義橢圓曲線上的加法為:
1)設\(P_1,P_2\in E\),令R為\(P_1,P_2\)兩點連線與橢圓曲線的交點關於X軸的對稱點,則\(P_1+P_2=R\)
2)如果\(P_1,P_2\)兩點關於X軸對稱,那么規定他們連線與橢圓曲線相交於無窮遠點,記為O
3)任何一個點通過上面的運算規則與O相加的和都是它本身

橢圓曲線上的加法的性質:\(\forall P,Q,R\in E\),如果P,Q,R在一條直線上,那么P+Q+R=O

定理:若規定O+O=O,則(E,+)構成一個阿貝爾群(交換群),其中\(\infty\)為單位元,記為O,P=(x,y)的逆元為Q=(x,-y)

實例:設\(y^2=x^3+x+6\)\(F_{11}\)上的橢圓曲線,求(3,6)+(5,2)
k=\(\frac{6-2}{3-5}=9\)
y-6=k(x-3)
y=9x+1
將上式代入\(y^2=x^3+x+6\)中得:
\((9x+1)^2=x^3+x+6=x^3+7x^2+5x+5\)
(x-3)(x-5)(x-7)=0
\(\therefore\) x=7
y=9x+1=9
\(\therefore\)(3,6)+(5,2)=(7,-9)=(7,2)

橢圓曲線密碼

以下三類公鑰系統被認為是安全有效的:

  1. 基於大整數分解問題的RSA型公鑰密碼;
  2. 基於有限域上離散對數問題的ElGamal型公鑰密碼;
  3. 基於橢圓曲線離散對數問題的橢圓曲線公鑰密碼。

橢圓曲線公鑰密碼優勢:對於橢圓曲線離散對數問題,目前不存在亞指數時間算法,從而為達到相同安全性所需的密鑰尺寸更小:
– RSA 密碼體制:模長1024 比特;
– 橢圓曲線密碼體制:模長160 比特。

橢圓曲線密碼體制適用於計算、存儲、帶寬受限,但又要求高速實現的應用領域,例如智能卡、無線通訊等。
El'Gamal密碼方案的橢圓曲線形式:

  • Gen:設E為\(F_q\)上的橢圓曲線,一般記為E(\(F_q\)),設P = \((x_p,y_p)\in E(F_q)\),且P的次數足夠大,任取1 < s < ord(P),令Q = sP = (\(x_q,y_q\)),則E(\(F_q\)),P,Q為公鑰,s為私鑰
  • Enc:消息m滿足0 \(\le\) m < \(F_q\),任取1 < r < \(F_q\),計算(\(x_1,y_1\)) = rP,(\(x_2,y_2\)) = rQ,c = m·\(x_2\),則密文為(\(x_1,y_1,c\))
  • Dec:計算(x',y') = s(\(x_1,y_1\)),再計算m'=c·\(x'^{-1}\)

正確性驗證:(x',y') = s(\(x_1,y_1\)) = srP = rsP = rQ = (\(x_2,y_2\)),所以x' = \(x_2\),m' = c·\(x'^{-1}\) = c·\(x_2^{-1}\) = m·\(x_2·x_2^{-1}\) = m


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM