国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AES和ECC的遙測(cè)數(shù)據(jù)加密技術(shù)研究與實(shí)現(xiàn)*

2015-03-15 00:50馬擎宇
艦船電子工程 2015年4期
關(guān)鍵詞:公鑰加密算法遙測(cè)

馬擎宇 張 東

(92941部隊(duì) 葫蘆島 125000)

?

基于AES和ECC的遙測(cè)數(shù)據(jù)加密技術(shù)研究與實(shí)現(xiàn)*

馬擎宇 張 東

(92941部隊(duì) 葫蘆島 125000)

在實(shí)際工程中,遙測(cè)數(shù)據(jù)經(jīng)常需要通過(guò)無(wú)線電波或者有線網(wǎng)絡(luò)進(jìn)行遠(yuǎn)距離傳輸,具有數(shù)據(jù)傳輸量大、保密性要求高等特點(diǎn)。如何確保安全地傳輸遙測(cè)數(shù)據(jù)已經(jīng)成為日益重要的問(wèn)題。為了解決遙測(cè)數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題,論文采用了AES和ECC相結(jié)合的混合加密算法,使用AES對(duì)要傳輸?shù)倪b測(cè)數(shù)據(jù)進(jìn)行加密,同時(shí)使用ECC加密AES密鑰,這樣既能快速地對(duì)遙測(cè)數(shù)據(jù)進(jìn)行加密,又能很好地解決密鑰分配的問(wèn)題。結(jié)果分析表明,該混合加密算法充分利用了AES和ECC各自的優(yōu)點(diǎn),具有很強(qiáng)的抗攻擊能力,提高了遙測(cè)數(shù)據(jù)傳輸過(guò)程中的安全性和高效性。

遙測(cè)數(shù)據(jù); AES; ECC

Class Number V217

1 引言

在導(dǎo)彈飛行試驗(yàn)中,彈上傳感器、變換器對(duì)反映導(dǎo)彈各分系統(tǒng)工作情況以及工作環(huán)境的多個(gè)參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測(cè),并通過(guò)彈上遙測(cè)系統(tǒng)將各種電量、非電量信號(hào)都轉(zhuǎn)換成按規(guī)定范圍內(nèi)變化的電信號(hào),經(jīng)過(guò)采集、編碼、調(diào)制后,通過(guò)無(wú)線電波發(fā)往地面各個(gè)遙測(cè)測(cè)量站[1]。每個(gè)測(cè)量站將接收到的遙測(cè)數(shù)據(jù)通過(guò)內(nèi)部網(wǎng)絡(luò)實(shí)時(shí)傳輸?shù)街缚刂行倪M(jìn)行相應(yīng)的遙測(cè)參數(shù)挑點(diǎn)處理,或者在試驗(yàn)結(jié)束后傳輸?shù)綌?shù)據(jù)處理中心進(jìn)行事后數(shù)據(jù)處理。

在這一過(guò)程中,攻擊方可以通過(guò)截獲導(dǎo)彈發(fā)射的遙測(cè)無(wú)線電波,或者切入我方內(nèi)部網(wǎng)絡(luò)的方式,進(jìn)行如下的攻擊:

1) 截取傳輸中的遙測(cè)數(shù)據(jù),通過(guò)截取的遙測(cè)數(shù)據(jù)分析出導(dǎo)彈的某些性能,進(jìn)而掌握導(dǎo)彈的一些重要數(shù)據(jù);

2) 冒充測(cè)量站向指控中心或數(shù)據(jù)處理中心發(fā)送偽造或者篡改的遙測(cè)數(shù)據(jù),干擾導(dǎo)彈飛行試驗(yàn)的正常進(jìn)行。

為了保證試驗(yàn)的安全,很有必要在遙測(cè)數(shù)據(jù)傳輸過(guò)程中對(duì)數(shù)據(jù)進(jìn)行加密處理,防止遙測(cè)數(shù)據(jù)被竊取、偽造或篡改。

在常用的對(duì)稱加密算法中,AES具有速度快、強(qiáng)度高、安全性好、便于實(shí)現(xiàn)等優(yōu)點(diǎn),尤其適合加密數(shù)據(jù)量比較大的情形,但密鑰分配與管理比較困難。相比較而言,公鑰加密算法(如ECC)具有密鑰分發(fā)與管理簡(jiǎn)單、加解密速度慢等特點(diǎn),一般用于加密少量數(shù)據(jù)。所以本文采用了AES和ECC的混合密碼體制:使用AES加密遙測(cè)數(shù)據(jù),以保證數(shù)據(jù)的安全性;使用ECC加密AES密鑰,進(jìn)行密鑰管理,可以避免通信雙方事先交換密鑰。通過(guò)這種方式可以有效地提高遙測(cè)數(shù)據(jù)傳輸?shù)陌踩院透咝浴?/p>

2 AES基本原理

AES使用的是一種名為Rijndael的分組迭代加密算法。根據(jù)AES的要求,分組長(zhǎng)度指定為128比特,密鑰長(zhǎng)度可以為128、192、256比特,相應(yīng)的迭代輪數(shù)分別為10、12和14。在AES中,數(shù)據(jù)塊要經(jīng)過(guò)多次數(shù)據(jù)轉(zhuǎn)換操作,每一次轉(zhuǎn)換操作產(chǎn)生一個(gè)中間結(jié)果,這個(gè)中間結(jié)果叫做狀態(tài)(state)。狀態(tài)可表示為二維字節(jié)數(shù)組即狀態(tài)矩陣,矩陣的大小是4×4。同樣,密鑰也用字節(jié)的矩陣來(lái)表示,矩陣的行數(shù)定為4,列數(shù)等于密鑰長(zhǎng)度除以32。

AES的每一輪由四個(gè)階段組成,分別是:

1) 字節(jié)替換:用一個(gè)S盒完成分組的按字節(jié)替換。

2) 行移位:一個(gè)簡(jiǎn)單的行移位置換。

3) 列混淆:利用域GF(28)上的算術(shù)特性的一個(gè)代替。

4) 輪密鑰加:輪密鑰與當(dāng)前的中間狀態(tài)進(jìn)行按位異或運(yùn)算。

圖1是以密鑰長(zhǎng)度為128比特為例的AES加解密過(guò)程,對(duì)于密鑰長(zhǎng)度為192和256比特的AES與此相類似,只是迭代輪數(shù)分別變?yōu)?2輪和14輪[2]。

3 使用ECC進(jìn)行加解密

橢圓曲線密碼算法(ECC)最早是由Neal Koblitz和Victor Miller在1985年分別獨(dú)立提出的,它是基于橢圓曲線群上的離散對(duì)數(shù)難題。ECC算法具有很高的加密強(qiáng)度,密鑰長(zhǎng)度為160位的橢圓曲線密碼系統(tǒng)可以具有與密鑰長(zhǎng)度為1024位的ElGamal或RSA密碼系統(tǒng)相當(dāng)?shù)陌踩浴K悄壳耙阎乃泄€密碼體制中,能夠提供最高比特強(qiáng)度的一種公鑰密碼體制。

圖1 AES加解密過(guò)程

3.1 有限域上的橢圓曲線的定義

設(shè)p是大于3的素?cái)?shù),有限域GF(p)上的橢圓曲線Ep(a,b)是指由方程y2=x3+ax+bmodp在GF(p)上的所有解及無(wú)窮點(diǎn)O構(gòu)成的集合,其中4a3+27b2≠0modp。

橢圓曲線Ep(a,b)上的加法運(yùn)算[3]:設(shè)P=(x1,y1),Q=(x2,y2),若x2=x1,y2=-y1,令P+Q=0(此時(shí)記-P=Q),否則P+Q=(x3,y3),其中

對(duì)于上述定義的加法,(Ep(a,b),+)構(gòu)成Abel群。設(shè)m是正整數(shù),P是橢圓曲線Ep(a,b)上一點(diǎn),定義乘法mP=P+P+…+P(m個(gè)P相加),-mP=-(mP)。

3.2 橢圓曲線群上的離散對(duì)數(shù)難題

ECC是基于橢圓曲線離散對(duì)數(shù)難題(ECDLP)的密碼體制。對(duì)于定義在有限域GF(P)上的橢圓曲線,P是一個(gè)階為素?cái)?shù)n的點(diǎn),令Q=kP,其中Q,P屬于E(a,b),0

3.3 基于ECDLP的加解密

基于ECDLP的加解密方法有多種,本文采用了一種較簡(jiǎn)單的基于ECDLP的加解密方法。首先選擇一橢圓曲線,其次,選擇元素G,使得G的階n是一個(gè)大素?cái)?shù),G的階是指滿足nG=0的最小n值。用戶A和B之間的加解密過(guò)程如下[4]:

1) 密鑰計(jì)算:用戶A秘密選擇整數(shù)nA,計(jì)算KUA=nAG,然后公開(kāi)(p,a,b,G,KUA),KUA為公鑰,nA為私鑰。

2) 加密:用戶B要把消息M發(fā)給A,先把消息M變換成為中的一個(gè)點(diǎn)Pm,然后選擇隨機(jī)數(shù)r,計(jì)算密文Cm={rG,Pm+rKUA},如果r使得rG或者rKUA為O,則要重新選擇r。

3) 解密:用戶A對(duì)密文Cm解密,(Pm+rKUA)-nA(rG)=Pm+rnAG-nArG=Pm。

4 AES和ECC混合密碼體制

AES和ECC相結(jié)合的混合密碼體制,具備更安全、更高效、更靈活應(yīng)用的優(yōu)點(diǎn)。具體的實(shí)現(xiàn)流程如下[5~7]:

遙測(cè)數(shù)據(jù)發(fā)送方A(如圖2所示):

1) 生成AES密鑰KA;

2) 用AES算法對(duì)遙測(cè)數(shù)據(jù)TD進(jìn)行加密,得到密文C1;

3) 獲取數(shù)據(jù)接收方B的ECC公鑰Kpub;

4) 使用Kpub對(duì)KA進(jìn)行加密,得到AES密鑰塊C2;

5) 將密文C1、AES密鑰塊C2一同傳送給遙測(cè)數(shù)據(jù)接收方B。

圖2 遙測(cè)數(shù)據(jù)發(fā)送過(guò)程

遙測(cè)數(shù)據(jù)接收方B(如圖3所示):

1) 生成ECC公鑰Kpub和私鑰Kpri;

2) 將ECC公鑰Kpub發(fā)送給數(shù)據(jù)發(fā)送方A;

3) 接收數(shù)據(jù)發(fā)送方A發(fā)送的數(shù)據(jù)C1+C2;

4) 用ECC私鑰Kpri解密AES密鑰塊C2,得到KA;

5) 用KA對(duì)密文C1進(jìn)行解密,得到相應(yīng)的明文遙測(cè)數(shù)據(jù)TD;

6) 進(jìn)行后續(xù)的遙測(cè)數(shù)據(jù)處理工作。

圖3 遙測(cè)數(shù)據(jù)接收過(guò)程

5 安全性分析

AES算法每次以16字節(jié)(128比特)數(shù)據(jù)塊為對(duì)象,通過(guò)將數(shù)據(jù)與密鑰進(jìn)行異或運(yùn)算、使用非線性良好的S盒進(jìn)行字節(jié)替換,以及行移位、列混淆等變換操作,最大限度地模糊輸出對(duì)輸入的依賴,并通過(guò)大量輪數(shù)來(lái)增加加密數(shù)據(jù)的復(fù)雜性,從而有效地抵抗了差分密碼分析和線性密碼分析。AES所采用的Rijndael算法中最短的密鑰長(zhǎng)度是128比特,如果用窮舉法進(jìn)行強(qiáng)力攻擊,則需要處理2128種可能密鑰,計(jì)算量是非常大的,因此使用目前技術(shù)的窮舉法對(duì)AES是無(wú)效的[8]。

ECC比RSA、DSA等其他公鑰密碼體制吸引人的最主要原因是解決其數(shù)學(xué)問(wèn)題(即ECDLP)的已知最好算法也要用完全指數(shù)時(shí)間。RSA和DSA所基于的數(shù)學(xué)問(wèn)題(即因數(shù)分解IFP和離散對(duì)數(shù)DLP問(wèn)題)都有亞指數(shù)時(shí)間算法。這意味著隨著長(zhǎng)度的增加,求解ECDLP的難度比求解IFP和DLP的難度增加得快得多。因此ECC僅需要更小的密鑰長(zhǎng)度就可以提供跟RSA和DSA相當(dāng)?shù)陌踩訹9~10]。目前,ECC已經(jīng)成為最流行的公鑰密碼算法之一[11]。

6 算法的Java實(shí)現(xiàn)

Java安全技術(shù)包含了大量的API、工具,以及各種廣泛使用的安全算法、機(jī)制和協(xié)議的實(shí)現(xiàn)。隨著加解密算法的發(fā)展,Java的加解密技術(shù)也在不斷演進(jìn),不斷提高著用戶數(shù)據(jù)的安全性。Java在java.security和javax.crypto兩個(gè)包中包含了Java加密和解密的核心部分。Java API支持多種加解密算法。如java.security包中的MessageDigest類可以構(gòu)建MD5、SHA等加密算法;javax.crypto包中的Cipher類可以構(gòu)建多種加密算法,如DES、AES對(duì)稱加密算法,以及RSA、DSA等非對(duì)稱加密算法。目前Java雖然提供了多種加密算法支持,但并不完善,許多加密強(qiáng)度較高的算法,Java未能提供。可以在繼續(xù)沿用Java API前提下,通過(guò)配置開(kāi)源組件包Bouncy Castle,加入對(duì)應(yīng)的提供者Provider,從而獲得相應(yīng)的算法支持[12]。

6.1 AES算法實(shí)現(xiàn)簡(jiǎn)述

1) 實(shí)例化密鑰生成器并初始化(密鑰長(zhǎng)度為256比特):KeyGenerator kg=KeyGenerator .getInstance("AES"),kg.init(256);

2) 生成密鑰:SecretKey secretKey=kg.generateKey();

3) 實(shí)例化Cipher類:Cipher cipher=Cipher. getInstance ("AES/CBC/PKCS5Padding"),其中AES表示AES加密,CBC表示工作模式為密碼分組鏈接模式,PKCS5Padding是填充方式;

4) 初始Cipher類,并設(shè)置為加密模式:cipher.init(Cipher.ENCRYPT_MODE,secretKey);

5) 執(zhí)行加密操作:cipher.doFinal(data),其中data表示要被加密的數(shù)據(jù)。

6.2 ECC算法實(shí)現(xiàn)簡(jiǎn)述

1) 初始化密鑰:ECPublicKey publicKey = new ECPublicKeyImpl(ecPoint, ecParameterSpec),ECPrivateKey privateKey = new ECPrivateKeyImpl(bigInteger, ecParameterSpec),其中publicKey為ECC的公鑰,privateKey為ECC的私鑰;

2) 實(shí)例化Cipher類,并進(jìn)行初始化:Cipher cipher = new NullCipher(),cipher.init(Cipher.ENCRYPT_MODE, pubKey, ecPublicKeySpec.getParams());

3) 執(zhí)行加密操作:cipher.doFinal(data),其中data表示要被加密的數(shù)據(jù)。

7 結(jié)語(yǔ)

本文針對(duì)遙測(cè)數(shù)據(jù)傳輸?shù)默F(xiàn)狀,提出了AES和ECC混合加密算法,將兩種加密技術(shù)有效地結(jié)合,充分發(fā)揮了AES和ECC各自的優(yōu)點(diǎn)。對(duì)AES和ECC各自的安全性進(jìn)行了分析。最后使用Java實(shí)現(xiàn)了該混合加密算法,解決了遙測(cè)數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題,從而保障了試驗(yàn)信息的安全。

[1] 陳以恩.遙測(cè)數(shù)據(jù)處理[M].北京:國(guó)防工業(yè)出版社,2002:1-13.

[2] STALLINGS W.密碼編碼學(xué)與網(wǎng)絡(luò)安全—原理與實(shí)踐[M].王張宜,楊敏,杜瑞穎,等譯.第五版.北京:電子工業(yè)出版社,2012:105-127.

[3] 鄭東,李翔學(xué),黃征.密碼學(xué)—密碼算法與協(xié)議[M].北京:電子工業(yè)出版社,2009:73-105.

[4] 王昭,袁春.信息安全原理與應(yīng)用[M].北京:電子工業(yè)出版社,2010:91-113.

[5] 張丞.基于AES和ECC的混合密碼體制研究及應(yīng)用[D].成都:成都理工大學(xué),2007:32-33.

[6] 張勇.AES與ECC相結(jié)合的混合密碼體制的研究及應(yīng)用[D].阜新:遼寧工程技術(shù)大學(xué),2008:31-38.

[7] 王常林,吳斌.基于AES算法和改進(jìn)ECC算法的混合加密方案[J].科學(xué)技術(shù)與工程,2009,9(18):5379-5382.

[8] 王紅珍,張根耀,李竹林.AES算法及安全性研究[J].信息技術(shù),2011(9):20-26.

[9] 王張宜,楊寒濤,張煥國(guó).橢圓曲線密碼的安全性分析[J].計(jì)算機(jī)工程,2002,28(5):161-163.

[10] 李殿偉,王正義,趙俊閣.橢圓曲線密碼體制安全性分析[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(4):227-230.

[11] 王紅珍,李竹林.ECC算法在軟件保護(hù)中的應(yīng)用及安全性分析[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(8):155-158.

[12] 梁棟.Java加密與解密的藝術(shù)[M].第二版.北京:機(jī)械工業(yè)出版社,2014:238-242.

Research and Realization of Telemetry Data Encryption Based on AES and ECC

MA Qingyu ZHANG Dong

(No. 92941 Troops of PLA, Huludao 125000)

In the real engineering, the telemetry data usually is transmitted by radio wave or wired network over great distances, which has the feature of large amount of data transmission and high confidentiality requirements. How to transmit the telemetry data securely has become an important problem. To solve the secure transmission problem of telemetry data, a hybrid encryption algorithm of AES and ECC is adopted, which encrypts the telemetry data by AES and encrypts the key of AES by ECC. So the hybrid encryption algorithm can encrypt the telemetry data quickly and solve the problem of key distribution. The results show that the algorithm utilizes the respective advantages of AES and ECC, and has a strong anti-attack capability. So it greatly improves the security and efficiency of telemetry data transmission.

telemetry data, AES, ECC

2014年10月20日,

2014年11月30日

馬擎宇,男,碩士研究生,工程師,研究方向:遙測(cè)數(shù)據(jù)處理及相關(guān)軟件開(kāi)發(fā)。張東,男,碩士研究生,高級(jí)工程師,研究方向:遙測(cè)數(shù)據(jù)處理總體。

V217

10.3969/j.issn1672-9730.2015.04.021

猜你喜歡
公鑰加密算法遙測(cè)
前饋復(fù)合控制在提高遙測(cè)跟蹤性能中的應(yīng)用
遠(yuǎn)程控制式遙測(cè)地面站關(guān)鍵技術(shù)研究
基于WPF的遙測(cè)CAS信息實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)開(kāi)發(fā)
DES加密算法的實(shí)現(xiàn)
自適應(yīng)模糊PID控制的遙測(cè)方艙溫度調(diào)節(jié)方法
基于整數(shù)矩陣乘法的圖像加密算法
神奇的公鑰密碼
國(guó)密SM2密碼算法的C語(yǔ)言實(shí)現(xiàn)
基于身份的聚合簽名體制研究
基于小波變換和混沌映射的圖像加密算法