• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進AES 和SM2/3 的隱私數(shù)據(jù)保護技術(shù)研究*

      2022-06-16 12:45:58李永忠
      計算機與數(shù)字工程 2022年5期
      關(guān)鍵詞:國密加解密加密算法

      呂 煒 李永忠

      (江蘇科技大學(xué)計算機學(xué)院 鎮(zhèn)江 212003)

      1 引言

      隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)中的數(shù)據(jù)在傳輸時面臨了諸多安全威脅。若未對信道中傳輸?shù)碾[私數(shù)據(jù)未進行任何加密保護,則數(shù)據(jù)很可能面臨被篡改的風(fēng)險或?qū)е聰?shù)據(jù)泄露等問題[1~2]。在實際應(yīng)用時,采用單一密碼體制存在密鑰管理困難或加解密效果不理想等問題,因此混合加密方案兼顧了安全性與效率而受到業(yè)內(nèi)廣泛關(guān)注[3~4]。劉見龍[5]采用SM2 結(jié)合SM4 的混合加密方案,實現(xiàn)了一個WIFI 熱點管理系統(tǒng),提高了WIFI 熱點的安全性。王紅珍[6]采用ECC 結(jié)合AES的混合加密方案,設(shè)計了一個加密系統(tǒng)。肖振久[7]改進了AES 和RSA算法,將兩者結(jié)合設(shè)計了一個基于混合加密的數(shù)字簽名系統(tǒng)。

      本文提一種改進的AES 算法結(jié)合國密SM2 算法對網(wǎng)絡(luò)中的數(shù)據(jù)進行加密傳輸。利用改進AES算法加密速率快和國密SM2 算法便于管理密鑰的優(yōu)勢,對需要傳輸?shù)臄?shù)據(jù)進行安全高效的加密。同時加入SM3算法,用于數(shù)據(jù)完整性檢驗。

      2 算法概述

      2.1 AES算法

      美國于2001 年提出了AES 對稱加密加法,該算法的密鑰有128 位、192 位和256 位可選,其具有加密靈活、適應(yīng)能力強和加解密效率高等特點[8~9]。

      AES算法的加密流程如圖1所示。

      圖1 AES加密流程

      2.2 國密SM2算法

      我國國密SM系列算法中的SM2算法是基于國外的ECC 橢圓曲線密碼體制研發(fā)的,但是SM2 算法的各方面性能要優(yōu)于ECC算法,其加解密步驟如下[10~11]。

      1)接收方選擇一條橢圓曲線Ep(a,b),并在曲線上選擇一個基點G,生成密鑰對(dB,PB),將公鑰發(fā)送給消息發(fā)送方;

      2)發(fā)送方根據(jù)接收到的公鑰PB將明文M 編碼到Ep(a,b)上,將密文傳輸給接收方;

      3)接收方收到密文數(shù)據(jù)包后使用私鑰dB解密得明文M'。

      2.3 國密SM3哈希算法

      SM3算法是國密系列算法中唯一的雜湊算法,要求輸入的明文信息長度l<264bit,然后將消息經(jīng)過信息填充、迭代過程、消息擴展和壓縮函數(shù)等處理,最終輸出一個固定長度為256bit的雜湊值[12]。

      3 基于改進AES 與SM2 的混合加密算法

      3.1 改進的AES算法

      1)AES密鑰擴展改進

      傳統(tǒng)AES 加密算法10 輪密鑰擴展過程為,將輸入的初始128bit 放到一個4*4 的狀態(tài)矩陣中,然后判斷,若i 的值不為整除4,則W[i]=W[i-4]⊕W[i-1];若i 的值能整除4,則W[i]=W[i-4]⊕T(W[i-1]),最后擴展成44列的擴展密鑰數(shù)組。由此可知W[i]的結(jié)果都由W[i-1]和W[i-4]運算得到,雖然這種密鑰擴展方式高效但是存在一個缺陷,若是攻擊者獲取到其中一輪的密鑰,就能根據(jù)逆變換倒推出前面的密鑰以及推導(dǎo)出后面的密鑰,從而獲取到剩余的所有密鑰[13]。

      文獻[7]中提供了一種密鑰擴展的改進方法,原理如圖2所示。

      圖2 改進的AES密鑰擴展

      初始密鑰不變,依舊按照原來的密鑰擴展算法進行輪密鑰擴展。但在接下來的十輪密鑰擴展中,第一輪密鑰擴展時使用一個與初始密鑰無關(guān)的新密鑰填入其中,后面的密鑰擴展過程依據(jù)AES固有的擴展算法在新密鑰的基礎(chǔ)上進行擴展,這樣能大大提高密鑰的安全性。

      2)AES列混合操作改進

      在傳統(tǒng)AES算法中,列混合變換是通過固定矩陣M 相乘來實現(xiàn)的,分為解密時的正向列混合變換,如式(1)所示,以及解密時的逆向列混合變換,如式(2)所示。

      文獻[7]中提供了一種列混合操作的改進方法,使固定矩陣M的逆矩陣與原矩陣相等,如式(3)所示,則解密時的列混合變換就跟加密一樣只需要進行2 次乘法運算和4 次異或運算,能大大提高解密速度。

      3.2 SM2算法加解密

      1)加密過程[14]

      輸入:長度為klen的明文M,公鑰PB;

      (1)產(chǎn)生隨機整數(shù)k,k∈[1,n-1] ;

      (2)求C1=[k]G=(x1,y1),將C1轉(zhuǎn)化為比特串;

      (3)求S=[h]PB,判斷若S 為無窮遠點,則報錯;

      (4)求(x2,y2)=[k]PB;

      (5)求t=KDF(x2||y2,klen),若t 全為0,則返回(1);

      (6)求C2=M⊕t;

      (7)求C3=Hash(x2||M||y2);

      輸出密文C=C1||C2||C3。

      2)解密過程[15]

      輸入:密文比特串C,私鑰dB;

      (1)提取出C1,將C1轉(zhuǎn)化成橢圓曲線上一點;

      (2)求S=[h]C1,判斷若S為無窮遠點,則報錯;

      (3)求(x2,y2)=[dB]C1;

      (4)求t=KDF(x2||y2,klen),若t 全為0,則返回(1);

      (5)提取C2,求M'=C2⊕t;

      (6)求u=Hash(x2||M'||y2),若u=C3進入下一步,否則報錯;

      輸出明文M'。

      3.3 SM3哈希值計算

      對消息M計算其哈希值過程如下:

      其中V(0)表示長度為256bit 的初始值IV。CF表示壓縮函數(shù)。B(i)表示消息M填充后的分組。V(n)表示最后計算出的哈希值。

      3.4 改進AES與SM2混合加密算法

      本文提出的基于改進的AES 與SM2 混合加密算法整體流程如圖3所示。

      圖3 算法整體流程

      使用改進的AES算法對隱私數(shù)據(jù)進行加密,對于加解密過程中使用的對稱密鑰,使用國密SM2算法進行加密保護。此外,利用國密SM3哈希算法對需要傳輸數(shù)據(jù)進行哈希值的計算,在接收端對數(shù)據(jù)進行完整性驗證,驗證通過則接受此消息,否則拒絕接收。本文的混合加密算法步驟如下:

      1)消息接收端產(chǎn)生非對稱密鑰對,將公鑰publicKey發(fā)送給消息發(fā)送端;

      2)發(fā)送端產(chǎn)生對稱密鑰Key,對明文M 進行哈希值計算得Z,用Key 對拼合的消息M//Z 加密,用公鑰publicKey 對密鑰Key 加密,將密文數(shù)據(jù)包發(fā)送給接收端;

      3)接收端用私鑰praviteKey 解密密鑰密文得Key,使用密鑰解密得M'//Z,對M'進行哈希值計算得Z'。

      4)判斷Z是否等于Z',若Z=Z',則輸出明文M',否則拒接接受此消息。

      4 加密解密實現(xiàn)及測試

      實現(xiàn)環(huán)境為Windows7 系統(tǒng),處理器CPU 為Interl Core i5-2450m,2.50HG,運行內(nèi)存6G,編程語言為Java語言,工具為ecplice。

      4.1 實驗結(jié)果

      圖4 是數(shù)據(jù)集,利用程序生成的模擬身份隱私信息其中包含姓名、電話、地址和身份證號等。

      圖4 隱私數(shù)據(jù)

      圖5 是對文本隱私數(shù)據(jù)進行對稱加密后輸出的密文,由圖可知加密成功。

      圖5 密文

      圖6是導(dǎo)出的雙對稱密鑰明文。

      圖6 雙對稱密鑰

      圖7 是經(jīng)過SM2 加密的對稱密鑰密文,由圖可知加密成功。

      圖7 密鑰密文

      4.2 算法性能測試

      測試運行環(huán)境為Windows7 系統(tǒng),處理器CPU為Interl Core i5-2450m,2.50HG,編程語言為JAVA語言,工具為ecplice。

      本文混合加密算法使用兩個128bit 長度的對稱密鑰對60MB 以內(nèi)的文本隱私數(shù)據(jù)進行加解密時間測試,另外對SM2+AES 和RSA+AES 兩種混合加密算法也進行了測試,測試結(jié)果如表1所示。

      表1 加解密耗時對比

      圖8和圖9分別是三種混合加密算法加密和解密耗時的折線對比圖。

      圖8 加密耗時對比

      圖9 解密耗時對比

      由圖可知三種混合加密算法中,加密時,RSA+AES算法加密速度相對快一點,考慮到RSA密鑰對生成時間慢,所以優(yōu)勢不明顯。SM2+AES 和SM2+改進的AES算法加密速度幾乎相等,且SM2密鑰對生成時間快。解密時,SM2+改進的AES 算法的解密速度最快,其次是RSA+AES 算法,最后是SM2+AES 算法,因此本文提出的混合加密算法性能較好。

      此外改進的AES算法,使用的兩個不相關(guān)的對稱密鑰,攻擊者需要平均進行2255次嘗試才能破解密鑰,以當(dāng)前的計算能力想破解密鑰起碼需要數(shù)億年的時間。且使用SM2 非對稱密碼算法對AES 算法的密鑰進行加密傳輸,能夠很好地保證對稱密鑰的分配安全。

      綜上,本文的混合加密算法在提高密鑰安全性的同時提升了解密速度。

      5 結(jié)語

      本文提出了一個基于改進的AES 算法和SM2算法的混合加密算法,用以保障數(shù)據(jù)的傳輸安全。通過實驗分析對比了三種混合加密算法的加解密性能,得出本文提出的混合加密算法性能更好,安全性更高。但在網(wǎng)絡(luò)中的隱私數(shù)據(jù)安全所要面對的挑戰(zhàn)遠不止于此,形勢依然很嚴(yán)峻。而該混合加密算法從研究到應(yīng)用還有很長的一段路要走,因此今后會繼續(xù)深入的研究,確保改進的混合加密算法能更好地保證隱私數(shù)據(jù)的傳輸安全。

      猜你喜歡
      國密加解密加密算法
      國密技術(shù)在智能燃氣表系統(tǒng)的應(yīng)用與分析
      煤氣與熱力(2021年7期)2021-08-23 01:11:14
      Hyperledger Fabric平臺的國密算法嵌入研究
      自助終端設(shè)備國密改造方法探究
      基于國密算法的銀行移動營銷終端安全系統(tǒng)研究
      電子測試(2018年9期)2018-06-26 06:45:40
      PDF中隱私數(shù)據(jù)的保護方法
      電子取證中常見數(shù)據(jù)加解密理論與方法研究
      基于FPGA的LFSR異步加解密系統(tǒng)
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進
      網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
      軟件工程(2014年11期)2014-11-15 20:02:46
      射阳县| 丘北县| 台南县| 宜昌市| 洛南县| 新乐市| 顺昌县| 梁河县| 库伦旗| 新泰市| 那曲县| 德州市| 琼结县| 洛浦县| 乌拉特前旗| 拉孜县| 东乡族自治县| 沿河| 保德县| 连平县| 龙川县| 安泽县| 怀化市| 喜德县| 建阳市| 丰县| 绥滨县| 石楼县| 乃东县| 靖宇县| 满城县| 玉门市| 嘉峪关市| 高台县| 连平县| 安塞县| 赤水市| 岑巩县| 石棉县| 麻江县| 大邑县|