?

AES 加解密算法及其安全性分析

2022-03-02 09:24王亞濤
網絡安全技術與應用 2022年9期
關鍵詞:字節解密密鑰

◆王亞濤

(福建省漳州臺商投資區 福建 363107)

加密算法是能夠有效保障網絡安全的一種技術,計算機網絡的出現和發展,為各個行業和領域提供一種新的發展途徑。將加密算法應用到計算機網絡的運行當中,能夠有效保障各種信息的傳輸安全。AES 算法是能夠保障網絡安全的一種技術,在當前社會對于網絡安全的重視程度不斷提高的背景下,對網絡加解密算法AES 進行分析,能夠為保障計算機網絡的運行安全提供借鑒的經驗。

1 AES 算法

網絡信息技術的發展,改變了許多行業和領域的發展方式,各個行業對于計算機網絡的依賴性也在逐漸增強。從當前我國計算機網絡的運行和發展狀況來看,許多網絡應用系統還處于不設防的狀態。在這種情況下,信息泄漏的風險也比較高。為了能夠保障網絡的安全運行,需要對其采取網絡安全技術。而由于網絡安全技術的應用是保障網絡的運行安全,因而安全技術只能夠依靠我國自主進行研發。在計算機網絡運行數據和信息數量逐漸增多、規模逐漸擴展的背景下,原有的DES 算法已經很難滿足維護網絡信息安全的需要[1]。AES 算法是在DES 算法基礎上出現并發展起來的,是一種高級加密的標準算法。該算法能夠應用128、192 以及256 位的密鑰,并通過128 位、16 字節來進行分組加密和解密數據。在這種算法的應用過程中,對稱密鑰的密碼需要應用相同的密鑰加密以及解密數據才能夠實現信息之間的傳遞。再加上該算法本身在加密過程中體現出來的復雜性特點,能夠有效保障網絡信息的安全,因而在當前越來越重視網絡信息安全的背景下,AES 算法具有廣闊的發展前景[2]。

具體來說,AES 算法在實際應用中主要會涉及到有限域、狀態矩陣和密鑰矩陣、擴展密鑰等概念。在實際應用AES 算法的過程中,在有限域的條件范圍之內,將需要被加密的數據以及密鑰數據劃分成維數為4×4、4×6 或4×8 的矩陣,被加密數據組成的矩陣是狀態矩陣,而由密鑰數據組成的矩陣則是密鑰矩陣[3]。在形成矩陣之后,應用不同的密鑰對數據進行多輪次的加密,這些用于加密的所有密鑰集合被稱為擴展密鑰。

2 網絡加解密算法AES 的具體分析

與以往應用的DES 算法相比,AES 算法更能夠符合當前社會的發展需求。AES 算法能夠通過復雜的加密過程,保障計算機網絡的安全運行。通過前面的分析可以發現,AES 算法所具有的應用優勢,使得其在未來的社會中有著廣闊的發展前景。在對網絡加解密算法AES 進行分析時,主要可以從以下幾個方面來入手:

2.1 加密過程

AES 算法之所以能夠被應用到當前的計算機網絡運行當中,最主要的原因就是這種算法本身具有良好的適應性,且無需占據較大的儲存空間,密鑰的靈活性也比較強,能夠滿足對于數據信息加密和傳輸的多種要求[4]。而AES 算法之所以能夠體現出這些優勢,最主要的原因就是AES 算法應用的分組解密算法。

分組解密算法具體包括加密和解密兩個基本的部分,在應用該算法的過程中,能夠通過圈變換的函數來實現對于信息的密碼設置。圈變換的函數主要會受到非線性層、擴散層以及密鑰調度等元素的影響,在應用中需要借助非線性替代以及線性混合函數來滿足分組解密的要求[5]。從本質上來說,分組加密算法就是利用多種簡單的函數變化,借助密鑰調度來引入密鑰,從而更好地滿足對于算法加密效果的要求。在應用AES 算法進行加密時,首先需要明確AES 算法的主要結構組成。AES 算法是建立在替代/置換網絡結構基礎上的,由初始圈密鑰、Nr-1 圈變換以及結尾圈變換三個主要的部分組成。

舉例來說,在128 位密鑰的加密過程中,在保證整個加密的過程都在明文分組狀態的前提下,首先需要輸入處于明文狀態下的字節元素。通過前面的分析可以得知,狀態矩陣以及密鑰矩陣都是由以行數的固定值為4 的多維數矩陣呈現出來的,因而在整個加密過程中,明文分組的狀態也可以應用矩陣陣列圖來表示。用Nk 來表示密鑰數據矩陣的列數,用Nb 來表示被加密數據矩陣的列數。由于數據在應用AES 算法進行加密的過程中,需要進行Nr+1 輪的加密環節,在行數固定的前提下,需要依據Nk 和Nb 的取值不同,依據AES 算法的對照表,列舉出在不同字節元素情況下的矩陣陣列圖。而這一圖中呈現的多種密碼密鑰,就是能夠對明文分組進行加密的主要依據。在得到矩陣陣列圖之后,將明文分組按照矩陣陣列圖中列出的數據順序映射到狀態列陣當中,將密碼密鑰也同樣按照矩陣陣列圖中呈現的順序映射到密碼密鑰陣列當中。而在完成數據信息的加密過程之后,依據相同的順序進行輸出數據的分組,從而得到多輪次加密的數據。

2.2 密鑰擴展

結合當前AES 算法的實際應用情況來看,大部分情況下,AES算法在應用中體現出來的加密密鑰長度都以4Nb(Nr+1)字節為主。在對數據進行加密的過程中,這些加密密鑰都需要依據4Nk 字節密碼密鑰的擴展算法才能夠得到有效的實現。而通過前面的分析可以發現,擴展密鑰就是對數據進行Nr+1 輪次的擴展來滿足數據信息的加密過程的。在密鑰擴展的過程中,如果將密碼密鑰的每一個列稱為一個字,在Nr 個字的加密情況下,往往能夠得到Nb(Nk+1)個字的加密密鑰。結合AES 算法中擴展算法的實際應用情況,擴展算法主要可以被分為Nk≤6 或Nk>6 兩種情況。舉例來說,在Nk≤6 的應用情況下,借助函數SubBytes(w)來進行輸出字節的移位。當加密密鑰的前Nk 個字都是密碼密鑰的情況下,需要對得到的密碼密鑰進行一系列的變換,才能夠更好地滿足密鑰擴展算法的應用需求。在進行密鑰擴展的過程中,為了能夠保證AES 加密算法應用的準確性,需要在進行函數的編程過程中仔細認真對待,減少在編程和應用算法中出錯的概率,保障AES 算法的實際應用效果。

數字循環移位運算是密鑰擴展功能實現的主要途徑。在進行密鑰擴展的過程中,還可以借助Rotword(w)函數來實現對于分組數據中數字循環左移一位的運算。在這個過程中,需要將數組中的左端第一個數字移動到數組的末端,但在應用這種算法進行運算的過程中,由于數組中原有的數字已經合并成一個數字,因而需要對數字進行循環移位運算。這樣不僅能夠對原有的數據和密鑰運算過程進行有效的簡化,還能夠通過運算過程和步驟的簡化來提高算法的運算效率。

2.3 解密過程

在應用AES 算法對密鑰進行解密的過程中,主要是以被轉換的加密算法為基礎的,按照加密過程相反的順序,能夠直接形成AES的解密算法。在這種背景下,AES 算法需要借助輪函數才能夠實現加密和解密的需求,在應用輪函數的基礎上,借助行位移、字節代替、列混合以及加密鑰四個計算部件,能夠有效實現數據的解密過程。

具體來說,仍以128 位密鑰為例,在應用AES 算法進行解密的過程中,首先需要采取行位移的方式,將狀態列陣中的各行進行循環移位,而對于處在不同狀態下的行來說,具體的循環位移量也存在一定的差異。在進行循環位移的過程中,從第一行開始向右移動C1 個字節,第二行向右移動C2 個字節,以此類推完成整個解密過程??紤]被加密數據矩陣列數對其產生的影響,能夠在一定程度上確保位移量選擇的準確性。其次,在完成行位移的操作之后,需要進行字節代替來實現對于加密密鑰的有效轉換。第三,在完成字節代替的操作之后,還需要應用列混合的方式,通過對明文分組狀態下矩陣中的每一列進行運算操作,用以滿足密鑰的解密需求。而在這個過程中,還需要確保列混合變換的可逆性,以此來實現對于加密和解密過程之間的有效轉換。最后,通過加密鑰的逆變換來最終實現對于數據密鑰的解密過程。

2.4 AES 實現過程

(1)加密處理

在明確AES 算法的實際應用原理之后,結合以往應用AES 算法的實際經驗,首先需要從加密處理的角度入手。結合AES 算法應用的實際情況來看,這種算法主要是依據置換和代替原理來對數據進行重新排列和單元數據替換的。Rijndael 是AES 算法應用的最基本的密碼算法,這種算法應用的就是置換的組合架構。在應用AES 算法對數據信息加密處理的過程中,借助分組加密數據的迭代加密形成一個循環結構,并在該結構的運行中完成多次重復置換和替換輸入數據的操作。

具體來說,AES 加密處理的實現過程,具體包括SubBytes、ShiftRows、MixColumns、AddRoundKey 四個步驟。SubBytes 主要是指借助非線性的替換函數,以查找表為依據將其替換成相對應的字節;ShiftRows 主要是指對矩陣陣列圖中的每個橫向進行循環移位的過程;MixColumns 主要是指采用線性轉換的方式來將矩陣中每行內的四個字節進行混合的過程,以便能夠為數據的加密提供更加便利的條件。在實際應用AES 算法進行加密處理的過程中,有時可以省略這一步驟;AddRoundKey 則主要是指對矩陣中的字節和子密鑰進行XOR 運算。在實際進行加密處理的過程中,MixColumns 和AddRoundKey之間是可以相互取代的關系。

(2)AES 密鑰調度

從AES 密鑰調度的角度來看,AES 算法在實際應用中具體包括密鑰擴展以及輪密鑰選取兩個具體的部分,在將原始的密碼密鑰擴展成一個擴展密鑰之后,經過多輪次的計算,將計算得到的結果呈現在輪密鑰調度表中,然后按照擴展密鑰的Nb 個4 字節的順序,將輪密鑰從擴展密鑰中取出。結合當前AES 算法的實際應用情況來看,10輪循環能夠滿足大部分數據應用加密算法的要求,是當前能夠有效保障網絡運行安全的最為普遍的一種算法。

3 AES 的安全性分析

結合AES 算法的加密過程、密鑰擴展以及解密過程來看,盡管這種算法在實際應用中仍然能夠滿足對于數據信息的加密處理和保障信息傳輸安全的需求,但這種算法仍然存在一定的缺陷和不足。與以往應用的DES 算法相比,盡管AES 的加密算法能夠體現出更加安全的性能,但要想更好的保障AES 算法應用的安全性,還需要對AES算法的破解方法進行仔細的研究和分析。結合AES 算法的應用原理和實踐經驗,在對AES 算法進行破解時,主要可以應用到以下幾種方法:

首先,采用最簡單的暴力破解的方法,無論是針對128 位的密鑰還是256 位的密鑰來說,都無法對應用了AES算法的密碼進行解密。而在密鑰長度越復雜的情況下,應用暴力破解方法實現AES 破解的難度更大,消耗的時間也越來越長。

其次,應用時間選擇攻擊的方法,是最可能對AES 算法進行破解的方法之一。在應用這種方法對AES 密碼進行攻擊時,需要應用不同的密鑰來對加密例程運行所消耗的時間進行精確的測量。在加密例程編碼不完善的情況下,應用這種方法能夠讓執行時間更依賴于密鑰值,進而為推導密鑰的相關信息創造良好的條件。而針對這種破解方法,在應用AES 算法的過程中,一方面需要保證加密例程編碼的完整性,另一方面也可以采取加入虛指令或將域乘匯總為一個查詢表的方式,保證AES 算法的實際應用安全。

第三,采用旁道攻擊的方法,是現階段唯一成功實現AES 破解的方法。在應用這種方法對AES 密碼進行破解的過程中,通過攻擊實際作用于不安全系統上的加密系統,能夠比攻擊密碼本身獲得更加理想的效果。

第四,能量攻擊法是一種針對硬件加密方法的破解方法。從當前計算機網絡的運行和發展狀況來看,由于硬件加密本身具有更高的運行速度以及更強的保密性等特點,因而能夠實現對多種數據信息的有效加密。而能量攻擊法在實際的應用過程中,主要是借助硬件加密法在運行中消耗能量所產生的電流或電壓變化來檢測設備運行狀態的。從能量耗散以及電磁輻射等角度,借助能量消耗來實現對于密鑰的破解,具有成本消耗更低的特點。

第五,基于AES 算法的應用原理,在對該算法進行破解時,還可以從算法本身具有的對稱性入手,以逆序碰撞攻擊的原理來對AES 算法的應用過程進行分析。結合AES 算法的實際應用情況來看,該破解方法的應用效率較高,但由于最終的破解結果存在較大的不確定性,因而破解AES 算法的實際效果并不明顯。

綜上所述,網絡加解密算法AES 的應用,能夠對保障網絡的運行安全起到重要的作用。結合當前計算機網絡行業發展的情況可以看出,維護網絡的運行安全是最為重要的一項工作。從加密過程、密鑰擴展、解密過程以及算法的實現過程等方面來看,將AES 算法應用到計算機網絡的運行當中,能夠對維護計算機網絡的運行安全起到重要的作用,能夠為當前計算機網絡的運行發展創造良好的條件。

猜你喜歡
字節解密密鑰
幻中邂逅之金色密鑰
No.8 字節跳動將推出獨立出口電商APP
炫詞解密
解密“一包三改”
密碼系統中密鑰的狀態與保護*
炫詞解密
No.10 “字節跳動手機”要來了?
基于MSP430的四旋翼飛行器的S-BUS通信協議的設計與實現
TPM 2.0密鑰遷移協議研究
一種對稱密鑰的密鑰管理方法及系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合