国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

文件加密與解密算法的分析與應(yīng)用

2012-04-29 00:44馬云鄭艷國
科技資訊 2012年17期
關(guān)鍵詞:加密算法解密密鑰

馬云 鄭艷國

摘 要:隨著信息社會(huì)的到來,人們在享受信息資源所帶來的巨大的利益的同時(shí),也面臨著信息安全的嚴(yán)峻考驗(yàn)。信息安全已經(jīng)成為世界性的現(xiàn)實(shí)問題,已威脅到國家的政治、經(jīng)濟(jì)、軍事、文化、意識形態(tài)等領(lǐng)域,同時(shí),信息安全問題也是人們能否保護(hù)自己的個(gè)人隱私的關(guān)鍵。信息安全是社會(huì)穩(wěn)定安全的必要前提條件。解決信息安全的方法是加密,所以加密解密就顯得日益重要。本課題重點(diǎn)研究常用文件加密解密算法的基本思想及實(shí)現(xiàn)過程中所用到的方法、技術(shù)。同時(shí)對公鑰密碼體制和私鑰密碼體制進(jìn)行了分析和研究,并對公鑰密碼體制和私鑰密碼體制的代表AES算法和DES算法進(jìn)行了研究和比較,最后結(jié)合常用算法設(shè)計(jì)實(shí)現(xiàn)了簡易加密解密應(yīng)用軟件。

關(guān)鍵詞:解密文件加密密碼體制DESAES

中圖分類號:TP314 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)06(b)-0019-01

1引言

1.1 文件加密與解密算法應(yīng)用的意義

隨著因特網(wǎng)、全球貿(mào)易和其它活動(dòng)的增長,密碼技術(shù)越來越多地用于個(gè)人的標(biāo)識和認(rèn)證等,它是取得信息安全性最有效的一種方法,是信息安全的核心技術(shù)。通過數(shù)據(jù)加密,人們可以有效地保證通信線路上的內(nèi)容不被泄露,而且還可以檢驗(yàn)傳送信息的完整性。

對稱密碼算法主要用于保證數(shù)據(jù)的機(jī)密性,通信雙方在加密解密過程中使用它們共享的單一密鑰。最常用的是數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法,但由于DES的密鑰長度較短,不適合于數(shù)據(jù)加密安全性的要求。通過分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個(gè)循環(huán)結(jié)構(gòu),在該循環(huán)中重復(fù)置換和替換輸入數(shù)據(jù)。

本文在研究分析了AES加密原理的基礎(chǔ)上著重說明了AES算法實(shí)現(xiàn)的具體步驟:擴(kuò)展密鑰的異或運(yùn)算、列變換、行變換、S盒變換等,以及各步驟的輪換順序、密鑰擴(kuò)展程序KeyExpansion、優(yōu)化等。

2加密/解密算法的原理分析[1]

2.1 原理

對于AES算法,輸入分組、輸出分組、狀態(tài)長度均為128比特。Nb=4,該值反應(yīng)了狀態(tài)中32位字的列數(shù)。對于AES算法,密鑰K的長度是128、192或256 bits。密鑰長度表示為Nk=4、6或8,反應(yīng)了密鑰中32位字的個(gè)數(shù)。對于AES算法,算法的輪數(shù)依賴于密鑰長度。將輪數(shù)表示為Nr,當(dāng)Nk=4時(shí)Nr=10;當(dāng)Nk=6時(shí)Nr=12;當(dāng)Nk=8時(shí)Nr=14。對于加密和解密變換,AES算法使用的輪函數(shù)由4個(gè)不同的以字節(jié)為基本單位的變換復(fù)合而成。

(1)字節(jié)替代,利用一個(gè)替代表。(2)將狀態(tài)矩陣的每一行循環(huán)移位不同的位移量。(3)將狀態(tài)矩陣中每一列的數(shù)據(jù)進(jìn)行混合。(4)將輪密鑰加到狀態(tài)上。

2.1.1S盒變換:對輸入矩陣的任一個(gè)元素A做如下變換S[A]

(1)一個(gè)元素A從存儲(chǔ)角度看都是一個(gè)8位的二進(jìn)制數(shù)。算出前4位所代表的十六進(jìn)制數(shù)x和后4位所代表的十六進(jìn)制數(shù)y。(2)從AES算法給定的S-Box中找出S[A]=S[x,y]的值。

2.1.2 行變換:ShiftRows()是一個(gè)置換操作,它將State矩陣中的字節(jié)向左旋轉(zhuǎn)

2.1.3 列變換:列變換是對中間狀態(tài)矩陣State逐列進(jìn)行變換

3算法的具體應(yīng)用與實(shí)現(xiàn)

3.1 加密算法

加密算法是一個(gè)循環(huán)的過程,過程如下:128位數(shù)據(jù)分組→與擴(kuò)展密鑰的異或運(yùn)算→S盒變換→行變換→列變換→與擴(kuò)展密鑰的異或→S盒變換→行變換→與擴(kuò)展密鑰的異或→輸出128位數(shù)據(jù)。

(1)使用SubByte()函數(shù)依據(jù)S置換表對狀態(tài)矩陣State[4][4]中的數(shù)字進(jìn)行置換。(2)使用ShiftRow()數(shù)對狀態(tài)矩陣State[4][4]中的各行數(shù)據(jù)進(jìn)行循環(huán)移位運(yùn)算。加密時(shí),要結(jié)合密鑰擴(kuò)展所得的數(shù)據(jù)對文件進(jìn)行加密。加密過程簡要如以下幾點(diǎn)。

①第0輪加密。本輪加密是將狀態(tài)矩陣State[4][4]中的16字節(jié)數(shù)字與密鑰擴(kuò)展數(shù)組中的w[O]~w[3]這16字節(jié)數(shù)字進(jìn)行異或運(yùn)算。得到16字節(jié)新的數(shù)字,這些數(shù)字存放于狀態(tài)矩陣State[4][4]中取代原來的數(shù)據(jù)。②第l~9輪加密。設(shè)輪數(shù)為k。程序執(zhí)行當(dāng)中首先對狀態(tài)矩陣State[4][4]使用SubByte()函數(shù)將矩陣中的數(shù)字進(jìn)行置換。再次對置換后的狀態(tài)矩陣使用ShiftRow()函數(shù)將矩陣中相應(yīng)行中的數(shù)字進(jìn)行移位。再次對移位后的狀態(tài)矩陣使用MixColunms()函數(shù),利用上述的列混合運(yùn)算公式對狀態(tài)矩陣中的數(shù)字進(jìn)行運(yùn)算,得到一個(gè)新的狀態(tài)矩陣。最后將經(jīng)過列混合運(yùn)算之后的狀態(tài)矩陣與密鑰擴(kuò)展數(shù)組中w[4k]~w[4k+4]的數(shù)字進(jìn)行異或運(yùn)算,將所得結(jié)果存入狀態(tài)矩陣中,至此一輪加密完成。③第10輪加密。第10輪加密不進(jìn)行列混合運(yùn)算,其他部分與第l~9輪加密相同。經(jīng)過第0~10輪加密后所得到的狀態(tài)矩陣State[4][4]便是實(shí)驗(yàn)所需要的密文。

3.2 解密算法

解密算法是加密算法的逆過程,具體解密過程如下:128位數(shù)據(jù)分組→與擴(kuò)展密鑰的異或運(yùn)算→反行變換→反S盒變換→與擴(kuò)展密鑰的異或→反列變換→反行變換→反列變換→與擴(kuò)展密鑰的異或→輸出128位數(shù)據(jù)。得到的解密算法中,各個(gè)變換的操作順序與加密算法不同,但密鑰編排形式相同。

3.5 實(shí)現(xiàn)方面的問題

(1)密鑰長度要求。AES算法的實(shí)現(xiàn)至少需要支持第3節(jié)中描述的3種密鑰長度:128,192或256 bits。實(shí)現(xiàn)可以選擇支持兩種或三種密鑰長度,這將促進(jìn)算法執(zhí)行的互用性。(2)密鑰限制。對于AES算法沒有發(fā)現(xiàn)弱密鑰或半弱密鑰,所以對密鑰選取沒有限制。(3)密鑰長度,分組大小和輪數(shù)的參數(shù)化。該標(biāo)準(zhǔn)明確地定義了密鑰長度(Nk),分組大小(Nb)和輪數(shù)(Nr)允許的取值。然而,該標(biāo)準(zhǔn)的未來版本可能包括對這些參數(shù)允許取值的改變或增加。因此,當(dāng)實(shí)現(xiàn)者設(shè)計(jì)AES的實(shí)現(xiàn)時(shí)可以選擇將未來的變化考慮在內(nèi)。(4)針對不同平臺(tái)的實(shí)現(xiàn)建議。很多情況下,實(shí)現(xiàn)的可變性可能會(huì)提供更好的性能或其它優(yōu)勢。當(dāng)給定相同的輸入密鑰和數(shù)據(jù)時(shí),任意與該標(biāo)準(zhǔn)說明的算法得到相同輸出的實(shí)現(xiàn)都是可以接受的AES實(shí)現(xiàn)。

4結(jié)語

新的AES將無疑成為加密所有形式電子信息的事實(shí)上的標(biāo)準(zhǔn),其在某種意義上是牢不可破的,因?yàn)闆]有已知的密碼分析攻擊可以解密AES密文,除非強(qiáng)行遍歷搜索所有可能的256位密鑰。隨著科學(xué)技術(shù)的高速發(fā)展,文件加密與解密技術(shù)的重要性日益突出,本文中主要將AES加密算法進(jìn)行了研究和應(yīng)用。Rijndael作為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn)匯聚了強(qiáng)安全性、高性能、等優(yōu)點(diǎn)。AES將會(huì)更加廣泛地應(yīng)用于其它行業(yè),不久的將來它也會(huì)被新的加密算法代替。

參考文獻(xiàn)

[1] 陳運(yùn).信息加密原理[M].成都:電子科技大學(xué)出版社,1990.

[2] 加密解密技能百練叢書[M].中國鐵道出版社,書號(71130585).

[3] 張龍祥,等.向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:人民郵電出版社,2001.

猜你喜歡
加密算法解密密鑰
探索企業(yè)創(chuàng)新密鑰
解密“熱脹冷縮”
解密“一包三改”
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
炫詞解密
一種對稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
基于小波變換和混沌映射的圖像加密算法
Hill加密算法的改進(jìn)
解密“大調(diào)解”