專(zhuān)利名稱(chēng):適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全保護(hù)領(lǐng)域,具體地說(shuō)是涉及 一 種適用于CBTC (Communications BasedTrain Control)系統(tǒng)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法。
背景技術(shù):
目前的通信的列車(chē)控制(Communications Based Train Control, CBTC)系統(tǒng),如圖4所示,是一個(gè)自動(dòng)化的智能列車(chē)控制系統(tǒng)。自從通信技術(shù)特別是無(wú)線電技術(shù)飛速發(fā)展以來(lái),人們就開(kāi)始研究以通信技術(shù)為基礎(chǔ)的列車(chē)運(yùn)行控制系統(tǒng)。CBTC系統(tǒng)的特點(diǎn)是利用無(wú)線通信媒體來(lái)實(shí)現(xiàn)列車(chē)和地面的雙向通信,用以代替軌道電路作為媒體來(lái)實(shí)現(xiàn)列車(chē)的運(yùn)行控制。它備有一個(gè)傳輸信息量大、傳輸速度快的車(chē)-地雙向數(shù)據(jù)通訊系統(tǒng),如圖5所示,很容易實(shí)現(xiàn)移動(dòng)自動(dòng)閉塞系統(tǒng),大量減少區(qū)間敷設(shè)電纜,減少一次性投資及減少日常維護(hù)工作,大幅度提高區(qū)間通過(guò)能力,靈活組織雙向運(yùn)行和單向連續(xù)發(fā)車(chē),適應(yīng)不同車(chē)速、不同運(yùn)量、不同類(lèi)型牽引的列車(chē)運(yùn)行控制。但是,隨著CBTC系統(tǒng)的發(fā)展和應(yīng)用以及CBTC使用的無(wú)線信道的開(kāi)放性,其安全問(wèn)題也不斷暴露出來(lái)。 CBTC的通信系統(tǒng)是采用無(wú)線通信技術(shù)來(lái)取代軌旁電纜通信方式的。在網(wǎng)絡(luò)通信系統(tǒng)中,如果沒(méi)有適當(dāng)?shù)陌踩胧┖桶踩脑L問(wèn)控制方法,網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)很容易受到各式各樣的攻擊。網(wǎng)絡(luò)攻擊既有被動(dòng)型的,也有主動(dòng)型的。被動(dòng)攻擊通常指信息受到非法偵聽(tīng),而主動(dòng)攻擊則往往意味著對(duì)數(shù)據(jù)甚至網(wǎng)絡(luò)本身惡意的篡改和破壞。網(wǎng)絡(luò)攻擊類(lèi)型包括竊聽(tīng)、數(shù)據(jù)篡改、身份欺騙(IP地址欺騙)、盜用口令攻擊(Password-Based Attacks)、拒絕服務(wù)攻擊(Denial-of-Service Attack)、中間人攻擊(Man-in-the-Middle Attack)、盜取密鑰攻擊(Compromised-Key Attack) 、 Sniffer攻擊(Sniffer Attack)、應(yīng)用層攻擊(Application-Layer Attack)等。 CBTC系統(tǒng)采用無(wú)線通信技術(shù)來(lái)取代軌旁電纜通信方式,在無(wú)線信道中進(jìn)行數(shù)據(jù)傳輸,容易遭受各種攻擊,而基于IEEE802. 11中WEP安全標(biāo)準(zhǔn)的CBTC系統(tǒng)在安全性方面非常脆弱,首先,WEP中用來(lái)生成密鑰流的RC4算法存在弱密鑰性。所謂弱密鑰,就是密鑰與輸出之間存在超出一個(gè)好密碼所應(yīng)具有的相關(guān)性。攻擊者收集到足夠多的使用弱密鑰進(jìn)行加密的包后,就可以對(duì)它們進(jìn)行分析,只需嘗試很少的密鑰就可以將密鑰破解。其次,WEP協(xié)議本身存在缺陷,主要在于兩個(gè)方面使用靜態(tài)密鑰;始化向量IV的限制,而且WEP協(xié)議并沒(méi)有定義用來(lái)加密的密鑰是怎樣生成的。因此,CBTC系統(tǒng)需要新的加密算法來(lái)保證通信的安全性。
發(fā)明內(nèi)容
鑒于以上所述現(xiàn)有技術(shù)存在的問(wèn)題和不足,本發(fā)明提出了一種適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,它利用Montgomery型橢圓曲線的優(yōu)點(diǎn)能夠
4并行計(jì)算,具有更快的計(jì)算速度,能夠更好的抵抗時(shí)間攻擊和能量攻擊,在保證其加解密幾
乎速度不變條件下,提高無(wú)線信道加密算法的安全性,確保該系統(tǒng)中節(jié)點(diǎn)間通信安全。 為達(dá)到上述目的,本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是上述適用于列車(chē)
無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其步驟如下 (1)選取一條安全的Montgomery型橢圓曲線確定該曲線的所有參數(shù)權(quán)值; (2)利用Montgomery型橢圓曲線計(jì)算點(diǎn)乘運(yùn)算后,恢復(fù)y坐標(biāo)的值數(shù); (3)選擇以點(diǎn)加形式嵌入Montgomery型橢圓曲線中的公鑰加密算法,完成對(duì)明文
數(shù)據(jù)加解密。 本發(fā)明的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法與現(xiàn)有技術(shù)相比具有的優(yōu)點(diǎn)在于該方法采用Montgomery型橢圓曲線的安全性高、占用帶寬小、計(jì)算復(fù)雜度低,能夠充分地保證各種通信網(wǎng)絡(luò)的安全。Montgomery型橢圓曲線與傳統(tǒng)的Weierstrass型橢圓曲線相比,它可以進(jìn)行并行計(jì)算,在用Montgomery算法實(shí)現(xiàn)加密過(guò)程中模乘運(yùn)算計(jì)算,具有更快的運(yùn)算速度;每一比特信息的加密都需要一個(gè)點(diǎn)加及一個(gè)倍點(diǎn)運(yùn)算,提高了加解密速度,減少了存儲(chǔ)空間的需求,提高抵抗各種攻擊的能力,尤其是抵抗時(shí)間攻擊和能量攻擊的能力;不需要預(yù)計(jì)算,可以在存儲(chǔ)空間有限的條件下實(shí)現(xiàn),所以它在以ECC為基礎(chǔ)的密碼體系中具有優(yōu)勢(shì)。
圖1是本發(fā)明的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法的流程圖; 圖2是RC4和Montgomery型橢圓曲線加密速度比較 圖3是RC4和Montgomery型橢圓曲線解密速度比較 圖4是現(xiàn)有的典型CBTC系統(tǒng)功能的示意 圖5是現(xiàn)有的CBTC系統(tǒng)通信結(jié)構(gòu)的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作進(jìn)一步詳細(xì)的說(shuō)明。 如圖1所示,本發(fā)明的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其具體步驟如下 (1)選取一條安全的Montgomery型橢圓曲線,確定該曲線的所有參數(shù)權(quán)值,其具體步驟如下 (1-1)先求選定的某一范圍的橢圓曲線的階; 利用Weil定理設(shè)計(jì)一條Montgomery型橢圓曲線,然后,采用以2為特征的子域擴(kuò)展算法計(jì)算Montgomery型橢圓曲線的階,即#E(《 )為橢圓曲線上點(diǎn)的個(gè)數(shù),橢圓曲線的階
能(AJ理解為滿足在橢圓曲線方程的點(diǎn)的數(shù)目,幾何意義為所有橢圓曲線有上的點(diǎn),其方程為 當(dāng)a = 0, b = 1時(shí), # )=2" +卜(,,"+ /2") = 2" +1 - {(— I ++ (+ }<formula>formula see original document page 6</formula> 當(dāng)a = Lb = 1時(shí),令"=7^,那么<formula>formula see original document page 6</formula>
(1-2)利用蟻群預(yù)測(cè)矩陣來(lái)優(yōu)化ECC安全曲線選擇,采用素?cái)?shù)判定算法判定該點(diǎn) 對(duì)應(yīng)的階是否為大素?cái)?shù),挑選出安全橢圓曲線,其具體如下
(1-2-1)計(jì)算若干素?cái)?shù)的階,并存儲(chǔ); (1-2-2)參數(shù)的初始化,取a = 113 = 5,信息素蒸發(fā)因子P = 0. 02,迭代次數(shù)大 于20次能得到比較好的結(jié)果,其中每次迭代螞蟻的數(shù)量取5 ; (1-2-3)每次迭代開(kāi)始,將5只螞蟻隨機(jī)放在不同點(diǎn),螞蟻每到達(dá)一個(gè)點(diǎn),采用素 數(shù)判定算法判定該點(diǎn)對(duì)應(yīng)的階是否為大素?cái)?shù),然后按照蟻群算法模型,如圖2,構(gòu)建的規(guī)則 選擇下一個(gè)要到達(dá)的點(diǎn),每只螞蟻每走一步進(jìn)行一次信息素局部更新;每次迭代結(jié)束后,選 擇一個(gè)最優(yōu)螞蟻進(jìn)行一次全局更新,所有迭代結(jié)束后,選出含有大素?cái)?shù)階的曲線;
(2)利用Montgomery型橢圓曲線計(jì)算點(diǎn)乘運(yùn)算時(shí),只計(jì)算x坐標(biāo),不需要計(jì)算y坐 標(biāo)值,印此在無(wú)線信道中傳輸時(shí)可以加快傳輸速率,節(jié)約傳輸信道。由于加密時(shí)要將明文分 組嵌入ECC曲線中,而具有(x,y)坐標(biāo)明顯比單權(quán)x坐標(biāo)更具有擾亂性,即具有更高的安全 性,因此在計(jì)算點(diǎn)乘運(yùn)算后,可恢復(fù)y坐標(biāo)的值數(shù),其具體如下
設(shè)Montgomery型型橢圓曲線上有四個(gè)點(diǎn),其坐標(biāo)分別為p = (x, y) , P丄=(Xl, y》,P2 = (x2, y2) , P3 = (x3, y3) 同時(shí)P2 = P,P, P3 = P「P禾口 y # O,推導(dǎo)出:
如點(diǎn)坐標(biāo)在射影坐標(biāo)系中表示為 <formula>formula see original document page 6</formula> 則推導(dǎo)出
<formula>formula see original document page 6</formula> (3)選擇以點(diǎn)加形式嵌入Montgomery型橢圓曲線公鑰加密算法,如圖l所示,完成 對(duì)明文數(shù)據(jù)加解密,其步驟如下 (3-1)當(dāng)通信發(fā)送方B需要給通信接收方A發(fā)送消息M時(shí),發(fā)送方B按下列步驟對(duì) 消息M進(jìn)行加密,其具體步驟如下 (3-1-1)從可信第三方獲取接收方A的公鑰PKA ; (3-1-2)發(fā)送方B將所要傳出的明文M分組加密為GF(pm)上的一對(duì)元素m = (n^, m2); (3+3)發(fā)送方B隨機(jī)選擇一整數(shù)k G [1, m],計(jì)算c。 = k*G, Q = k*PKA = (yi,y2); (3+4)加密計(jì)算公式為E(mi, m2, k) = (c。, y,iv y2+m2) = (c。, c" c2),在有限
域GF(p"上計(jì)算加密計(jì)算公式,可得到C = (C。, Cl, c2); (3-1-5)發(fā)送方B傳輸密文c = (c。, Cl, c2)給接收方A ; (3-2)通信接收方A接到通信發(fā)送方B發(fā)給的密文c = (c。, Cl, c2)時(shí),接收方A按 下列步驟對(duì)消息M密文解密,其具體步驟如下; (3-2-1)首先計(jì)算使用的接收方A的私鑰SKA,計(jì)算公式為SKA*c。 = Q = (yi,y2);
(3-2-2)定義接收方A的解密計(jì)算式 D(c。, Cl, c2) = (c。, Cl_yi, c2-y2) = (m" m2),在有限域GF(p邁)上計(jì)算解密計(jì)算式, 得到m = G^,m2); (3-2-3)將發(fā)送方B的加密數(shù)據(jù)GF(pm)上的一對(duì)元素m = —, m2)轉(zhuǎn)換,合成明 文。 本發(fā)明的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法在仿真 環(huán)境下,實(shí)驗(yàn)運(yùn)行-Montgomery曲線方程4y2 = x^9x^xmod3101,基點(diǎn)坐標(biāo)G(9764, 8546), 與基于RC4加解密算法舉例實(shí)驗(yàn)運(yùn)行仿真實(shí)驗(yàn)密鑰長(zhǎng)度為256字節(jié),這兩種方法加解密 速度進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)表明,在低比特?cái)?shù)據(jù)下,RC4算法展現(xiàn)了流密碼速度快的優(yōu) 勢(shì),但隨著加密容量的增加,基于Montgomery曲線加解密算法展現(xiàn)出強(qiáng)有力的加解密優(yōu) 勢(shì),如圖2,圖3所示,其中橫坐標(biāo)為加解密文件的大小,縱坐標(biāo)為加解密時(shí)間,圖中的實(shí)線 是Montgomery型橢圓曲線算法加解密運(yùn)算時(shí)間,虛線為RC4算法加解密運(yùn)算的時(shí)間。
權(quán)利要求
一種適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其特征包括步驟如下(1)、選取一條安全的Montgomery型橢圓曲線,確定該曲線的所有參數(shù)權(quán)值;(2)、利用Montgomery型橢圓曲線計(jì)算點(diǎn)乘運(yùn)算后,恢復(fù)y坐標(biāo)的值數(shù),(3)、選擇以點(diǎn)加形式嵌入Montgomery型橢圓曲線公鑰加密算法,完成對(duì)明文數(shù)據(jù)加解密。
2. 根據(jù)權(quán)利要求1所述的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其特征在于,上述步驟(1)中所述的選取一條安全的Montgomery型橢圓曲線,確定該曲線的所有參數(shù)權(quán)值,其具體步驟如下(1-1)先求選定的某一范圍的橢圓曲線的階;利用Weil定理設(shè)計(jì)一條Montgomery型橢圓曲線,然后,采用以2為特征的子域擴(kuò)展算法計(jì)算Montgomery型橢圓曲線的階,8卩#£(《 )為橢圓曲線上點(diǎn)的個(gè)數(shù),橢圓曲線的階#£(F2 )理解為滿足在橢圓曲線方程的點(diǎn)的數(shù)目,幾何意義為所有橢圓曲線有上的點(diǎn),其方程為<formula>formula see original document page 2</formula>(1-2)利用蟻群預(yù)測(cè)矩陣來(lái)優(yōu)化ECC安全曲線選擇,采用素?cái)?shù)判定算法判定該點(diǎn)對(duì)應(yīng)的階是否為大素?cái)?shù),挑選出安全橢圓曲線,其具體如下(1-2-1)計(jì)算若干素?cái)?shù)的階,并存儲(chǔ);(1-2-2)參數(shù)的初始化,取a = IP =5,信息素蒸發(fā)因子P =0.02,迭代次數(shù)大于20次能得到比較好的結(jié)果,其中每次迭代螞蟻的數(shù)量取5 ;(1-2-3)、每次迭代開(kāi)始,將5只螞蟻隨機(jī)放在不同點(diǎn),螞蟻每到達(dá)一個(gè)點(diǎn),采用素?cái)?shù)判定算法判定該點(diǎn)對(duì)應(yīng)的階是否為大素?cái)?shù),然后按照蟻群算法模型,構(gòu)建的規(guī)則選擇下一個(gè)要到達(dá)的點(diǎn),每只螞蟻每走一步進(jìn)行一次信息素局部更新;每次迭代結(jié)束后,選擇一個(gè)最優(yōu)螞蟻對(duì)信息素進(jìn)行一次全局更新,所有迭代結(jié)束后,選出含有大素?cái)?shù)的階的曲線。
3. 根據(jù)權(quán)利要求2所述的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其特征在于,上述步驟(2)所述的利用Montgomery型橢圓曲線計(jì)算點(diǎn)乘運(yùn)算后,恢復(fù)y坐標(biāo)的值數(shù),其具體如下設(shè)Montgomery型型橢圓曲線上有四個(gè)點(diǎn),其坐標(biāo)分別為P = (x, y) , P丄=(Xl, yi) , P2 = (x2, y2) , P3 = (x3, y3)同時(shí)P2 = P,P,P3 = P「P禾卩y # O,可推導(dǎo)出:<formula>formula see original document page 3</formula>如點(diǎn)坐標(biāo)在射影坐標(biāo)系中表示為[1 、 V 2 z2 z/' 3 z3 z3X丄=4 By Z丄Z2 Z3貝U推導(dǎo)出Y丄=(X3 Z2-Z3 X2) (X「Z丄x)Z丄=4ByZ丄Z2 Z3 Z丄
4.根據(jù)權(quán)利要求3所述的適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其特征在于,上述步驟(3)所述的選擇以點(diǎn)加形式嵌入Montgomery型橢圓曲線公鑰加密算法,其步驟如下(3-1)當(dāng)通信發(fā)送方B需要給通信接收方A發(fā)送消息M時(shí),發(fā)送方B按下列步驟對(duì)消息M進(jìn)行加密,其具體步驟如下(3-1-1)從可信第三方獲取接收方A的公鑰PKA ;(3-1-2)發(fā)送方B將所要傳出的明文M分組加密為GF(pm)上的一對(duì)元素m二 (mi,m2);(3+3)發(fā)送方B隨機(jī)選擇一整數(shù)k G [1, m],計(jì)算c。 = k*G, Q = k*PKA = (yi, y2);(3+4)加密計(jì)算公式為:E(m" m2, k) = (c。, y一m" y2+m2) = (c。, Cl, c》,在有限域GF(pm)上計(jì)算加密計(jì)算公式,可得到c = (c。, Cl, c2);(3-1-5)發(fā)送方B傳輸密文c = (c。, Cl, c2)給接收方A ;(3-2)通信接收方A接到通信發(fā)送方B發(fā)給的密文c = (c。, Cl, c2)時(shí),接收方A按下列步驟對(duì)消息M密文解密,其具體步驟如下(3-2-1)首先計(jì)算使用的接收方A的私鑰SKA,計(jì)算公式為SKA*c。 = Q = (yi, y2);(3-2-2)定義接收方A的解密計(jì)算式D(c。, Cl, c2) = (c。, Cl-yi, c2-y2) = (mi,m2)在有限域GF(p"1)上計(jì)算解密計(jì)算式,得到m = (m丄,m2);(3-2-3)將發(fā)送方B的加密數(shù)據(jù)GF(pm)上的一對(duì)元素m = (mi,m2)轉(zhuǎn)換,合成明文。
全文摘要
本發(fā)明公開(kāi)了一種適用于列車(chē)無(wú)線信道的Montgomery型橢圓曲線公鑰加解密方法,其步驟包括如下(1)、選取一條安全的Montgomery型橢圓曲線,確定該曲線的所有參數(shù)權(quán)值;(2)、利用Montgomery型橢圓曲線計(jì)算點(diǎn)乘運(yùn)算后,恢復(fù)y坐標(biāo)的值數(shù);(3)、選擇以點(diǎn)加形式嵌入Montgomery型橢圓曲線中的公鑰加密算法,完成對(duì)明文數(shù)據(jù)加解密。該方法采用Montgomery型橢圓曲線的安全性高、占用帶寬小、計(jì)算復(fù)雜度低,能夠充分地保證各種通信網(wǎng)絡(luò)的安全具有更快的運(yùn)算速度;每一比特信息的加密都需要一個(gè)點(diǎn)加及一個(gè)倍點(diǎn)運(yùn)算,提高了加解密速度,減少了存儲(chǔ)空間的需求,提高抵抗各種攻擊的能力。
文檔編號(hào)H04W12/00GK101754199SQ20091020052
公開(kāi)日2010年6月23日 申請(qǐng)日期2009年12月22日 優(yōu)先權(quán)日2009年12月22日
發(fā)明者劉禮黎, 時(shí)向勇, 朱美麗, 王潮 申請(qǐng)人:上海大學(xué)