設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=\(\cup\),其中為無窮遠點,則可以定義橢圓曲線上的加法為:
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_\)上的橢圓曲線,求(3,6)+(5,2)以下三類公鑰系統被認為是安全有效的:k=\(\frac=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)
基於大整數分解問題的rsa型公鑰密碼;
基於有限域上離散對數問題的elgamal型公鑰密碼;
基於橢圓曲線離散對數問題的橢圓曲線公鑰密碼。
橢圓曲線公鑰密碼優勢:對於橢圓曲線離散對數問題,目前不存在亞指數時間演算法,從而為達到相同安全性所需的金鑰尺寸更小:
– rsa 密碼體制:模長1024 位元;
– 橢圓曲線密碼體制:模長160 位元。
橢圓曲線密碼體制適用於計算、儲存、頻寬受限,但又要求高速實現的應用領域,例如智慧卡、無線通訊等。
el'gamal密碼方案的橢圓曲線形式:
正確性驗證:(x',y') = s(\(x_1,y_1\)) = srp = rsp = rq = (\(x_2,y_2\)),所以x' = \(x_2\),m' = c·\(x'^\) = c·\(x_2^\) = m·\(x_2·x_2^\) = m
曲線論的一些基本概念
2.1 空間曲線的表示與弧長 設空間笛卡爾直角座標係為 而且a都是t 的連續可微函式 其中實數a和 b都不一定是有限的,那麼 1.1 就表示了空間的一條連續可微曲線c,簡稱曲線,而且t 是曲線c 的引數。反過來,任何一條曲線 c,在一定的範圍內總可用 1.1 式表示,稱它為引數方程。曲線的引數方程 ...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
橢圓的曲線模擬
圓的模擬只要使用正多邊形就可以實現,主要 如下 private void testcirlce graphics g private listsimulatecircle float x0,float y0,float r,int simulatesidecount return list priv...