摘 要: 隨著計算機應用廣度與深度的增加,信息安全問題越來越受到廣泛關注,為確保網絡傳輸數據的安全性,保障信息安全,網絡數據加密技術獲得較快發展,新型的數據加密標準AES逐漸取代傳統的DES數據加密標準。在認知AES與RSA加密算法及其實現的基礎上,分析兩者優缺點,提出基于AES和RSA的網絡數據加密方案,以實現對網絡傳輸數據的加密保護,保障信息安全,實現其應用價值。
關鍵字: AES; RSA; 網絡數據; 加密方案
中圖分類號: TN918?34 文獻標識碼: A 文章編號: 1004?373X(2015)09?0087?03
Abstract: With the increase of computer application in breadth and depth, the problem of information security is received extensive attention. How to ensure the security of the network transmission data and information security, the network data encryption technology has gained rapid development, the traditional DES data encryption standard is gradually replaced by the new AES data encryption standard. Based on the cognition of AES and RSA encryption algorithm and its realization, the advantages and disadvantages of the two encryption algorithms are analyzed, the network data encryption scheme is proposed based on AES and RSA to implement the encryption protect of network transmission data and ensure the information security, its application value is realized.
Keywords: AES; RSA; network data; encryption scheme
0 引 言
隨著計算機及互聯網的廣泛應用,網絡數據在傳輸過程中的安全性問題受到廣泛關注。為保障其信息傳輸安全,信息安全技術尤其是數據加密技術在研究中獲得高速發展并廣泛應用[1]。將加密密鑰類型作為研究與劃分的標準,則可以將數據加密技術劃分為兩大系統,分別為對稱加密系統(即私鑰加密系統)與非對稱加密系統(即公鑰加密系統)。對稱加密系統在實際操作與應用中,網絡數據傳輸的發送方與接收方對相關信息的加密與解密操作,均通過相同的單一密鑰來實現,具備加密速度快與算法簡單等優勢,屬于主流的密碼體制。DES數據加密標準算法屬于對稱密碼算法中最為典型的應用,然而其加密系統所應用的密鑰長度相對較短,在分布式開發網絡大環境應用中,難以達到網絡數據傳輸的加密安全性要求[2]。隨著數據加密技術的不斷發展,AES因其技術優勢,作為一種高級數據加密標準逐漸獲得認可,成為DES加密標準之后的重要標準。RSA屬于非對稱加密系統中應用最為廣泛的公鑰加密算法。在認知AES與RSA網絡數據加密與其實現方法的基礎上,提出基于AES和RSA的網絡數據加密方案,保障網絡數據傳輸的安全性。
1 高級加密標準AES的加密算法與其實現流程
1.1 AES加密算法Rijndael
AES高級加密標準是以Rijndael算法為基礎發展而來,Rijndael密碼本質上屬于一種特殊的迭代型分組密碼,這種分組密碼在實際操作中,其分組長度與密碼的長度可以依據實際需要進行相應的變化。AES加密算法在數據處理上以字節作為基礎單位,以128位比特信息作分析,其信息可以劃分為16個字節,依據相應的操作順序將其字節復制到4×4的矩陣之中,稱之為state,即狀態。通過狀態矩陣變換實現AES所有變換。AES加密標準下其類型相對應的密鑰長度、分組大小及加密輪數對應關系如表1所示。
數據分組加密的輪數,多是通過Nr進行表示。輪函數在迭代操作中,需要通過四個步驟的變化來實現迭代操作,其實際操作步驟表現為字節代換運算、行變換、列混合與輪密鑰添加變換。通過對輪函數的迭代操作能夠將相對簡單的非線形變化與混合函數之間進行變化操作,讓字節代換運算具備一定非線形擴散[3],在迭代操作中,引入不同密鑰從而提高數據信息的加密性,保障數據信息傳輸的安全。
通過表1可以看出,不同類型的AES加密密鑰長度、分組大小及其秘密輪數存在著一定差異。在進行加密操作時,將分組各字節輸入,其具體的輸入方式依據圖1所提供的方法裝入矩陣state中,如需要將ABCDEFGHIJKLMNOP字節輸入,則其輸入映射到狀態矩陣中則表現為圖1的狀態。
在函數迭代輪密鑰的添加變換操作中,將輪密鑰異或到狀態紙張,通過密鑰表獲得輪密鑰,輪密鑰長度與數據庫的長度Nb相同。
1.2 高級加密標準AES實現流程
高級加密標準AES算法的實現表現為:基于發送方,首先需要創建一個AES私鑰并通過口令將其私鑰進行加密處理,將通過口令加密之后的AES密鑰經過互聯網數據傳輸發送給接收方[5]。發送方對私鑰進行解密,借助私鑰加密明文獲得完整的密文,加密AES密鑰與密文通過網絡傳輸一起發送到接收方。接收方在收到網絡數據后,通過口令對加密密鑰作解密處理,從而獲得AES密鑰,以解密之后取得的密鑰將收到的密文進行解密操作,最終形成明文,AES實現流程具體如圖2所示。
2 RSA的加密算法及其實現流程
2.1 RSA加密算法
RSA算法屬于一種公鑰加密算法,其字母屬于該密碼系統發明者人物名字首字母縮寫,系統發明者分別為Ron Rivest、Adi Shamir與Leonard Adleman。作為一種公鑰加密算法,其在密碼協議應用較為廣泛,如SSL等[6]。
RSA算法實現是建立于大質數因數分解的公鑰體系之上。具體而言,存在兩個較大的質數,其中一個作為公鑰而另外一個則承擔私鑰任務,如采取其中一個作為加密處理,而另外一個則作為解密進行操作。其算法密鑰長度具備可變性,支持40~2 048位變化,加密過程中可以將明文分塊進行操作,明文分塊大小也可以變化,但其大小不允許超出密鑰長度。密鑰長度與加密效果之間成正比關系,即其密鑰越長則其加密效果越好,然而密鑰越長則其加密與解密所需要的開銷越大,處理速度越慢。
將RSA算法簡單描述為:RSA公開密鑰[n=pq,]其中[p]與[q]屬于兩個不相同的很大質數,[p]與[q]應做到保密性。通過將[(p-1)]及[(q-1)]相乘,獲得[?(n),]選擇出整數[e]與[?(n)]互質,其中整數[e]應大于1小于[?(n)。]RSA秘密密鑰[d=e-1mod ?(n)。]加密操作[c=mc(mod n),]解密操作[m=cd(mod n),]其中[c]代表密文,[m]代表明文。
2.2 RSA算法操作實現流程
RSA算法操作實現流程表現為:第一,要求接收網絡數據的一方進行RSA密鑰對創建操作,完整的密鑰對包括公鑰與私鑰兩部分,其中公鑰在網絡數據傳輸的過程中傳輸給發送方,私鑰則需要由接收方進行保存。發送方在接收到公鑰后通過公鑰可以實現對明文的加密處理,加密后形成密文,將密文通過網絡傳輸給接收方,接收方則可以通過所保存的RSA私鑰對所接收的密文進行解密,從而轉變為明文,實現數據的安全傳輸。
3 基于AES和RSA的網絡數據加密方案
RSA算法,屬于現代信息安全技術中的公開密鑰系統的代表性成果,其安全性的實現是建立于大素數因子的合數,因子分解困難法則基礎之上。Rijndael算法屬于新型的具備高水平的高級加密標準,其算法應用對計算機的內容與處理能力要求較低,操作過程中則很容易抵御時間與空間的攻擊,其在不同的運行環境條件下,能夠保持較好的運行效果[7],從而讓AES在運行中成為網絡數據加密處理的首選算法,其本身更兼具安全性、靈活性、高效性與便捷性等優勢。
RSA算法與AES算法相比,AES算法的密鑰長度最大只能達到256比特,能夠通過軟件與硬件完成高速處理,而RSA算法在應用中則需要進行大整數的求模與乘冪等字長處理操作,在處理速度上相對而言低于AES算法,因此,采取AES算法進行網絡數據信息的加密與解密處理,其運行效率優越于RSA算法。從管理密鑰的視角上來看,AES算法在使用中要求在進行數據傳輸之前,執行密鑰分配,確保密鑰分配保密性,將私鑰經過網絡傳輸給接收方。而應用RSA算法,其在網絡數據處理中采取公鑰加密(私鑰加密)與私鑰解密(公鑰解密)的操作方式,其對網絡數據的加密與解密處理不需要通過網絡進行保密密鑰傳輸操作,在密鑰管理層次上,優越于RSA算法[8]。在安全性層次上,RSA算法與AES算法安全性均較好,當前尚未出現能夠有效完全破譯該算法的方法。在簽名與認證層次上,AES算法作為一種對稱密鑰密碼體制,難以實現數字簽名與身份認證等操作,相對而言,RSA算法屬于一種非對稱密碼體制,其在應用中能夠較為容易地實現數字簽名操作與身份認證操作。
研究及應用表明,RSA算法在應用中執行加密與解密的速度較慢,效率偏低,難以承擔大量的數據文件加密[9]。在網絡應用中完全采取公開密碼體制進行機密信息傳輸難以實現且沒有必要。AES算法的加密速度較快,然而其安全管理存在一定問題,在網絡數據傳輸中,加強AES密鑰安全管理屬于AES加密安全處理的關鍵。考慮到兩者之間的優劣勢,嘗試提出一種綜合性質的網絡數據加密方案,既可以發揮AES算法的運算速度與加密強度上的優勢,同時發揮RSA算法管理優勢,規避AES算法在機密信息傳輸中的網絡安全問題,同時避免RSA算法運行速度慢的問題。在網絡數據傳輸環節中,采取AES對稱密碼體制針對傳輸數據信息進行加密處理,同時引入RSA不對稱密碼體制進行AES密鑰傳輸,則可以較好的規避AES算法與RSA算法的不足并發揮其優勢,形成一種基于AES和RSA的網絡數據加密方案,其方案的加解密實現流程示意圖如圖3所示。
基于AES和RSA的網絡數據加密方案實現流程如下:首先,由接收網絡數據信息的一方創建RSA密鑰對,由接收方通過Internet將RSA公鑰傳輸給發送方,同時對RSA私鑰進行保密保存;其次,由發送方進行AES密鑰創建,通過AES密鑰加密需要傳輸的明文數據信息,明文數據信息則需要同時進行RSA公鑰加密與AES密鑰加密處理;最后,發送方將RSA公鑰加密后的AES密鑰與密文一同經過Internet發送給接收一方。當接收方接收到其傳輸的網絡數據信息后,其信息此時為加密的密文,要求接收方首先調用接收方所保留的RSA私鑰并通過私鑰對加密的AES密鑰進行解密處理,解密處理后獲得AES密鑰,通過AES密鑰解密密文獲得明文信息,保障整個網絡數據傳輸的安全性。
4 結 語
隨著計算機技術及互聯網應用的不斷普及,信息安全問題與數據安全保障問題備受關注,為確保數據傳輸的安全性,網絡數據加密技術不斷發展。AES屬于一種高級加密標準,RSA屬于一種非對稱公鑰加密算法,在認知其算法與實現流程的基礎上,綜合分析了兩者在應用中存在的優勢與不足,提出具備互補性的基于AES和RSA的網絡數據加密的新型方案,其加密方案在應用中具備加密速度快、效率高,且密鑰管理簡單等優勢,能夠有效保障網絡數據傳輸的安全性,在網絡傳輸數據加密中應用更具備優勢,其應用前景及現實價值突出。
參考文獻
[1] 陳誼,張麗,孫悅紅,等.一個面向仿真網絡的數據加密系統[J].計算機仿真,2011,28(2):140?143.
[2] 張繼,袁婷婷,林和平,等.AES、RSA混合加密算法研究[C]//2011年亞太青年通信學術會議(APYCC2011)論文集.北京:中國通信學會,2011:217?220.
[3] 魏占禎,楊亞濤,陳志偉,等.RSA乘法同態的數據庫密文檢索實現[J].哈爾濱工程大學學報,2013,34(5):641?645.
[4] 蘇治中.數字加密技術及其在日常中的應用[J].電腦知識與技術,2012,8(15):3668?3669.
[5] 張紅.基于高效的SSH協議的運維審計系統研究與實現[D].長沙:湖南大學,2011.
[6] 舒暢.網絡數據的加密傳輸方式分析[J].消費電子,2014(10):97?98.
[7] 虞旭.計算機網絡數據傳輸加密技術研究[J].科教導刊:電子版,2014(6):129?129.
[8] 鐘治初,郭江鴻,張海峰,等.高效安全的無線傳感器網絡數據聚合方案[J].計算機應用,2013,33(z1):137?140.
[9] 郭江鴻,馬建峰.安全透明的無線傳感器網絡數據匯聚方案[J].通信學報,2012(10):51?59.
[10] 董樂.信息系統數據安全技術的研究與實現[D].廈門:廈門大學,2011.