金 磊
(新疆阿克蘇教育學(xué)院,新疆 阿克蘇 843000)
現(xiàn)代社會(huì)智能手機(jī)的應(yīng)用已無(wú)處不在,隨之而來(lái)的是手機(jī)上多媒體的應(yīng)用越來(lái)越常規(guī)。即便在工信部一再發(fā)文降低流量費(fèi)用的今天,WLAN(無(wú)線局域網(wǎng))在移動(dòng)設(shè)備中的接入依舊占有絕對(duì)位置。無(wú)線網(wǎng)絡(luò)在社會(huì)各個(gè)領(lǐng)域的使用越來(lái)越廣泛,它的安全性問(wèn)題就越發(fā)重要。在WLAN的安全技術(shù)性問(wèn)題中,加密技術(shù)在網(wǎng)絡(luò)傳輸安全中是最基本最有效的一項(xiàng)技術(shù)。
數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是一種對(duì)稱密碼體制,又被稱為美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國(guó)IBM公司研制的對(duì)稱密碼體制加密算法。它的入口參數(shù)有3個(gè),分別是key,data和moda。第一個(gè)key是加密和解密使用的密碼鑰匙,data則是為加密和解密的數(shù)據(jù)庫(kù),而moda是工作模式。當(dāng)模式設(shè)置為加密模式時(shí),一般是按照64位進(jìn)行分組,得到明文組,key就可以用來(lái)給數(shù)據(jù)加密;當(dāng)設(shè)置模式為解密模式的時(shí)候,key則可以直接解除加密模式。在實(shí)際操作中,密碼只用到了64位中的56位,這樣就提高了安全性,但是這種算法的分組比較短、密鑰太短、密碼生命周期短、運(yùn)算速度較慢。DES整個(gè)算法的主流程如圖1所示。
在DES算法的應(yīng)用中,只用到64位密鑰中的其中56位,而還有其他8位并未參與DES運(yùn)算。我們可以了解到,DES的安全性是基于除了那8位外的其余56位的組合變化256位才得以保證的。所以,我們?cè)趯?shí)際運(yùn)用中要做到有效數(shù)據(jù)位,就要使用56位避開8位來(lái)組合,這樣才可以保障該算法的安全可靠。如果做不到這點(diǎn),就不能保障DES加密數(shù)據(jù)的安全,從而要使運(yùn)用DES的系統(tǒng)數(shù)據(jù)承擔(dān)被破解的風(fēng)險(xiǎn)。這也是該算法在運(yùn)用上的最大誤區(qū),留下了被人攻擊和破解的極大漏洞。
AES算法是基于置換和代替的,置換是數(shù)據(jù)的重新排列,而代替是用一個(gè)單元數(shù)據(jù)替換另一個(gè)。AES算法是在2001年11月26日由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology,NIST)發(fā)布在FIPS PUB 197的一種新的加密算法,并且在2002年5月26日成為世界有效的標(biāo)準(zhǔn)。而Rijndael算法用它過(guò)硬的抗攻擊能力和高效的性能成為AES算法的通用標(biāo)準(zhǔn)。
圖1 DES算法的主流程
AES算法就是以排列和置換為基礎(chǔ)的運(yùn)算模式。置換是數(shù)據(jù)單元進(jìn)行替代,排列則是將數(shù)據(jù)重新編排。AES算法可以運(yùn)用幾種不同的方式對(duì)置換和排列進(jìn)行運(yùn)算。AES算法是通過(guò)一個(gè)4×4的字節(jié)組合來(lái)操作的,這個(gè)組合又被稱作狀態(tài)。這個(gè)狀態(tài)最初設(shè)置值和明文區(qū)塊是一樣的。加密時(shí),大致步驟如下:密鑰擴(kuò)展(KeyExpansion)、初始輪(Initial Round)、重復(fù)輪(Rounds),最終輪(Final Round),但是最終輪沒(méi)有MixColumns替代。各輪AES加密循環(huán)(除最后一輪外)均包含4個(gè)步驟:SubBytes(字節(jié)替換)、ShiftRows(行位移變換)、MixColumns(列混合變換)和AddRoundKey(輪密鑰加)。
輪密鑰加實(shí)際是一種Vernam密碼形式,其本身不難被破解。另外3個(gè)階段一起提供了混淆、擴(kuò)散和非線性功能。這3個(gè)階段沒(méi)有涉及密鑰,就它們自身而言,并未提供算法的安全性。然而,該算法經(jīng)歷一個(gè)分組的XOR加密(輪密鑰加),再對(duì)該分組混淆擴(kuò)散(其他3個(gè)階段),再接著又是XOR加密,如此交替進(jìn)行,這種方式非常有效非常安全。
AES的解密算法流程就是把加密流程倒置過(guò)來(lái),順序變?yōu)樽罱K輪、普通輪、初始輪。擴(kuò)展密鑰的使用順序也一樣和加密順序相反。這個(gè)算法就是直接解密算法。和加密算法主要有兩點(diǎn)區(qū)別。一個(gè)就是使用輪密鑰的順序顛倒,再就是可以用4種基本運(yùn)算的逆運(yùn)算取代。
AES算法的安全性有多高?舉個(gè)例子:在10 000億臺(tái)每秒可以嘗試10億個(gè)密鑰的計(jì)算機(jī)上,要超過(guò)20億年才能破解出一個(gè)AES-128密鑰。128位的都如此了,256位的可想而知。其通常會(huì)達(dá)到非常龐大的數(shù)量級(jí)的時(shí)間,攻擊者的破解成本過(guò)于高昂,使得WPA2的破解實(shí)際上不可行,有效保證了安全性。除非密鑰長(zhǎng)度非常短,否則暴力破解不存在可行性。直到今日,AES算法在被選擇的時(shí)候依舊承受了很多的質(zhì)疑和審查。目前發(fā)現(xiàn)的解密攻擊就是針對(duì)在AES中輪數(shù)減少的,而且目前為止,也沒(méi)有發(fā)現(xiàn)除窮舉密鑰搜索外對(duì)AES算法運(yùn)算模式的攻擊。所以至今為止,AES是對(duì)依賴偽隨機(jī)置換的密碼學(xué)來(lái)說(shuō)一個(gè)非常好的方式。
它不僅成本低廉,使用方便,而且高度安全,所以在網(wǎng)絡(luò)保密系統(tǒng)、財(cái)政保密、游戲機(jī)密等很多領(lǐng)域應(yīng)用廣泛。
雖然AES算法于2001年被發(fā)布,在IT技術(shù)日新月異的今天看似古老,但隨著AES加密技術(shù)本身不斷地研發(fā)和進(jìn)步,加密強(qiáng)度最高的對(duì)稱加密算法依舊是AES算法,而且可以預(yù)測(cè),在未來(lái)的很長(zhǎng)一段時(shí)間內(nèi)也只有AES算法。其強(qiáng)大的能力正逐漸成為加密所有形式電子信息的標(biāo)準(zhǔn)。目前來(lái)講,沒(méi)有已知的密碼分析攻擊可以解密AES密文。因此,我們采用AES算法進(jìn)行加密,其安全性是可以得到保障的。同時(shí)考慮到AES算法的實(shí)現(xiàn)程序,在計(jì)算效率、內(nèi)存需求、硬件和軟件的可適用性、簡(jiǎn)易性、靈活性等方面的優(yōu)勢(shì),可向用戶提供很高安全保護(hù)。