謝秀穎 ,王 敏 ,王少林 ,唐 威
1(讓東建筑大學 信息與電氣工程學院,濟南 250101)2(讓東建筑大學 讓東省智能建筑技術重點實驗室,濟南 250101)
改進的AES算法在智慧住區(qū)門戶中的應用與實現①
謝秀穎1,2,王 敏2,王少林1,2,唐 威2
1(讓東建筑大學 信息與電氣工程學院,濟南 250101)2(讓東建筑大學 讓東省智能建筑技術重點實驗室,濟南 250101)
智慧住區(qū)信息門戶系統(tǒng)中包含著大量及涉及居民生命財產安全的敏感數據,為了保證這些數據的保密性,采用優(yōu)化的AES加密算法對這些數據進行加密,在保證數據安全的同時,減少了加密時間,從而減少了通信延時,提高了系統(tǒng)的性能.分析了高級加密標準AES的原理和加解密流程,針對AES算法加解密過程耗時相差較大的問題,在列混合和逆列混合運算時采用有限域GF(2^8)上最簡形式的矩陣,減少了解密過程的運算量,使加解密過程耗時差減少了.在此基礎上對加解密過程進行了合并優(yōu)化,在保證加密速度的同時,減少了算法所占用的存儲空間.在Visual Studio 2010平臺上,使用C語言實現了幾種AES優(yōu)化算法在智能家居中的應用,結果顯示,所提的優(yōu)化算法有較高的執(zhí)行效率,并占較少的存儲空間.
智慧住區(qū); AES 算法; 加解密時差; 最簡矩陣; 合并優(yōu)化
隨著人們物質生活水平的提高,物聯網、云計算、移動互聯網等新一代信息技術的發(fā)展,智慧地球、智慧城市和智慧住區(qū)等概念先后被提出,旨在為人民提供更加安全、舒適、便捷的服務[1].智慧住區(qū)是智慧城市和智慧地球建設的基礎,是集城市管理、公共服務、社會服務、居民自治和互助服務于一體的新技術的應用[2].智慧住區(qū)是新形勢下住區(qū)服務管理創(chuàng)新的一種新模式,為住區(qū)居民提供現代化、智慧化的生活環(huán)境,從而形成基于智能化、信息化社會服務與管理的一種全新的住區(qū)[3].
智慧住區(qū)信息門戶是基于Web的一種應用程序或信息平臺,可以整合區(qū)域人、地、物、情、事、組織和房屋等信息,統(tǒng)籌公共管理、公共服務和商業(yè)服務等資源[4],通過單一的訪問入口,能夠為門戶內部和外部的用戶提供個性化服務,方便用戶在不同時間地點獲得其所需的信息和服務,從而提升住區(qū)治理和管理現代化,促進公共服務和便民利民服務智能化.智慧住區(qū)信息門戶提供智能家居、智慧物業(yè)、智慧醫(yī)療等應用,涉及有關居民的各種敏感私密信息,一旦泄露,將嚴重威脅居民的生命財產安全.如何保證這些信息在信息門戶系統(tǒng)中安全,是智慧住區(qū)信息建設中不能避免的問題.而數據加密就是這樣一種技術,對敏感信息進行加密,實現信息隱藏,為敏感信息提供了從發(fā)送者到接收者之間最安全的傳輸方式,保證了這些敏感信息對接收者以外的人是不可讀的[5].
數據加密又分為對稱加密和不對稱加密,由于對稱加密技術加解密速度快而得到廣泛應用.傳統(tǒng)的對稱加密技術DES密鑰長度較短,其安全性已不能滿足分布式開放網絡對信息安全的要求,于是美國國家標準技術研究所(National institute of standards and technology,簡稱ANSI)在1997年發(fā)起了征集AES(Advanced encryption standard,簡稱 AES)的活動,尋找一種新的對稱加密算法替代當前使用的DES加密算法.AES要求候選加密算法的明文分組長度為128 bits,密鑰長度為 128、192 或者 256 bits[6].經過 3 年多的討論,Rijndae 脫穎而出,NIST 于 2000 年宣布Rijndael將作為新的AES,AES的相關參數如表1所示,Nk的值為密鑰的位數除以32.
表1 AES 參數表
AES(Advanced encryption standerd,高級加密標準)是美國國家標準技術研究所在2001年發(fā)布的一種迭代對稱分組密碼算法,旨在取代DES成為廣泛使用的標準.從此,AES的軟硬件實現受到了前所未有的關注[7].不同于它的前任標準 DES,Rijndael使用的是代換-置換網絡,而非 Feistel架構,具有高安全性.在軟件實現中,算法的執(zhí)行速度和占用內存的大小是是衡量AES軟件實現方式優(yōu)劣的重要因素.因此,很多人提出了對AES不同方面的優(yōu)化.如Santa Clara大學的Edward Schaefer教授和他的學生開發(fā)出來的S-AES[8],該算法使用明文、密鑰和密文均為16 bits,加密輪數為2,簡化了AES算法.文獻[9]針對AES算法的解密過程比加解密過程耗時長的問題,分析了加解密過程耗時不對等的原因,對列混合矩陣進行了改進,減少了解密運算的時間.文獻[10]對AES算法在matlab中進行了編程實現,采用2張256 Bytes的表格分別存儲S盒和逆S盒的數據,雖然該方法占用的內存小,但是實現過程復雜,加密速度慢.文獻[11]提出采用事先計算好的8張256個4 Bytes表,通過簡單的查表操作和異或運算實現輪變換過程,提高了加解密的速度.但是這種方法需要8 KB的內存空間,在一些資源受限的情況下,這種方法并不實用.文獻[12]又提出了使用8張256 Byets的表,利用表格復用技術實現 AES 算法,使用的存儲空間減少了 6 KB,當分組為 128 bits 時,執(zhí)行效率相差不大.文獻[13]對加解密過程進行了合并優(yōu)化,并在文獻[12]的基礎上做了輕量化,采用6張256 Bytes的表(加密過程 2 張,解密過程使用 4 張),在保證算法執(zhí)行速度的同時,一定程度上減少了所需內存,但是其解密運算的操做量比加密運算的操作量大了很多,算法的性能仍有待提高,不適用于某些要求較高的場合.本文將在文獻[13]的基礎上,采用文獻[9]所提出的矩陣對AES-128進行優(yōu)化,對于矩陣變換過程,采用有限域上的最簡矩陣代替原始矩陣,減少了解密過程的運算量,解決了加密耗時不對稱的問題,提高了算法的運行速度,然后對算法進行輕量化,減少了算法實現所占的內存,提高了算法的性能,使之適用于某些要求較高的場合.最后以智能家居中數據的加密為例進行說明,采用優(yōu)化的加密算法對數據加密,與文獻[13]所采用的方法相比,算法所占的內存減少了37.5%,加密速度快了14.5%,解密速度快了11.3%.
AES是標準的分組加密算法,應用范圍廣泛.算法主要由密鑰擴展、數據加密和數據解密三大塊構成.算法的加密過程由字節(jié)替代、行移位、列混淆和輪密鑰加四種變換構成,解密過程由相應的逆變換構成.這些所有的操作都是在一個4×4的二維字節(jié)矩陣上以字節(jié)位最小單位進行的,這個矩陣又稱為狀態(tài)矩陣(State),矩陣中的每一個元素是一個1字節(jié)的十六進制數.
密鑰擴展過程如圖1(a)所示,將輸入的一個128 bits的密鑰擴展成44個字組成的擴展密鑰數組w[i](一維線型數組),為加解密過程提供輪密鑰.輸入密鑰直接構成了擴展密鑰數組的前16個字節(jié),然后每次使用4個新的字填充余下部分,每一個新增的字由它前面一個字和前面第四個字進行異或操作得到,當w數組中的元素的下表為四的倍數時,它由前面一字節(jié)經過g變換然后和前面第四個字進行異或操作得到.g變換的過程如圖1(b)所示,包括一下三種變換:
(1)循環(huán)移位:將輸入的 4 個字節(jié)(一個字)向右循環(huán)移動移位.
(2)字節(jié)替代:對對步驟(1)處理過的每個字節(jié)進行S盒字節(jié)替代.
(3)將步驟(2)的結果與常量 RC[j]相異或,RC={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36},下標 j對應相應的加密輪數.
圖1 密鑰擴展示意圖
加解密過程如圖2所示,由字節(jié)代替、行移位、列混淆和輪密鑰加四種基本變換構成; 對于加密過程,算法由輪密鑰加變換開始,經過10輪迭代運算,生成生成相應的密文,前9輪運算由四種基本變換構成,最后一輪僅進行字節(jié)替代、行移位和輪密鑰行移位和輪密鑰加三種操作.解密過程和加密過程相似,只是將加密過程中的操作用相應的逆運算代替.
圖2 AES 加密流程圖
(1)字節(jié)代替:分正向字節(jié)替代(SB)和逆向字節(jié)替代(ISB)是一個簡單的查表操作,加密時用S盒,解密時使用逆S盒,用表示正向字節(jié)替代變換,用表示逆向字節(jié)代替,S盒和逆S盒的生成見文獻[11].
(2)行移位:分正向行移位和逆向行移位,兩種移位中狀態(tài)矩陣的第一行均保持不變,對于正向行移位,第二行向左循環(huán)移動一位,第三行向左循環(huán)移動兩位,第四行向左循環(huán)移動三位,對于逆向行移位每一行移動的方向與正向行移位相反,移動位數一樣.對于加密過程正向行移位(SR)用式(1)表示,解密過程逆向行移位(ISR)用式(2)表示,列下表需要模4.
(3)列混淆:分正向列混淆和逆列混淆,均是對狀態(tài)矩陣的各列單獨操作.正向列混淆用式(3)表示,逆向列混淆用式(4)表示,兩種變換中使用的矩陣是互逆的.
(4)輪密鑰加變換:不管是正向輪密鑰加(ADK)變換還是逆向輪密鑰加(IADK)變換,都是將狀態(tài)矩陣和相應的輪密鑰進行異或,其原理是一個數與其本身異或為0.
智慧住區(qū)應用服務涉及到居民生活的方方面面,比如醫(yī)療、安防和智能家居等,信息的泄露將給人們的生活造成極大的困擾.特別是在智能家居的應用中,智能家居系統(tǒng)包括醫(yī)療保健系統(tǒng)、家庭安防系統(tǒng)和家電控制系統(tǒng)等,這些都是事關居民生命財產安全的系統(tǒng),對門戶系統(tǒng)的通信安全和通信延時有非常高的要求.下文將對AES加密算法進行優(yōu)化,減少算法加解密的階執(zhí)行時間,同時減少算法所占用的存儲空間,保證算法在條件惡劣的情況下也能執(zhí)行.
由第二部分的算法分析可以看出,正向列混淆變換比逆向列混淆變換所使用的矩陣簡單得多,在做正向列混合變換時需進行2次Xtime乘法運算和4次Xor加法運算,而進行逆向列混合運算時需進行12次Xtime乘法運算和9次Xor加法運算[14],這將導致AES算法加密運算與解密運算耗時不對等的問題[9],文獻[9]找出了具有最簡形式的列混淆運算和逆列混淆運算,對應的矩陣如下:
可以算出,矩陣B在有限域GF(2^8)上的逆矩陣就是它本身,這樣在進行列混合運算時,加解密運算的簡單程度是一樣的,都將只需進行2次Xtime乘法運算和4次Xor加法運算.
在加密過程中,對每一輪運算的過程進行和并,前9輪運算過程的合并如式5所示,這樣可以省去AES算法軟件實現很多的中間環(huán)節(jié),使每一輪的每個輸出字節(jié)可以一步得到,由于最后一輪加密沒有列混淆,在合并中我們直接去掉前面的列混淆矩陣即可.
在解密過程中,對每一輪中逆向行移位、逆向字節(jié)替代和輪密鑰加三步操作進行和并,如式(6)所示,在前9輪解密中,再將所得的結果做逆列混淆運算,在最后1輪解密中則無需再做逆列混淆運算.
由式(5)可得:
經過上面的優(yōu)化,在加解密過程中共需要5張256字節(jié)的表(還有一張存儲逆S盒的表),將算法中原來需要在有限域中做乘法運算的列混淆操作變成了簡單的查表操作,大大節(jié)省的算法的執(zhí)行時間.
選擇 Intel i3 3.30 GHz,2.00 GB RAM PC 機,對采集到的智能家居中的部分數據進行測試,以Windows 7 系統(tǒng)為平臺,使用 Visual Studio 2010 實現幾種AES加密算法,測試結果如表2所示.方法一代表文獻[10]中才用兩張256字節(jié)的表實現AES加密的方法,方法二表示文獻[11]中用8張1kb的表實現AES的方法,方法三表示文獻[12]用八張256字節(jié)的表實現AES的方法,方法四是本文所采用的方法.
與其它方法相比,通過優(yōu)化之后本文所采用的加密方法性能有很大的提高,相對于方法三,所占的內存減少了37.5%,加密速度快了14.5%,解密速度快了11.3%.本文在AES算法的實現時不但對輪變換過程行了合并,減少了輪函數中的一些中間轉換步驟,同時將列混淆變換的乘法運算轉換成簡單的查表運算,提高了加解密的效率; 而且對列混淆矩陣做了變化,采用有限域GF(2^8)上最簡形式的矩陣作為列混淆矩陣,在簡化了逆列混淆矩陣的同時,簡化了逆列混淆運算,列混合和逆列混合運算耗時相差較大的問題.
表2 實驗結果
在在智慧住區(qū)信息門戶系統(tǒng)中,網絡安全是一個很重要的問題,使用高級加密算法加密智慧住區(qū)信息門戶中的敏感信息,大大提高了門戶系統(tǒng)通信的安全性.由于在門戶系統(tǒng)中部分信息需要快速安全的傳輸,本文對AES加密算法進行了改進,采用有限域GF(2^8)上最簡形式的列混合矩陣,減少了逆混淆運算的運算量,在此基礎上對AES加解密過程進行了合并,提高了算法的執(zhí)行速度,從而減少了通信時傳輸時數據的處理時間,減少了延時,并進行了算法進行了輕量化,減少了算法所占用的內存空間,保證了算法在內存環(huán)境惡劣的情況下也能應用.
1李宇翔,費世英,李端明.智慧社區(qū)系統(tǒng)架構研究.圖書情報工作網刊,2012,(12):39–44.
2張彭,王軼斌,沈玉梅,等.基于城鄉(xiāng)統(tǒng)籌綜合信息服務平臺構建智慧社區(qū)的研究.中國管理信息化,2012,15(6):83–84.
3中國城市科學研究會數字城市工程研究中心.管理創(chuàng)新:構建智慧社區(qū)平臺.建設科技,2014,(17):36–40.
4住房城鄉(xiāng)建設部印發(fā)《智慧社區(qū)建設指南(試行)》.城市規(guī)劃通訊,2014,(10):6.
5Pendli V,Pathuri M,Yandrathi S,et al.Improvising performance of advanced encryption standard algorithm.Proc.of the 2016 Second International Conference on Mobile and Secure Services (MobiSecServ).Gainesville,FL,USA.2016.1–5.
6Daemen J,Rijmen V.The block cipher rijndael.Lecture Notes in Computer Science.Berlin,Heidelberg.2000,1820:277–284.
7Rachh RR,Mohan PVA,Anami BS.Efficient implementations for AES encryption and decryption.Circuits,Systems,and Signal Processing,2012,31(5):1765–1785.[doi:10.1007/s00034-012-9395-0]
8Musa MA,Schaefer EF,Wedig S.A simplified aes algorithm and its linear and differential cryptanalyses.Cryptologia,2003,27(2):148–177.[doi:10.1080/0161-110391891838]
9肖振久,胡馳,姜正濤,等.AES 與 RSA 算法優(yōu)化及其混合加密體制.計算機應用研究,2014,31(4):1189–1194,1198.
10Buchholz J J.Matlab implementation of the advanced encryption standard.buchholz.hs-bremen.de/aes/aes.htm,2001.
11威廉?斯托林斯.密碼編碼學與網絡安全:原理與實踐.6 版.北京:電子工業(yè)出版社,2015:96–130.
12崔國華,唐國富,洪帆.AES 算法的實現研究.計算機應用研究,2004,21(8):99–101.
13趙躍華,馬林林.AES算法的輕量化實現研究.計算機工程與應用,2015,51(6):79–83.
14劉文浩,許春香.無雙線性配對的無證書簽密方案.軟件學報,2011,22(8):1918–1926.
Application and Implementation of Improved AES Algorithm in Smart Residential Areas Web Portal
XIE Xiu-Ying1,2,WANG Min2,WANG Shao-Lin1,2,TANG Wei2
1(School of Information and Electrical Engineering,Shandong Jianzhu University,Jinan 250101,China)2(Shandong Provincial Key Laboratory of Intelligent Buildings Technology,Shandong Jianzhu University,Jinan 250101,China)
Smart residential areas information portal system contains a large number of sensitive data related to the residential life and property security.In order to ensure the confidentiality of the data,optimized AES encryption algorithm is used to encrypt the data to reduce the encryption time,thereby reducing the communication time delay,which improves the performance of the system a lot.The principle,as well as the flow of encryption and decryption of AES algorithm,is analyzed in the following sections.In order to overcome the problem that the time used in decryption is longer than in encryption,a simplest matrix in the Galois field GF(2^8)is going to be adopted in MixColumn and inverse MixColumn operation to reduce the computation and time consumption in decryption.And then based on this,the steps in encryption and decryption process is merged and optimized in some degree,reducing the storage space,at the same time it can keep the execution efficiency.In the Visual Studio 2010 platform,several optimized AES algorithms are implemented in intelligentHome by adopting C language.It shows that the proposed optimized algorithm has higher efficiency and occupies less storage space.
smart residential areas; advanced encryption standerd(AES); time difference; simplest matrix; merge and optimization
謝秀穎,王敏,王少林,唐威.改進的AES算法在智慧住區(qū)門戶中的應用與實現.計算機系統(tǒng)應用,2017,26(10):290–295.http://www.c-sa.org.cn/1003-3254/5888.html
讓東省墻材革新與建筑節(jié)能科研開發(fā)項目(QG021); 2016年度讓東省省級建筑節(jié)能與綠色建筑示范項目(第二批)(魯建節(jié)科函[2016]22號)
2016-12-06; 采用時間:2016-12-26