999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SM4和ECC的混合加密算法研究

2016-11-08 08:43:34卞建秀李垣江王建華
計算機應用與軟件 2016年10期
關鍵詞:安全性

卞建秀 李垣江 王建華

(江蘇科技大學電子信息學院 江蘇 鎮江 212003)

?

基于SM4和ECC的混合加密算法研究

卞建秀李垣江*王建華

(江蘇科技大學電子信息學院江蘇 鎮江 212003)

由于單一加密算法不足以滿足無線嵌入式通信系統對信息安全的要求,提出基于提升的SM4算法和公鑰加密算法的橢圓曲線密碼體制(ECC)混合加密。首先將SM4中的參數FK由固定值改為動態選擇生成,然后用提升的SM4算法加密信息,并采用ECC完成SM4的密鑰管理。最后基于Visual C++6.0驗證了混合加密算法的可行性。實驗結果表明,提升的算法以占用時間資源為代價提高了算法的擴散性。該算法能夠有效地提高加密的安全性,適用于對嵌入式系統中數據加密。

SM4ECC混合加密算法

0 引 言

網絡技術的成熟化推動越來越多的信息利用無線網絡通信。無線網絡通信在提供便捷服務的同時也存在一定的安全隱患。由于無線通信系統自身存在多種不安全因素的特點,如信道的不穩定等問題,在無線信道上傳輸的數據不進行任何加密處理,數據信息被截取,篡改的風險性將大大增加,導致嚴重的信息泄漏問題。因此,研究如何保障數據信息在無線通信系統中的存儲和傳輸顯得至關重要。

密碼學是構建信息安全體系的基礎,是實現信息安全技術的主要手段[1]。現代密碼體制按照密鑰性質分為公鑰密碼體制和私鑰密碼體制。SM4算法是我國公布的第一個用于無線局域網的商用分組密碼算法,在2012年被國家密碼管理局正式批準為密碼行業標準之一[2]。SM4算法具有實現簡單、運行速度快的特點,但是由于加密和解密使用同一組密鑰,密鑰存儲與傳送的安全與否決定了整個加密過程的可靠程度。每對通信方都需事先在收發前建立安全的信道來傳遞密鑰,這將導致密鑰數量會隨著通信對象個數的增加而急劇增長。實際應用中,使用單一的密碼體制解決日益復雜的信息存儲和傳輸安全已經越來越不現實了,綜合考慮私鑰密碼體制和公鑰密碼體制各自的優勢和缺陷,混合密碼系統受到越來越多的關注。

羅江華[3]提出用MD5將明文加密成32位數據,再將密文組合成新的128位數據,采用Base64加密。將MD5與Base64相互混合可以避免利用查詢MD5散列值的方式獲得用戶密碼的可能,從而提高了用戶密碼的安全性。吳明航[4]提出把DES與RSA進行混合,使用兩種算法的混合彌補DES的不足,通過與其他算法的對比來驗證算法性能。何偉明[5]將混合加密算法用到云計算中,提出使用線性ADES混合加密算法,即用DES和AES分別加密部分明文,并將兩個密文線性混合的方法。Guo等[6]提出了將3DES-AES、TDADS和TDAE Salt三種算法用在云計算平臺上,算法具有很強的加密性能,并且在云平臺能很快生成加密塊。Liu等[7]討論了混合加密的密鑰安全問題。

1985年由N.Koblitz和V.Miller各自提出的橢圓曲線密碼體制被公認為具有高效率、高安全特性的公鑰密碼體系。它利用有限域上橢圓曲線的有限點群代替基于離散對數問題密碼體制中的有限循環群所得的一類密碼體制,橢圓曲線離散對數問題(ECDLP)計算的困難性[8]決定了算法安全程度。

本文提出了一種基于SM4提升算法和ECC算法的新型混合密碼算法,結合SM4和 ECC算法各自優勢,利用提升的SM4加密明文信息塊,然后用ECC對SM4的密鑰加密,確保數據和密鑰安全的同時也優化密鑰管理。

1 SM4算法簡介

SM4算法[9]是類似于高級加密算法標準的一種分組密碼算法,加密算法和密鑰擴展算法均采用32位的非線性迭代結構。SM4算法解密的結構不變,只是輪密鑰與加密時有區別,算法中把加密輪密鑰的逆序作為解密輪密鑰。

具體的加密實現過程如下,圖1為SM4算法的結構流程。

(1) SM4加密算法

SM4算法的加密變換為:Xi+4=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1,…,31。

經過32輪變換,最后一輪輸出為:(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)。

圖1 SM4算法結構圖

(2) 密鑰擴展

Ki=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3)。rki=Ki⊕T′(Ki+1⊕Ki+2⊕Ki+3⊕CKi),i=0,1,…,31為輪密鑰,其中,MK=(MK0,MK1,MK2,MK3)是密鑰。系統參數為FK=(FK0,FK1,FK2,FK3),固定參數為CK=(CK0,CK1,…,CK31)。T′變換與加密過程中輪函數的T相似,區別是L變為L′(B)=B⊕(B<<<13)⊕(B<<<23)。

2 ECC算法介紹

ECC的實現[10]包括建立系統、生成密鑰、加密和解密四個部分。

(1) 建立系統

描述Fq上的橢圓曲線,用p、a、b確定橢圓曲線Ep(a,b),p為素數,a、b為系數,G為基點,n為G的階。在系統建立過程中系數的確定總是需要消耗大量時間并且十分困難,簡單的解決辦法就是直接使用已有標準中建議的橢圓曲線。

(2) 生成密鑰

橢圓密碼體制中,接收方選擇一個大整數d作為私鑰,d滿足1

(3) 加密算法

若B要發送信息m給A,則B先查找A的公鑰QB,將明文劃分為域元素mi,mi∈Fq。在[1,n-1]上選取k,計算R(xR,yR)=k×G,S(xS,yS)=k×QB,c=m×xS。將R(xR,yR)和密文c組合在一起發送給A。

(4) 解密算法

3 本文提出的混合加密算法

3.1SM4算法的提升方法

SM4算法加密過程和密鑰擴展過程可以在硬件上并行完成,也可方便地移植在微處理器上實現軟件加密,是適用于高、低端應用的商用分組密碼算法。由于其加密過程和解密使用同一密鑰,安全性不夠高,密鑰管理沒有公鑰算法特性好;而ECC算法安全性比RSA更高,抗攻擊性更強。但相比于單一密鑰加密,ECC不適合對大數據量的信息加密,存在計算大數很復雜的缺陷[11]、加解密相對較慢的特點。將采用SM4與ECC算法混合[12]實現加解密。

此外,本文從優化SM4算法及ECC算法入手,進一步提高混合后算法的安全系數。目前公認ECC是安全的,但時間復雜度過高,系統開銷大[13]。若繼續公鑰加密算法,其存在的主要問題是增加ECC算法中的位數,勢必會增加計算的復雜度,所以通過改變ECC的方法對提高整個算法體系的作用不明顯。故考慮從SM4算法的擴展密鑰方面研究,將動態的加密方法[14]引入。

本文選取SM4算法,改變固定參數FK,使用可變參數取代固定4個參數的方法。改進后的SM4算法再與ECC采用上述方法完成加密過程。SM4改進的具體方法是將原來固定的4個FK參數擴展為16個FK(每個參數4個字節,即32位),其中前4個為原來的固定參數,之后的12個FK參數為隨機生成的。每次的FK生成過程中可以減少四個固定參數生成時間。從16個元素中選擇4個FK,則以時間為種子,采用rand()函數隨機生成0~15之間的數,每次加密時隨機使用其中的4個。使用隨機FK的目的是通過提高密鑰生成的隨機性從而增加破解的難度,有助于保證算法安全性的提高。圖2給出了提升后的密鑰擴展算法過程。

圖2 提升后的SM4密鑰擴展算法

3.2混合加密流程

具體實現過程如下所述:

(1) 設待發送的明文為m,發送方為A,接收方為B,密鑰為key;

(2) B利用ECC算法產生一對密鑰(公鑰和私鑰),并將公鑰發送給A;

(3) A將明文利用提升的SM4算法加密,用從B接收來的公鑰密鑰對key加密,將已經經過加密算法處理的明文和密鑰一起傳送給B;

(4) B用私鑰對key解碼,再用恢復后的key和提升的SM4算法還原明文信息。

加、解密流程如圖3所示。

圖3 混合加密基本流程

3.3混合加密算法安全性分析

從理論上分析本文所提出的混合加密算法性能,主要考慮提升的SM4加密算法和ECC加密算法以及兩者相結合的安全性、算法運行效率等。

SM4 算法是我國自主研制的分組密碼算法,到目前為止, SM4 算法還沒有被攻破,仍然安全。SM4加密算法以128 bit的數據塊為單位,與128 bit的密鑰實現異或、移位的線性變換和采用S盒的非線性變換。S盒是一種非線性結構,將明文塊與輪密鑰最大限度混淆和擴散,增加明文與密文之間復雜程度,從而有效地抵抗線性分析和差分分析。SM4算法與Feistel網絡和SP網絡相比,以降低線性擴散和差分擴散的速度提高非線性程度,降低芯片集成度。若考慮采用窮舉攻擊法攻擊,需要2128次運算,計算量很大,而DES算法只需256次運算。要想用窮舉攻擊法破解需要相當長的時間,目前使用該破解方法是不可實現的[16]。提升后的SM4算法通過參數生成的隨機性和不確定性增加產生密鑰的復雜性,使攻擊者無法通過簡單的數學方法從密文中獲得統計特性,更加有助于提高算法的安全性。但由于每一輪都需要通過計算產生隨機參數,運行時間會有微小的增加,對于更看重數據處理安全性的應用場合具有很好的應用價值。

ECC加密算法作為三種最具實用性的公鑰算法中最新的一種,利用ECDLP具有的很好的單向性,計算復雜度是完全指數級,求解困難大。而RSA存在亞指數算法危機,意味著若ECC要提供與RSA相同的安全等級,需要的密鑰長度會比RSA需要的密鑰長度少很多,如160位的ECC與1024位RSA、DSA有相同的安全強度。因此ECC在運算效率上有突破性進展,密鑰較短,可以節省更多的存儲空間方便其他程序利用,完成更復雜的計算。在安全級別提高時,ECC的參數長度增長速度會比RSA或DL算法慢很多。例如,如要使攻擊者破解一個給定的ECC算法的付出加倍,只需將參數長度增加2位,而另兩種公鑰算法中參數的長度則需增加20~30位[16]。

4 實驗結果及分析

本文實驗的PC硬件環境:Intel(R) Core(TM)2 DUO CPU、2.00 GB內存、32位Windows 7操作系統;開發工具:Microsoft Visual C++6.0軟件。

(1) 證明本文提出的混合加密算法正確性,選取兩組明文數據和一組密鑰,用本文提出的原算法加密,各個過程中的內容如表1所示。

表1 混合算法實驗結果

從表中可看出,密文中恢復的明文與原數據一致,說明本文提出的用提升SM4算法與ECC混合加密可以滿足數據加密和解密的要求,并為嵌入式系統上的算法移植提供可能。

(2) 本文將提出的提升SM4與ECC相結合的混合算法與原SM4和ECC混合算法,以及一般研究中采用的AES與ECC混合的算法進行比較,并從占用資源和擴散性兩個方面對算法進行性能分析。

占用資源是從算法占用的時間和空間資源來評價。本文主要是考慮算法的時間占用資源,選擇一組數據對其進行N次加密總加密時間為T(單位:s),則每次加密的時間為T/N。從理論上分析,算法占用時間與算法使用的實際編程語言密切相關。由于改進的算法較原算法只存在FK參數選擇上的差異,故兩個算法在密鑰擴展上存在時間差,改進的算法可能比原算法使用的加密時間要長一點。而AES和ECC混合與SM4和ECC混合運行時間的差別主要就是AES、SM4兩者加密時間的差別。

選取一組數據和一組密鑰,假設用上文指出的三種混合算法對其加密100次,用時為t(單位:s)則對一個128bit的明文來說每次加密時間為t/100。實驗將分別測試5次,取平均值作為算法占用時間資源值。測試結果如表2所示。

表2 時間資源占用的實驗結果

從表2可以看出,實驗結果與理論分析相似。提升后的SM4與ECC混合加密在時間資源占用上比改進前要稍微多一點,但時間差不大。在加密大量數據時,這個時間誤差完全可以忽略不計,但作為我國第一個商用密碼算法,其在時間資源利用方面并沒有超過國際化標準的AES算法。

擴散性主要是指密碼算法若改變一位明文,則加密后的多位密文將會隨之改變,從而隱藏明文數字的統計特性。一般用均值來衡量,若均值越大則代表其擴散特性越好。本文選用同一密鑰和明文,對三種算法測試選用當改變一位明文時,觀察密文發生變化位數。測試8次的實驗結果如圖4所示。

圖4 算法擴散性測試對比圖

圖4中顯示,經過8次測試,使用同一密鑰,明文被改變一位時,提升的SM4與ECC混合算法密文變化位數最多,其均值比其他兩種算法要高,說明提升的混合算法比傳統的混合算法具有更強的隱藏信息統計特性的能力。提升的SM4算法與ECC混合加密提高了算法的擴散性,即改進之后的算法較原算法安全效果更好。

從表2和圖4可知,提升的SM4算法和原SM4與ECC混合加密時間占用資源相似,比AES與ECC混合加密需要更長的時間。但提升的SM4混合ECC算法的擴散性要比其他兩種混合算法好,其是以微小的時間為代價換取加密數據的安全性。

一個加密算法的優劣需要從算法的安全性、時間和空間復雜度等方面考慮,而且需要根據實際應用的指標要求來確定算法是否合適。例如處理國防、軍事中的一些敏感信息,相比于加密算法的時間復雜度,算法的安全性顯得更重要一些。而工業控制中注重效率高于信息安全的則會考慮優化算法復雜度。在實驗環境中基本相同的加密時間下(本文的混合加密算法時間占用資源比原SM4與ECC混合加密算法多0.001 s),本文提出的混合加密算法比原SM4與ECC混合加密算法獲得更多位變化的密文。所以本文算法在對數據安全性要求更高而加解密時間要求相對不高的應用場合,有很好的實用價值。

5 結 語

本文在借鑒傳統混合加密算法研究的基礎上,提出將用于無線局域網的國密SM4算法提升后與目前國際公認最為安全的公鑰密碼算法ECC進行混合加密,從理論和實驗角度分析了算法的可行性。并從時間占用資源和擴散性角度對提出的算法進行性能分析,提升的SM4算法與ECC混合加密提高了算法的安全性。可以在今后的研究中從編程角度對算法進一步優化,實現加密時間和安全性的共贏,從而使其更適合應用在嵌入式等領域。

[1] 路而紅.現代算法密碼工程[M].北京:清華大學出版社,2012.

[2] 李子臣,楊亞濤.典型密碼算法C語言實現[M].北京:國防工業出版社,2013.

[3] 羅江華.基于MD5與Base64的混合加密算法[J].計算機應用,2012,32(S1):47-49.

[4] 吳明航.DES和RSA混合加密算法的研究[D].哈爾濱:哈爾濱工業大學,2013.

[5] 何偉明.混合加密算法在云計算環境下的實現[J].電子技術與軟件工程,2015(2):200-201.

[6] Guo P,Su L P,Ning L J,et al.Hybrid encryption algorithms in cloud computing[J].Information Technology Journal,2013,12(14):3015-3019.

[7] Lu Xianhui,Li Bao,Jia Dingding.Related-key security for hybrid encryption[J].Lecture Notes in Computer Science,2014,8783:19-32.

[8] Potgieter M J,Dyk B J V.Two hardware implementations of the group operations necessary for implementing an elliptic curve cryptosystem over a characteristic two finite field[C]//IEEE AFRICON, Africon Conference in Africa. Piscataway,N J :IEEE Press,2002,1:187-192.

[9] 國家商用密碼管理辦公室.無線局域網產品使用的SMS4密碼算法[EB/OL].[2015-06-19].http://www.oscca.gov.cn/UpFile/200621016423197990.pdf.

[10] 曾萍,張歷,胡榮磊,等.WSN中基于ECC的輕量級認證密鑰協商協議[J].計算機工程應用,2014,50(2):65-69,80.[11] 劉磊.素數域上ECC加密算法的軟件實現[J].計算機應用與軟件,2012,29(8):289-291.

[12] 陳昂,李磊,陳靜,等.云環境下LBS的對稱和非對稱混合加密方案[J].計算機應用與軟件,2013,30(8):73-77.

[13] 楊峰.嵌入式ECC算法性能改進及系統容錯技術的研究與實現[D].北京:北京工業大學,2010.

[14] 周術洋,彭蔓蔓,肖小歡.一種基于動態思想的SMS4算法改進與實現[J].微電子學與計算機,2011,28(9):86-88,92.

[15] 吳筱,郭培源,何多多.DES和SM4算法的可重構研究與實現[J].計算機應用研究,2014,31(3):853-856.

[16] Christof Paar,Jan Pelzl.深入淺出密碼學—常用加密技術原理與應用[M].馬小婷,譯.北京:清華大學出版社,2012:238-239.

STUDY ON SM4 AND ECC-BASED HYBRID ENCRYPTION ALGORITHM

Bian JianxiuLi Yuanjiang*Wang Jianhua

(SchoolofElectronicsandInformation,JiangsuUniversityofScienceandTechnology,Zhenjiang212003,Jiangsu,China)

Since the single encryption algorithm does not sufficiently meet the requirements of wireless embedded communication system on information security, we proposed a hybrid encryption of elliptic curve cryptosystem (ECC), which is based on the enhanced SM4 and the public key encryption algorithm. It first changes the parameter FK of SM4 from the fixed value to the dynamically selected generation, and then encrypts the information with enhanced SM4, and uses ECC to complete the key management of SM4. Finally we verified the feasibility of the hybrid encryption algorithm based on Visual C++6.0. Experimental results showed that the enhanced algorithm improves its diffusibility at the cost of time resources occupancy. This algorithm can effectively improve the security of encryption, and is suitable for data encryption in embedded system.

SM4ECCHybrid encryption algorithm

2015-06-24。江蘇省高校優勢學科建設工程項目(蘇政辦發[2011]6號)。卞建秀,碩士生,主研領域:通信技術及其應用工程。李垣江,講師。王建華,教授。

TP309.2

A

10.3969/j.issn.1000-386x.2016.10.067

猜你喜歡
安全性
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
既有建筑工程質量安全性的思考
某既有隔震建筑檢測與安全性鑒定
基于安全性需求的高升力控制系統架構設計
加強廣播電視信息安全性的思考
科技傳播(2019年22期)2020-01-14 03:05:32
網約車安全性提高研究
活力(2019年17期)2019-11-26 00:42:18
注意藥酒服用的安全性
基層中醫藥(2018年6期)2018-08-29 01:20:20
田間施用滅幼脲在桃中的殘留安全性評估
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
主站蜘蛛池模板: 激情六月丁香婷婷四房播| 亚洲国产成人麻豆精品| 波多野结衣在线一区二区| 永久毛片在线播| 欧美一区国产| www中文字幕在线观看| 国产无码网站在线观看| 国产美女在线免费观看| 久久免费视频6| 亚洲国产亚综合在线区| 91福利片| 久久精品无码专区免费| 夜夜爽免费视频| 久久99国产精品成人欧美| 久久永久精品免费视频| 九色在线观看视频| 婷婷中文在线| 欧美一区二区自偷自拍视频| 亚洲最大福利网站| 久久综合结合久久狠狠狠97色| 国产精品粉嫩| 欧美五月婷婷| 成色7777精品在线| 91极品美女高潮叫床在线观看| www欧美在线观看| 99性视频| 波多野结衣中文字幕一区二区| aaa国产一级毛片| 欧类av怡春院| 小说 亚洲 无码 精品| 国产综合精品一区二区| 久久香蕉国产线看观看式| 欧美国产日产一区二区| 成人欧美日韩| 好紧好深好大乳无码中文字幕| 亚洲无线一二三四区男男| 国产区在线观看视频| 欧美国产精品不卡在线观看 | 国产成人乱无码视频| 红杏AV在线无码| 欧美性精品不卡在线观看| 露脸一二三区国语对白| 欧美国产综合色视频| 免费人成在线观看成人片| 免费看美女自慰的网站| 91www在线观看| 青草娱乐极品免费视频| 不卡午夜视频| 国产91视频观看| 奇米精品一区二区三区在线观看| 久久女人网| 日韩天堂在线观看| 国产啪在线91| 亚洲精品自产拍在线观看APP| 亚洲女同欧美在线| 全免费a级毛片免费看不卡| 日本AⅤ精品一区二区三区日| 日韩色图在线观看| 日韩成人高清无码| 日本色综合网| 国产老女人精品免费视频| 日本免费a视频| 熟妇无码人妻| 97国产成人无码精品久久久| 手机精品视频在线观看免费| 国产成人高清精品免费| 日韩福利在线观看| 亚洲日韩国产精品综合在线观看| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲AV无码乱码在线观看代蜜桃| 久久久受www免费人成| 无码高潮喷水专区久久| 久久精品中文字幕免费| 国内老司机精品视频在线播出| 三上悠亚精品二区在线观看| 亚亚洲乱码一二三四区| 国产爽歪歪免费视频在线观看 | 免费久久一级欧美特大黄| 91久久青青草原精品国产| 国产成人综合在线观看| 日本高清在线看免费观看| 91亚洲精选|