當前位置:首頁 » 密碼管理 » 什麼是橢圓曲線密碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

什麼是橢圓曲線密碼

發布時間: 2022-07-08 00:35:05

A. 橢圓曲線密碼學的數學理論

ECC的主要優勢是在某些情況下它比其他的方法使用更小的密鑰——比如RSA——提供相當的或更高等級的安全。ECC的另一個優勢是可以定義群之間的雙線性映射,基於Weil對或是Tate對;雙線性映射已經在密碼學中發現了大量的應用,例如基於身份的加密。不過一個缺點是加密和解密操作的實現比其他機制花費的時間長。
橢圓曲線密碼學的許多形式有稍微的不同,所有的都依賴於被廣泛承認的解決橢圓曲線離散對數問題的困難性上,對應有限域上橢圓曲線的群。
對橢圓曲線來說最流行的有限域是以素數為模的整數域(參見 模運算)GF(p),或是特徵為2的伽羅華域GF(2m)。後者在專門的硬體實現上計算更為有效,而前者通常在通用處理器上更為有效。專利的問題也是相關的。一些其他素數的伽羅華域的大小和能力也已經提出了,但被密碼專家認為有一點問題。
給定一條橢圓曲線E以及一個域GF(q),我們考慮具有(x,y)形式有理數點E(q)的阿貝爾群,其中x和y都在GF(q)中並且定義在這條曲線上的群運算+在文章橢圓曲線中描述。我們然後定義第二個運算* | Z×E(q)->E(q):如果P是E(q)上的某個點,那麼我們定義2*P=P+P,3*P=2*P+P=P+P+P等等。注意給定整數 j和k,j*(k*P)=(j*k)*P=k*(j*P)。橢圓曲線離散對數問題(ECDLP)就是給定點P和Q,確定整數k使k*P=Q。
一般認為在一個有限域乘法群上的離散對數問題(DLP)和橢圓曲線上的離散對數問題(ECDLP)並不等價;ECDLP比DLP要困難的多。
在密碼的使用上,曲線E(q);和其中一個特定的基點G一起被選擇和公布。一個私鑰k被作為隨機整數來選擇;值P=k*G被作為公鑰來公布(注意假設的ECDLP困難性意味著k很難從P中確定)。如果Alice和Bob有私鑰kA和kB,公鑰是PA和PB,那麼Alice能計算kA*PB=(kA*kB)*G;Bob能計算同樣的值kB*PA=(kB*kA)*G。
這允許一個「秘密」值的建立,這樣Alice和Bob能很容易地計算出,但任何的第三方卻很難得到。另外,Bob在處理期間不會獲得任何關於kA的新知識,因此Alice的私鑰仍然是私有的。
基於這個秘密值,用來對Alice和Bob之間的報文進行加密的實際方法是適應以前的,最初是在其他組中描述使用的離散對數密碼系統。這些系統包括:
Diffie-Hellman — ECDH
MQV — ECMQV
ElGamal discrete log cryptosystem — ECElGamal
DSA — ECDSA
對於ECC系統來說,完成運行系統所必須的群操作比同樣大小的因數分解系統或模整數離散對數系統要慢。不過,ECC系統的擁護者相信ECDLP問題比DLP或因數分解問題要難的多,並且因此使用ECC能用小的多的密鑰長度來提供同等的安全,在這方面來說它確實比例如RSA之類的更快。到目前為止已經公布的結果趨於支持這個結論,不過一些專家表示懷疑。
ECC被廣泛認為是在給定密鑰長度的情況下,最強大的非對稱演算法,因此在對帶寬要求十分緊的連接中會十分有用。
國家標准與技術局和ANSI X9已經設定了最小密鑰長度的要求,RSA和DSA是1024位,ECC是160位,相應的對稱分組密碼的密鑰長度是80位。NIST已經公布了一列推薦的橢圓曲線用來保護5個不同的對稱密鑰大小(80,112,128,192,256)。一般而言,二進制域上的ECC需要的非對稱密鑰的大小是相應的對稱密鑰大小的兩倍。
Certicom是ECC的主要商業支持者,擁有超過130項專利,並且已經以2千5百萬美元的交易獲得了國家安全機構(NSA)的技術許可。他們也已經發起了許多對ECC演算法的挑戰。已經被解決的最復雜的是109位的密鑰,是在2003年初由一個研究團隊破解的。破解密鑰的這個團隊使用了基於生日攻擊的大塊並行攻擊,用超過10,000台奔騰級的PC機連續運行了540天以上。對於ECC推薦的最小密鑰長度163位來說,當前估計需要的計算資源是109位問題的108倍。
在2005年2月16日,NSA宣布決定採用橢圓曲線密碼的戰略作為美國政府標準的一部分,用來保護敏感但不保密的信息。NSA推薦了一組被稱為Suit B的演算法,包括用來密鑰交換的Menezes-Qu-Vanstone橢圓曲線和Diffie-Hellman橢圓曲線,用來數字簽名的橢圓曲線數字簽名演算法。這一組中也包括AES和SHA。

B. 橢圓曲線(ecc)加密,簽名(ecdsa)問題。

用asp實現橢圓曲線加密,簽名。
一個你可以下載一個加密軟體,可心在www,.com中搜索加密軟體,加密軟體很多,你要橢圓曲線加密,簽名,你先建立一個文件夾,然後將橢圓保存,對文件夾加密就行了!

C. 簡述橢圓曲線密碼體制的基本原理

橢圓曲線密碼體制以其短密鑰、小開銷的優勢,已經成為密碼界爭相研究的熱點,而且大有替代RSA成為主流公鑰密碼體制的趨勢。
基本原理看看下面鏈接。
希望對你有幫助。

D. 什麼是ECC

ECC
ECC是「Error Checking and Correcting」的簡寫,中文名稱是「錯誤檢查和糾正」。ECC是一種能夠實現「錯誤檢查和糾正」的技術,ECC內存就是應用了這種技術的內存,一般多應用在伺服器及圖形工作站上,這將使整個電腦系統在工作時更趨於安全穩定。

要了解ECC技術,就不能不提到Parity(奇偶校驗)。在ECC技術出現之前,內存中應用最多的是另外一種技術,就是Parity(奇偶校驗)。我們知道,在數字電路中,最小的數據單位就是叫「比特(bit)」,也叫數據「位」,「比特」也是內存中的最小單位,它是通過「1」和「0」來表示數據高、低電平信號的。在數字電路中8個連續的比特是一個位元組(byte),在內存中不帶「奇偶校驗」的內存中的每個位元組只有8位,若它的某一位存儲出了錯誤,就會使其中存儲的相應數據發生改變而導致應用程序發生錯誤。而帶有「奇偶校驗」的內存在每一位元組(8位)外又額外增加了一位用來進行錯誤檢測。比如一個位元組中存儲了某一數值(1、0、1、0、1、0、1、1),把這每一位相加起來(1+0+1+0+1+0+1+1=5)。若其結果是奇數,對於偶校驗,校驗位就定義為1,反之則為0;對於奇校驗,則相反。當CPU返回讀取存儲的數據時,它會再次相加前8位中存儲的數據,計算結果是否與校驗位相一致。當CPU發現二者不同時就作出視圖糾正這些錯誤,但Parity有個缺點,當內存查到某個數據位有錯誤時,卻並不一定能確定在哪一個位,也就不一定能修正錯誤,所以帶有奇偶校驗的內存的主要功能僅僅是「發現錯誤」,並能糾正部分簡單的錯誤。

通過上面的分析我們知道Parity內存是通過在原來數據位的基礎上增加一個數據位來檢查當前8位數據的正確性,但隨著數據位的增加Parity用來檢驗的數據位也成倍增加,就是說當數據位為16位時它需要增加2位用於檢查,當數據位為32位時則需增加4位,依此類推。特別是當數據量非常大時,數據出錯的幾率也就越大,對於只能糾正簡單錯誤的奇偶檢驗的方法就顯得力不從心了,正是基於這樣一種情況,一種新的內存技術應允而生了,這就是ECC(錯誤檢查和糾正),這種技術也是在原來的數據位上外加校驗位來實現的。不同的是兩者增加的方法不一樣,這也就導致了兩者的主要功能不太一樣。它與Parity不同的是如果數據位是8位,則需要增加5位來進行ECC錯誤檢查和糾正,數據位每增加一倍,ECC只增加一位檢驗位,也就是說當數據位為16位時ECC位為6位,32位時ECC位為7位,數據位為64位時ECC位為8位,依此類推,數據位每增加一倍,ECC位只增加一位。總之,在內存中ECC能夠容許錯誤,並可以將錯誤更正,使系統得以持續正常的操作,不致因錯誤而中斷,且ECC具有自動更正的能力,可以將Parity無法檢查出來的錯誤位查出並將錯誤修正。

2 ECC(Elliptic Curve Cryptosystems )橢圓曲線密碼體制

2002年,美國SUN公司將其開發的橢圓加密技術贈送給開放源代碼工程
公鑰密碼體制根據其所依據的難題一般分為三類:大整數分解問題類、離散對數問題類、橢圓曲線類。有時也把橢圓曲線類歸為離散對數類。
橢圓曲線密碼體制來源於對橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:
y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)
所確定的平面曲線。其中系數ai(I=1,2,…,6)定義在某個域上,可以是有理數域、實數域、復數域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。
橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義的加法運算構成一個Abel群。在等式
mP=P+P+…+P=Q (2)
中,已知m和點P求點Q比較容易,反之已知點Q和點P求m卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數問題。橢圓曲線密碼體制正是利用這個困難問題設計而來。橢圓曲線應用到密碼學上最早是由Neal Koblitz 和Victor Miller在1985年分別獨立提出的。
橢圓曲線密碼體制是目前已知的公鑰體制中,對每比特所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好演算法是Pollard rho方法,其時間復雜度為,是完全指數階的。其中n為等式(2)中m的二進製表示的位數。當n=234, 約為2117,需要1.6x1023 MIPS 年的時間。而我們熟知的RSA所利用的是大整數分解的困難問題,目前對於一般情況下的因數分解的最好演算法的時間復雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的密鑰使用2048位時,ECC的密鑰使用234位所獲得的安全強度還高出許多。它們之間的密鑰長度卻相差達9倍,當ECC的密鑰更大時它們之間差距將更大。更ECC密鑰短的優點是非常明顯的,隨加密強度的提高,密鑰長度變化不大。
德國、日本、法國、美國、加拿大等國的很多密碼學研究小組及一些公司實現了橢圓曲線密碼體制,我國也有一些密碼學者做了這方面的工作。許多標准化組織已經或正在制定關於橢圓曲線的標准,同時也有許多的廠商已經或正在開發基於橢圓曲線的產品。對於橢圓曲線密碼的研究也是方興未艾,從ASIACRYPTO』98上專門開辟了ECC的欄目可見一斑。
在橢圓曲線密碼體制的標准化方面,IEEE、ANSI、ISO、IETF、ATM等都作了大量的工作,它們所開發的橢圓曲線標準的文檔有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等。
2003年5月12日中國頒布的無線區域網國家標准 GB15629.11 中,包含了全新的WAPI(WLAN Authentication and Privacy Infrastructure)安全機制,能為用戶的WLAN系統提供全面的安全保護。這種安全機制由 WAI和WPI兩部分組成,分別實現對用戶身份的鑒別和對傳輸的數據加密。WAI採用公開密鑰密碼體制,利用證書來對WLAN系統中的用戶和AP進行認證。證書裡麵包含有證書頒發者(ASU)的公鑰和簽名以及證書持有者的公鑰和簽名,這里的簽名採用的就是橢圓曲線ECC演算法。
加拿大Certicom公司是國際上最著名的ECC密碼技術公司,已授權300多家企業使用ECC密碼技術,包括Cisco 系統有限公司、摩托羅拉、Palm等企業。Microsoft將Certicom公司的VPN嵌入微軟視窗移動2003系統中。

E. sm2橢圓曲線密碼演算法和rsa公鑰密碼演算法的異同

國密非對稱演算法SM2是居於橢圓曲線的演算法。目前的看法是,橢圓曲線的演算法肯定比RSA安全。但是橢圓曲線的演算法的應用還沒有完全普及

F. 常用的加密演算法有哪些

對稱密鑰加密

對稱密鑰加密 Symmetric Key Algorithm 又稱為對稱加密、私鑰加密、共享密鑰加密:這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單的相互推算的密鑰,對稱加密的速度一般都很快。

  • 分組密碼

  • 分組密碼 Block Cipher 又稱為「分塊加密」或「塊加密」,將明文分成多個等長的模塊,使用確定的演算法和對稱密鑰對每組分別加密解密。這也就意味著分組密碼的一個優點在於可以實現同步加密,因為各分組間可以相對獨立。

    與此相對應的是流密碼:利用密鑰由密鑰流發生器產生密鑰流,對明文串進行加密。與分組密碼的不同之處在於加密輸出的結果不僅與單獨明文相關,而是與一組明文相關。

  • DES、3DES

  • 數據加密標准 DES Data Encryption Standard 是由IBM在美國國家安全局NSA授權下研製的一種使用56位密鑰的分組密碼演算法,並於1977年被美國國家標准局NBS公布成為美國商用加密標准。但是因為DES固定的密鑰長度,漸漸不再符合在開放式網路中的安全要求,已經於1998年被移出商用加密標准,被更安全的AES標准替代。

    DES使用的Feistel Network網路屬於對稱的密碼結構,對信息的加密和解密的過程極為相似或趨同,使得相應的編碼量和線路傳輸的要求也減半。

    DES是塊加密演算法,將消息分成64位,即16個十六進制數為一組進行加密,加密後返回相同大小的密碼塊,這樣,從數學上來說,64位0或1組合,就有2^64種可能排列。DES密鑰的長度同樣為64位,但在加密演算法中,每逢第8位,相應位會被用於奇偶校驗而被演算法丟棄,所以DES的密鑰強度實為56位。

    3DES Triple DES,使用不同Key重復三次DES加密,加密強度更高,當然速度也就相應的降低。

  • AES

  • 高級加密標准 AES Advanced Encryption Standard 為新一代數據加密標准,速度快,安全級別高。由美國國家標准技術研究所NIST選取Rijndael於2000年成為新一代的數據加密標准。

    AES的區塊長度固定為128位,密鑰長度可以是128位、192位或256位。AES演算法基於Substitution Permutation Network代換置列網路,將明文塊和密鑰塊作為輸入,並通過交錯的若干輪代換"Substitution"和置換"Permutation"操作產生密文塊。

    AES加密過程是在一個4*4的位元組矩陣(或稱為體State)上運作,初始值為一個明文區塊,其中一個元素大小就是明文區塊中的一個Byte,加密時,基本上各輪加密循環均包含這四個步驟:

  • ECC

  • ECC即 Elliptic Curve Cryptography 橢圓曲線密碼學,是基於橢圓曲線數學建立公開密鑰加密的演算法。ECC的主要優勢是在提供相當的安全等級情況下,密鑰長度更小。

    ECC的原理是根據有限域上的橢圓曲線上的點群中的離散對數問題ECDLP,而ECDLP是比因式分解問題更難的問題,是指數級的難度。而ECDLP定義為:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。

  • 數字簽名

  • 數字簽名 Digital Signature 又稱公鑰數字簽名是一種用來確保數字消息或文檔真實性的數學方案。一個有效的數字簽名需要給接收者充足的理由來信任消息的可靠來源,而發送者也無法否認這個簽名,並且這個消息在傳輸過程中確保沒有發生變動。

    數字簽名的原理在於利用公鑰加密技術,簽名者將消息用私鑰加密,然後公布公鑰,驗證者就使用這個公鑰將加密信息解密並對比消息。一般而言,會使用消息的散列值來作為簽名對象。

G. 密碼演算法中的橢圓曲線和參數是什麼意思啊

下面那位說的是不對的,這里所說的橢圓曲線根本不是高中所學的曲線,可以給你一個關於橢圓曲線相關定義與應用的網址:http://www.pediy.com/kssd/pediy06/pediy6014.htm

而一條曲線在標准化了可以寫為Ep(a,b)這里的p表示離散化的域的模,ab是曲線中的參數

另外還有G作為加密用的基點,點的階

另外可能還會用到曲線的H參數。

H. 橢圓曲線密碼學的一些具體的內容

⑴ 無窮遠元素(無窮遠點,無窮遠直線)
平面上任意兩相異直線的位置關系有相交和平行兩種。引入無窮遠點,是兩種不同關系統一。
AB⊥L1, L2∥L1,直線AP由AB起繞A點依逆時針方向轉動,P為AP與L1的交點。
Q=∠BAP→p /2 AP → L2
可設想L1上有一點P∞,它為L2和L1的交點,稱之為無窮遠點。
直線L1上的無窮遠點只能有一個。
(因為過A點只能有一條平行於L1的直線L2,而兩直線的交點只能有一個。)
結論:
1*. 平面上一組相互平行的直線,有公共的無窮遠點。
(為與無窮遠點相區別,把原來平面上的點叫做平常點)
2*.平面上任何相交的兩直線L1,L2有不同的無窮遠點。
原因:若否,則L1和L2有公共的無窮遠點P∞,則過兩相異點A和P ∞有相異兩直線,與公理相矛盾。
3*. 全體無窮遠點構成一條無窮遠直線。
註:歐式平面添加上無窮遠點和無窮遠直線,自然構成射影平面。
⑵ 齊次坐標
解析幾何中引入坐標系,用代數的方法研究歐氏空
間。這樣的坐標法也可推廣至攝影平面上,建立平面攝影
坐標系。
牋 L1,L2
L1: a1x+b1y+c1=0
L2: a2x+b2y+c2=0
其中a1,b1不同時為0;a2,b2也不同時為0。

D= a1 b1 Dx= b1 c1 Dy= c1 a1
a2 b2 b2 c2 c2 a2
若D≠0,則兩直線L1,L2相交於一平常點P(x,y),其坐標為x=Dx/D,y=Dy/D.
這組解可表為:x/Dx=y/Dy=1/D
(約定:分母Dx,Dy有為0時,對應的分子也要為0)
上述表示可抽象為(Dx,Dy,D).
若 D=0,則L1∥L2,此時L1和L2交於一個無窮遠點P∞。
這個點P∞可用過原點O且平行於L2的一條直線L來指出他
的方向,而這條直線L的方程就是:a2x+b2y=0.
為把平常點和無窮遠點的坐標統一起來,把點的坐標用
(X,Y,Z)表示,X,Y,Z不能同時為0,且對平常點
(x,y)來說,有Z≠0,x=X/Z,y=Y/Z,於是有:
i.e.
X / Dx = Y / Dy = Z / D,
有更好的坐標抽象,X,Y,Z),這樣對於無窮遠點則有Z=0,
也成立。
註:
a).若實數p≠0,則(pX,pY,pZ)與(X,Y,Z)表示同一個點。實質上用(X:Y:Z)表示。3個分量中,只有兩個是獨立的,</pre>
<pre>;具有這種特徵的坐標就叫齊次坐標。
b).設有歐氏直線L,它在平面直角坐標系Oxy上的方程為:
ax+by+c=0
則L上任一平常點(x,y)的齊次坐標為(X,Y,Z),Z≠0,代入得:
aX+bY+cZ=0
給L添加的無窮遠點的坐標(X,Y,Z)應滿足aX+bY=0,Z=0;平面上無窮遠直線方程自然為:Z=0 !!
⑶任意域上的橢圓曲線
K為域,K上的攝影平面P2(K)是一些等價類的集合{(X:Y:Z)}。考慮下面的Weierstrass方程(次數為3的齊次方程):
Y2Z+a1XYZ+a3YZ2=X3+a2X2z+a4XZ2+a6Z3
(其中系數ai∈K,或ai∈K為K的代數閉域)
Weierstrass方程被稱為光滑的或非奇異的是指對所有適合
以下方程的射影點P=(X:Y:Z) ∈ P2(K)來說,
F(X,Y,Z)=Y2Z+a1XYZ+a3YZ2-X3-a2X2Z-a4XZ2-a6Z3=0
在P點的三個偏導數 之中至少有一個不為
0若否稱這個方程為奇異的。
橢圓曲線E的定義:
橢圓曲線E是一個光滑的Weierstrass方程在P2(K)中的
全部解集合。
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3
註:
a) 在橢圓曲線E上恰有一個點,稱之為無窮遠點。即(0:1:0)用θ表示。
b) 可用非齊次坐標的形式來表示橢圓曲線的Weierstrass方程:
設 x=X/Z,y=Y/Z,於是原方程轉化為:
y2+a1xy+a3y=x3+a2x2+a4x+a6 ⑴
此時,橢圓曲線E就是方程⑴在射影平面P2(K)上的全部平常點解,外加一個無窮遠點θ組成的集合。
c) 若a1,a2,a2,a4,a6∈K,此時橢圓曲線E被稱為定義在K上,用E/K表示。如果E能被限定在K上,那麼E的K--</pre>
<pre>;有理點集合表示為E(K),它為E中的全體有理坐標點的集合外加無窮遠點θ.
⑷實域R上的橢圓曲線
設K=R,此時的橢圓曲線可表為平面上的通常曲線上
的點,外加無窮遠點θ。
實域R上橢圓曲線的點的加法運演算法則:
設L ∈ P2(R)為一條直線。因為E的方程是三次的,所以L可與E在P2(R)恰有三個交點,記為P,Q,R
(注意:如果L與E相切,那麼P,Q,R可以不是相異的)。按下述方式定義E上運算⊙:
設P,Q ∈ E,L為聯接P,Q的直線(若P=Q,則L取過P點的切線);設R為L與E的另一個交點;
再取連接R與無窮遠點的直線L′。則L′與E的另一個交點定義為P ⊙Q。
上頁的實際圖像為橢圓曲線y2=x3 - x的一般化。來自對具體曲線的抽象。對運算更具體一些:
設 P=(x1,y1),Q=(x2,y2),P⊙Q=(x3,y3),
由P Q的定義,設y=αx+β為通過P,Q兩點直線L的方程,可算出:
α=(y2-y1)/(x2-x1),β=y1-αx1
易見,直線L上的一個點(x,αx+β)是在橢圓曲線E上,
當且僅當(αx+β)2= x3 - x。
P⊙Q=(x1,y1) (x2,y2)=(x3,y3) =(x3,-(αx3+β))
其中,x3= α2-x1-x2=((y2-y1) / (x2-x1))2-x1-x2;
y3=-y1+((y2-y1)/(x2-x1))(x1-x3)
當P=Q時:P⊙Q=(x3,y3)算得:
x3=((3x12-1)/2y1)2-2x1; y3= -y1+((3x12-1)/2y1)(x1-x3)
註:
a) 如果直線L與E相交與三點P,Q,R(不一定相異),那麼 (P⊙Q)R=θ(從圖中可見)。
b) 任給P∈E,P⊙θ =P (此時設Q= θ ,易見L=L′)
c) 任給P,Q∈E有:P⊙Q =Q⊙P
d) 設P∈E,那麼可以找到 - P∈E使P -P= θ
e) 任給P,Q,R∈E,有(P⊙Q)⊙R= P⊙(Q⊙R)
綜上所述,知E對 運算形成一個Abel群。
f) 上述規則可開拓到任意域上,特別是有限域上。假定
橢圓曲線是定義在有限域Fq上(q=pm),那麼
E(Fq)={(x,y)∈Fq×Fq | y2+a1xy+a3y=x3+a2x2+a4x+a6} ∪{θ}
它對? 斝緯梢桓鋈海?獮bel群。 令Fq表示q個元素的有限域,用E(Fq)表示定義在Fq上
的一個橢圓曲線E。
定理1.(Hass定理) E(Fq)的點數用#E(Fq)表示,則
| #E(Fq)-q-1|≤2q1/2
⑴ Fp(素域,p為素數)上橢圓曲線
牋 p&gt;3 a,b Fp 4a3+27b2 0 a b
義的Fp上的一個橢圓曲線方程為:
y2=x3+ax+b ⑵
它的所有解(x,y),(x Fp,y Fp),連同一個稱為撐耷鈐?
點敚?俏?齲┑腦?刈槌傻募?霞俏狤(Fp),由Hass定理
知:p+1-2p1/2≤#E(Fp) ≤ p+1+2p1/2
集合E(Fp)對應下面的加法規則,且對加法 形成
一個Abel群:
(i) θ⊙ θ=θ (單位元素)
(ii) (x,y)⊙ θ=(x,y),任給(x,y) ∈E(Fp)
(iii) (x,y)⊙ (x,-y)=θ,任給(x,y) ∈E(Fp),即點(x,y)的逆元
為(x,-y).
(iv) 令(x1,y1),(x2,y2)為E(Fp)中非互逆元,則
(x1,y1)⊙ (x2,y2)=(x3,y3),其中
x3=α2-2x1,y3= α(x1-x3)-y1
且α=(y2-y1)/(x2-x1) ⑶
(v)(倍點運算規則)
設(x1,y1) ∈E(Fp),y1≠0,則2(x1,y1)=(x3,y3),其中
x3= α2-2x1,y3=α(x1-x3)-y1
這里α=(3x12+a)/(2y1) ⑷
註:若#E(Fp)=p+1,曲線E(Fp)稱為超奇異的,否則稱為
非超奇異的。
例子:F23上的一個橢圓曲線
令y2=x3+x+1是F23上的一個方程(a=b=1),則該橢圓曲
線方程在F23上的解為(y2=x3+x+1的點):
(0,1),(0,22),(1,7),(1,16),(3,10),(3,13),(4,0),(5,4),(5,19),(6,4),</pre>
<pre>;(6,19),(7,11),(7,12),(9,7),(9,16),(11,3),(11,20),(12,4),(12,19),(13,7),</pre>
<pre>;(13,16),(17,3),(17,20),(18,3),(18,20),(19,5),(19,18);θ。
群E(F23)有28個點(包括無窮遠點θ)。
2) F2m上的橢圓曲線
F2m上由參數a,b∈F2m,b≠0定義的一個非超奇異橢
圓曲線E(F2m)是方程
y2+xy=x3+ax2+b ⑸
的解集合(x,y),其中x,y∈F2m,連同θ。
E(F2m)的加法規則如下:
(i) θ +θ= θ
(ii) 任給(x,y) ∈E(F2m),則(x,y)⊙ θ=(x,y)
(iii) 任給(x,y) ∈E(F2m),則(x,y)+(x,x+y)= θ,
即點(x,y)的逆為(x,x+y).
(iv) 兩個相異且不互逆的點的加法規則:
令(x1,y1),(x2,y2) ∈E(F2m)且有x1≠x2則
(x1,y1) (x2,y2)=(x3,y3),其中
x3=α2+α+x1+x2+a;
y3=α(x1+x3)+x3+y1.
其中 α= (y2+y1)/(x2+x1)
(v) 倍點規則
令(x1,y1) ∈E(F2m),其中x1≠0。則
2(x1,y1)=(x3,y3),其中
x3= α 2+ α +a,y3=x12+(α +1)x3,這里α =(x1+y1/x1)
易見,群E(F2m)為Abel群。
例:F24上的一個橢圓曲線
f(x)=x4+x+1為F2上的一個不可約多項式,易見
F24=F2[x] / (f(x)) = {(k0,k1,k2,k3) | (k0,k1,k2,k3)=k0+k1α+k2α2+k3α3, </pre>
<pre>;α為f(x)的零點,ki∈F2}
假定F24上的非超奇異橢圓曲線有下述方程定義:
y2+xy=x3+α4x2+1,注意f(α)=0。
方程應表為:
(1000)y2 + (1000)xy = (1000)x3 + (1100)x2 +(1000) 1985年,N. Koblitz和V. Miller分別獨立提出了橢圓曲線密碼體制(ECC),</pre>
<pre>;其依據就是定義在橢圓曲線點群上的離散對數問題的難解性。
⑴知E(Fq)對點的?斣慫閾緯梢桓鯝bel群
設p∈E(Fq),若p的周期很大,即使
p⊙p⊙ …… ⊙p= θ (共有 t個p相加)
成立的最小正整數 t,希望 t 很大。
(t = p的周期,表示為∏(p)=t)。
並且對Q∈E(Fq),定有某個正整數m使
Q=m&middot;p=p⊙ …… ⊙p (共有t個p相加)
定義
m=㏒pQ (m為以p為底Q的對數)。
橢圓曲線上的點形成的群E(Fq),相關它的離散對數
問題是難處理的。 選取基域Fq,Fq的橢圓曲線具體給定為確定的形式。
在E(Fq)中選一個周期很大的點,如選了一個點P=(xp,yp),
它的周期為一個大的素數n,記∏ (P)=n(素數)。
注意:在這個密碼體制中,具體的曲線及點P和它的n都
是公開信息。密碼體制的形式採用EIGamal體制,是完全
類比過來。
a)密鑰的生成
Bob(使用者)執行了下列計算:
i) 在區間[1,n-1]中隨機選取一個整數d。
ii) 計算點Q:=dP (d個P相)
iii) Bob公開自己的公開密鑰-- (E(Fq),p,n,Q)
iv) Bob的私鑰為整數d!
Alice要發送消息m給Bob,Alice執行:
i) 查找Bob的公鑰(E(Fq),p,n,Q),
ii) 將m表示成一個域元素m∈Fq,
iii) 在區間[1,n-1]內選取一個隨機數k,
iv) 依據Bob的公鑰計算點 (x1,y1):=kP(k個P相)
v) 計算點(x2,y2):=kQ,如果x2=0,則回到第iii)步
Ⅵ) 計算C:=m&middot;x2
Ⅶ) 傳送加密數據(x1,y1,C)給Bob
b) Bob的解密過程
Bob收到Alice的密文(x1,y1,C)後,執行
i) 使用私鑰d,計算點(x2,y2):=d(x1,y1),再計算Fq中x2-1=
通過計算m:=C&middot;x2-1,恢復出明文數據

I. 橢圓加密演算法的方程

橢圓曲線密碼體制來源於對橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:
y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)
所確定的平面曲線。其中系數ai(I=1,2,…,6)定義在某個域上,可以是有理數域、實數域、復數域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。
橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義的加法運算構成一個Abel群。在等式
mP=P+P+…+P=Q (2)
中,已知m和點P求點Q比較容易,反之已知點Q和點P求m卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數問題。橢圓曲線密碼體制正是利用這個困難問題設計而來。橢圓曲線應用到密碼學上最早是由Neal Koblitz 和Victor Miller在1985年分別獨立提出的。
橢圓曲線密碼體制是目前已知的公鑰體制中,對每比特所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好演算法是Pollard rho方法,其時間復雜度為,是完全指數階的。其中n為等式(2)中m的二進製表示的位數。當n=234, 約為2117,需要1.6x1023 MIPS 年的時間。而我們熟知的RSA所利用的是大整數分解的困難問題,目前對於一般情況下的因數分解的最好演算法的時間復雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的密鑰使用2048位時,ECC的密鑰使用234位所獲得的安全強度還高出許多。它們之間的密鑰長度卻相差達9倍,當ECC的密鑰更大時它們之間差距將更大。更ECC密鑰短的優點是非常明顯的,隨加密強度的提高,密鑰長度變化不大。
德國、日本、法國、美國、加拿大等國的很多密碼學研究小組及一些公司實現了橢圓曲線密碼體制,我國也有一些密碼學者
做了這方面的工作。許多標准化組織已經或正在制定關於橢圓曲線的標准,同時也有許多的廠商已經或正在開發基於橢圓曲線的產品。對於橢圓曲線密碼的研究也是方興未艾,從ASIACRYPTO』98上專門開辟了ECC的欄目可見一斑。
在橢圓曲線密碼體制的標准化方面,IEEE、ANSI、ISO、IETF、ATM等都作了大量的工作,它們所開發的橢圓曲線標準的文檔有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等。
2003年5月12日中國頒布的無線區域網國家標准 GB15629.11 中,包含了全新的WAPI(WLAN Authentication and Privacy Infrastructure)安全機制,能為用戶的WLAN系統提供全面的安全保護。這種安全機制由 WAI和WPI兩部分組成,分別實現對用戶身份的鑒別和對傳輸的數據加密。WAI採用公開密鑰密碼體制,利用證書來對WLAN系統中的用戶和AP進行認證。證書裡麵包含有證書頒發者(ASU)的公鑰和簽名以及證書持有者的公鑰和簽名,這里的簽名採用的就是橢圓曲線ECC演算法。
加拿大Certicom公司是國際上最著名的ECC密碼技術公司,已授權300多家企業使用ECC密碼技術,包括Cisco 系統有限公司、摩托羅拉、Palm等企業。Microsoft將Certicom公司的VPN嵌入微軟視窗移動2003系統中。
以下資料摘自:http://www.hids.com.cn/data.asp