?

基于無線局域網的AES加密算法研究

2017-03-23 10:21曾繁婧劉曉東
電子設計工程 2017年5期
關鍵詞:數字簽名加密算法公鑰

曾繁婧,劉曉東

(1.武漢郵電科學研究院 湖北 武漢430027;2.武漢虹旭信息技術有限責任公司 湖北 武漢430070)

基于無線局域網的AES加密算法研究

曾繁婧1,2,劉曉東1,2

(1.武漢郵電科學研究院 湖北 武漢430027;2.武漢虹旭信息技術有限責任公司 湖北 武漢430070)

針對無線局域網中AES加密算法對明文加密的問題,本文分析了其工作原理和結構,基于達到對明文有更強的加密能力的目的,提出了對AES的S盒進行優化和一種混合加密算法將AES與ECC相結合,由AES密鑰進行明文的加密,用ECC實現數字簽名和對AES密鑰的加密的方案,實現了信息加密,數字簽名及認證一體化,保障了信息安全。

AES;優化;ECC;加密

在信息化高速發展的時代,網絡雖然給人們帶來了諸多便利,但是也帶來了信息泄露的問題[1]。數據加密技術在數據安全中起著至關重要的作用,它保護敏感信息免受來自外界的惡意攻擊,使數據不被篡改和盜取[2]。

文中使用AES對稱加密算法加密明文數據,ECC非對稱加密算法加密密鑰并生成數字簽名,從而既保障了數據在網絡傳輸過程中的安全性,又完成了數字簽名。將這兩種加密算法的混合密碼體制可以有效地提高信息傳輸的安全性和高效性。

1 AES算法的相關概念

AES(Advanced Encryption Standard,高級數據加密標準)也稱為Rijndael分組加密算法,是一種對稱密鑰的分組迭代加密算法[3],分組長度固定為128 bits,使用的密鑰可以分為128bits,192bits或256bits 3種不同的長度[4],具有安全性高、易于軟硬件實現、算法設計簡單的特點,能抵抗所已知類型的攻擊[5]。

1.1 AES算法結構

AES結構的一個顯著特征是它不是Feistel結構,AES算法是在每一輪都使用代替和混淆將整個數據分組作為一個單一的矩陣處理[6]。AES加密算法結構由4個不同的階段組成,包括一個置換和3個代替,詳細過程如圖1所示。1)字節代替:用S盒完成分組的字節到字節的代替;2)行移位:簡單的置換;3)列混淆:利用域GF(28)上的算術特征的一個代替。4)輪密鑰加:當前分組和擴展密鑰的一部分進行按位異或。

加密輪函數用偽C代碼表示為:

注釋:1)State代表狀態矩陣,一個存儲原始數據的數組;2)RoundKey[]代表經過擴展運算后的密鑰;3)ByteSub()代表置換函數,對狀態矩陣 State中的數據進行置換;4)ShiftRow()代表移位函數,對狀態矩陣 State中的數據進行移位運算;5)MixColumn()代表列混合運算函數,對狀態矩陣State中的數據進行列混合運算;6)AddRoundKey() 代表異或運算函數, 對數組 State和數組RoundKey進行異或運算。

1.2 加密輪變換

1.2.1 字節代替變換(Substitute Bytes)

字節代替變換是唯一的非線性變換,字節替換是作用在狀態中每個字節上的一種非線性字節轉換[7],字節代替變換的步驟為兩個:1)把每一個字節的值用它的乘法逆代替,即有限域GF(28)中的乘法逆。2)在GF(28)中進行仿射變換。這兩步主要通過從AES算法給定的S盒中進行映射,S盒和逆S盒的運算如圖2所示。

圖1 AES加密和解密結構圖

圖2 AES算法S盒y行x列處字節計算

1.2.2 行移位變換(ShiftRows)

行移位變換是線性變換,和列混淆運算相互影響,在多輪變換后,使密碼信息達到充分的混亂,提高非線性度[8]。行移位變換是在狀態的每個行間進行,具體就是將每一行進行循環移位,移動位數以字節為單位,將最位字節移到高位,高位字節移到低位,即循環右移。逆向行移位變換是將狀態中的后三行執行相反方向的移位操作。

1.2.3 列混淆變換(MixColumns)

列混淆變換是對狀態 (state)列的一種線性變換,如圖3所示,是從狀態中取出一列,乘以一個固定的多項式a(x),然后將所得結果進行取模運算,模值為x4+1,a(x)的定義如下:

1.2.4 輪密鑰加變換(AddRoundKey)

在輪密鑰加變換中,128位的狀態按位與128位的輪密鑰XOR。

圖3 列混淆變換

2 AES加密算法的優化

2.1 關于S盒的優化

S盒作為許多分組密碼的唯一非線性模塊,決定了整個加密算法的安全性強度[9],所以關于S盒的優化是很必要的。

針對AES算法S盒的短周期現象,在滿足AES仿射變換的前提下,讓GF(28)空間中的所有元只屬于一個迭代循環,并使其遍歷所有值或是盡可能多的值[10],則得到優化方案如下:

1)m(x)=x8+1不變

2)Su,v(ai,j)=u(x)a-1i,j(x)+v(x)modm(x),其中 u(x)=x7+x6+x4+x3+1,v(x)=x6+x4+x3+1

3)將字節看作GF(28)上的元素,映射到自己的乘法逆,0字節映射到自身。

4)將字節做GF(2)上的仿射變換,如圖4所示。

圖4 仿射變換

5)循環迭代周期為256,屬于一個迭代軌跡。當u(x)=1+x1+x2+x7,v(x)=x3+x5+x7也可以對每個元做迭代,對多種選擇的仿射變換系數都可以達到優化的效果。

2.2 列混淆變換的優化

由于GF(28)有限域中的每一個元素都能夠寫成02的不同冪次的和,矩陣乘法轉換為與02的乘法和異或運算,所以GF(28)域上再定義一個運算,記為xtime(),其中xtime(a)=a(x)·xmodm(x)=a(x)*02,假設一列的輸入為a,輸出為b,則可以得到:

2.3 AES與ECC加密算法的混合

2.3.1 ECC加密算法

ECC(Elliptic Curve Crypto-system,橢圓曲線密碼體制)是一種在目前所已知的公鑰密碼體制中具有最高的單比特安全性[11]。并且ECC是基于有限域上橢圓曲線離散對數問題的難解性而提出的一種公鑰密碼體制,這也決定了ECC加密算法比其他的公鑰密碼更難破解[12]。

橢圓曲線密碼體制具有公鑰密碼體制的所有優點,安全性高、不易被攻破、可用于密鑰分配[13]。用戶之間建立公共密鑰無需第一者介入,而且便于密鑰管理,保證了密鑰的安全性和密鑰管理系統的穩健性[14]。用于任意兩個用戶之間的數字簽名,無需事先簽訂協議、它對密鑰的需求量小,簡化了記錄工作,減少了存儲量,便于第三者裁決糾紛。

2.3.2 ECC加密算法的數字簽名

ECC算法的數字簽名也稱為橢圓曲線數字簽名算法 (ECDSA)[15],ECDSA的處理過程主要包括以下4個基本元素:

1)參與數字簽名的所有通信方都使用相同的全局域參數,用于定義橢圓曲線以及曲線上的基點。

2)簽名者首先需要生成一對公鑰和私鑰。簽名者選擇一個隨機數或者偽隨機數作為簽名者的私鑰。使用隨機數和基點,簽名者計算出橢圓曲線上的另一個解點,作為簽名者的公鑰。

3)對于代簽名的消息計算其Hash值。使用私鑰、全局域參數、Hash值來產生簽名。簽名包括兩個整數,r和s。

4)如果要對簽名進行驗證,驗證者使用簽名者的公鑰、全局域參數、整數s作為輸入,并將計算得到的輸出值v與收到的r進行比較。如果v=r,則簽名通過驗證。

2.3.3 AES與ECC混合加密算法的流程

1)關于全局域參數的定義;

s是一個素數;

a,b是Zp上的整數,由y2=x3+ax+b來定義橢圓曲線;

D是滿足等式的點,D=(xd,yd);

k是D點的階,是滿足kD=0這個等式的最小正整數。

2)關于密鑰的產生的定義:

①選一個整數i,使i滿足[1,k-1];

②根據P=iD,得到曲線Ec(a,b)上的解點;

③則得到發送方的公鑰是P,私鑰是i。

3)關于數字簽名的產生和認證,假設發送方對明文M產生了320字節的數字簽名,流程為:

①隨機在[1,k-1]內選擇一個整數j;

②根據C=(x,y)=jD公式得到曲線的解點,再計算r=xmodk的值,其中如果r=0則回到①;

③根據t=j-1mod k公式計算出t的值;

④根據e=H(m)公式計算出e的值,其中H為 Hash函數SHA-1,e為所產生的160位Hash值;

⑤根據s=j-1(e+ir)modk公式計算出s的值,若s=0則回到①;

⑥得到明文M的數字簽名塊(s,r)。

接收方驗證的流程為:

①查看s和r是不是[1,k-1]上的整數;

②通過SHA-1函數以及公式e=H(m),得到e的值

③根據w=s-1mod k公式計算出w的值;

④根據公式u1=ew和u2=rw計算出u1,u2的值;

⑤根據公式X=u1D+u2P計算出解點X(x1,y1);

⑥如果X=0則拒絕簽名,否則根據公式 v= x1mod k計算出v的值;

⑦如果v=r則接收簽名,否則拒絕。

4)混合算法流程如圖5所示

圖5 AES與ECC混合加密算法的流程圖

3 結束語

文中對AES算法進行了分析,由于S盒作為AES加密算法中唯一的非線性元件,其安全性能的好壞直接決定著整個分組密碼性能的好壞。指出其S盒循環迭代輸出周期過短的特性,并且提出一種切實可行的方案,使得迭代周期擴大到256整個空間,從而提高了算法的安全性。并提出AES和ECC加密算法的混合方案,由對稱加密算法和非對稱加密算法相結合互補,更加提高了算法的安全性能。在當今高速發展的信息社會里,混合密碼體制的研究和應用是非常必要的。

[1]馮登國.國內外密碼學研究現狀及發展趨勢[J].通信學報,2013,23(5):18-26.

[2]ChristofPaar,JanPelzl.深入淺出密碼學:常用加密技術原理與應用[M].北京:清華大學出版社,2014.

[3]曹曉麗,王愛強.AES算法研究[J].洛陽師范學院學報,2013,6(2):56-57.

[4]Liu Y,GuD,LiuZ,et al.New Improved Impossible Differential Attack on Reduced-Round AES-128 [C]//ComputerScience and Convergence-CSA 2011&WCC 2011 Proceedings.2015:453-461.

[5]F.Armknecht,Slucks.Linearity of the AES keyschedule[M].Berlin:Springer,2015.

[6]韋寶典.高級加密標準AES中若干問題的研究[D].西安:西安電子科技大學,2013.

[7]許金玲.基于RSA與AES混合加密系統的算法研究[D].秦皇島:燕山大學,2014.

[8]Daemen J,Rijmen V.The design of Rijndael:AES-the advanced encryption standard[M].Springer,2012.

[9]張麗紅,凌朝東.基于AES算法中S盒的分析研究與改進[J].信號處理,2013,38(2):339-344.

[10]王衍波.AES的結構及其S-box分析[J].解放軍理工大學學報,2013,3(3):13-17.

[11]韓明華,韓曉東.基于橢圓曲線加密的系統安全性分析[J].浙江萬里學院學報,2013,8(6):21-24.

[12]白永志.基于橢圓曲線密碼系統的數字簽名研究與應用[D].合肥工業大學,2013.

[13]張雁,林英,郝林.橢圓曲線公鑰密碼體制的研究熱點綜述[J].計算機工程,2014,30(3):127-128.

[14]李殿偉,王正義,趙俊閣.橢圓曲線密碼體制安全性分析[J].計算機技術與發展,2015,22(4):227-230.

[15]AmolDabholkar,KinChoongYow.Eficient implementation of elliptic curvecryptography(ECC)for personal digital assistants(PDAs)[J].Wireless Personal Communications,2014,29(3-4):233-246.

The research of AES algorithm based on the wireless LAN encryption

ZENG Fan-jing1,2,LIU Xiao-dong1,2
(1.Wuhan Research Institute of Posts and Telecommunications,Wuhan 430027,China;2.Wuhan Hongxu Information Technology Co.,LTD.,Wuhan 430070,China)

For wireless LAN AES encryption algorithm to encrypt the plaintext,this paper analyzes the working principle and structure,based on the plaintext to achieve stronger encryption capabilities purposes,presented to the AES S-boxes and a hybrid optimization algorithm for encryption the combination of AES and ECC,conducted by AES key plaintext encryption,digital signature using ECC and AES key encryption scheme,and information encryption,digital signatures and authentication integration,information security safeguards.

AES;optimization;ECC;encryption

TN620.5010

:D

:1674-6236(2017)05-0119-04

2016-03-17稿件編號:201603228

曾繁婧(1992—),女,湖北襄陽人,碩士。研究方向:信號與信息處理。

猜你喜歡
數字簽名加密算法公鑰
淺析計算機安全防護中數字簽名技術的應用
一種基于混沌的公鑰加密方案
基于數字簽名的QR碼水印認證系統
HES:一種更小公鑰的同態加密算法
數字簽名簡述
SM2橢圓曲線公鑰密碼算法綜述
基于小波變換和混沌映射的圖像加密算法
Hill加密算法的改進
基于格的公鑰加密與證書基加密
對稱加密算法RC5的架構設計與電路實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合