999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于多模式加密算法的文件保護方案

2007-01-01 00:00:00楊晉吉李東明
計算機應(yīng)用研究 2007年6期

摘 要:結(jié)合對稱密碼算法中的DES、IDEA、AES和單向散列算法中的MD5、SHA1、SHA-256等算法,提出了一種在同一文件內(nèi)部采用多模式加密的方案,該方案比傳統(tǒng)的單一模式加密的方案能更好地保證數(shù)據(jù)的完整性和安全性。詳細描述了該方案的算法實現(xiàn),通過試驗驗證了其實用性,同時分析了該方案的優(yōu)點和不足。

關(guān)鍵詞:對稱密碼; 散列算法; 文件加密

中圖分類號:TP309.7文獻標志碼:A

文章編號:1001-3695(2007)06-0121-02

信息技術(shù)和網(wǎng)絡(luò)通信的發(fā)展,尤其是Internet的高速發(fā)展,大大加快了全球信息化的進程,同時信息安全方面的問題越來越多,這也引起人們的高度重視。不解決信息安全問題,信息化將不可能健康地發(fā)展。數(shù)據(jù)加密是保證信息安全的基本技術(shù)。它以很小的代價為信息提供了一種有效的安全保護,國內(nèi)外學(xué)者對比進行了有效的研究[1,2]。本文提出了一個基于多模式加密算法的文件保護方案來保證計算機中信息的安全。

為了保護文件的保密性和完整性,防止信息被竄改、偽造和假冒,傳統(tǒng)的方法是對同一個文件采用單一模式的加密方案。本文提出的文件保護方案是對同一文件不同內(nèi)容用不同加密方法的多模式加密:采用128bits(16Bytes)密鑰,使用對稱密碼算法3DES、IDEA、AES中的一種(可選)和類似CBC(密碼分組鏈接)的加密模式對原文件進行加密以保證數(shù)據(jù)的安全;另外使用散列算法MD5、SHA1、SHA-256中的一種(可選)對原文件生成散列值,通過校對散列值檢測文件是否被更改,從而保證文件的完整性。該方案較傳統(tǒng)的方案有更高的安全性。

1 本文涉及的加密和散列函數(shù)算法

本文主要使用了對稱密碼算法3DES、IDEA、AES和類似CBC(密碼分組鏈接)的加密模式,散列算法采用了MD5、SHA1、SHA-256等對原文件生成散列值,通過校對散列值檢測文件是否被更改,下面分別進行簡單介紹。

1.1 加密算法

DES用56bits密鑰將64bits的明文轉(zhuǎn)換成64bits的密文。其中,密鑰總長為64bits,另外8bits是奇偶校驗位,詳見文獻[3]。DES的密鑰存在弱密鑰、半弱密鑰[3]等。實用中較多是它的改進型,即用最小密鑰進行三重加密[4]。IDEA算法基于“相異代數(shù)群上的混合運算”設(shè)計思想[5]。其密鑰長度為128bits,是DES密鑰的兩倍多,分組長度為64bits。一些文獻討論IDEA算法的不足[3,5],但目前尚未有進行有效攻擊的方法。AES 算法[1,7]其設(shè)計策略是寬軌跡策略(Wide Trail Strategy)。其使用128 、192 或256bits長度的密鑰,對于128、192或256bits的加密分組進行加密(密鑰跟加密分組長度無須相等共九種組合)。

1.2 密碼模式

分組加密算法在加密數(shù)據(jù)時可以分為四個模式[3]。ECB是最簡單和最快的分組密碼模式,當然也是最弱的。本文加密文件頭使用該模式。在CBC 模式下,每一個分組加密之前必須與前一個分組的密文進行一次XOR 運算,之后再進行加密。因此,每一個區(qū)塊的加密結(jié)果均會受到之前所有分組內(nèi)容的影響。本文加密文件體系用該模式。

1.3 單向散列算法

本文所用的單向散列函數(shù)是消息摘要算法MD5 和安全散列算法SHA。MD5以512bits分組來處理輸入的消息,且每一分組又被劃分為16個32bits子分組,經(jīng)過一系列的處理后算法的輸出由4個32bits分組組成,將這4個32bits分組級聯(lián)后將生成一個128bits的散列值。 其運算速度非常快[4]。SHA[7]設(shè)計思想和MD5 相似,但是比MD5 具有更長的散列值,因此更能夠抵抗攻擊。SHA1有160bits散列值。具備擴展轉(zhuǎn)換,并且為產(chǎn)生更快的雪崩效應(yīng)而將上一輪的輸出送至下一輪。SHA-256是SHA1的改進:具有更大的數(shù)字指紋、更復(fù)雜的非線性函數(shù)和壓縮函數(shù)、每一步均有唯一的加法常數(shù)等。因此,SHA-256具有更高的安全性。

2 強加密算法文件保護方案的實現(xiàn)

下面介紹該文件保護方案的具體實現(xiàn)思想。主要包括文件的加密和解密兩個過程。

2.1 文件的加密過程(如圖1,IV為初始向量)

用戶選擇好要保護的文件、加密受保護文件頭部信息的密碼算法、加密原文件的密碼算法、散列算法、加密密鑰。圖1 受保護文件的制作過程

使用用戶選擇的散列算法求出原文件的散列值,然后連同原文件的長度、加密原文件的密碼算法、散列算法,這四部分作為受保護文件的頭部信息加密后寫入受保護文件。頭部信息的內(nèi)容如下:前16Bytes包含了原文件的長度、加密原文件的密碼算法、散列算法,接下來的16或32Bytes則是原文件的散列值。其中MD5(128bits)為16Bytes,SHA-256(256bits)為32Bytes,而SHA1(160bits)為16Bytes,剩余的32bits放到前16Bytes空閑的第13-16Bytes中。

使用用戶選擇的加密受保護文件頭部信息的密碼算法對頭部信息以ECB(電子密碼本)模式進行加密。在這里需要注意的是無論選擇3DES、IDEA,還是AES,其密鑰長度均為128bits。IDEA的密鑰長度為128bits,可直接使用;AES的密鑰長度和分組長度都是可選的,在本方案中它使用128bits的密鑰和分組;對于3DES,它使用了文獻[3]介紹的方法,先用128bits的密鑰產(chǎn)生三個64bits的密鑰,再使用DES算法加密。在本方案里,T1、T2、T3 如下所示:

接下來,本文使用用戶選擇的加密原文件的密碼算法對原文件進行加密。在加密時用到了一個基于CBC模式,它可以下面的公式表示:Ci=E(PiIV);IV=IVCi;在這個加密模式中,第i個密文分組是由第i個明文分組與初始向量IV異或后再使用具體的密碼算法加密得到的,然后IV與第i個密文異或得到新的IV以備對第i+1個明文分組加密時使用。最初的初始向量IV是由受保護文件頭部的密碼算法產(chǎn)生的子密鑰的異或和,不同的密鑰產(chǎn)生不同的IV,不同的密碼算法產(chǎn)生不同的IV。在本方案中,各個密碼算法先產(chǎn)生128bits的IV,在加密原文件時再靈活使用(在加密原文件時,若用戶選擇了AES算法則128bits的IV可直接使用;若選擇了3DES或IDEA,則要將128bits的IV分為前后兩個64bits,再將它們異或得到一個64bits的IV來使用)。

各個密碼算法產(chǎn)生128bits初始向量IV的方法:AES產(chǎn)生44個子密鑰,長度為32bits。將其按順序分成四組異或得到128bits的初始向量IV,如圖2所示。DES先將128bits的密鑰分成兩個64bits的密鑰,生成64個子密鑰(DES產(chǎn)生16個子密鑰,長度為48bits,在本方案中一個48bits的子密鑰被分成兩個24bits的子密鑰),接著將64個子密鑰平均分成四組異或得到128bits的初始向量IV(圖略)。IDEA產(chǎn)生52個子密鑰,長度為16bits。在本方案中,使用前48個子密鑰將其合并成24個32bits的分組,然后按順序分成四組異或得到128bits的初始向量IV(圖略)。

圖2 AES的128bits初始向量IV的生成

最后要說明的是,由于DES、IDEA的分組長度為64bits,AES為128bits,若將原文件制作為受保護文件后,受保護文件的長度是64bits的倍數(shù)而不是128bits的倍數(shù),那么密碼分析者即可確定加密原文件的密碼算法不是DES就是IDEA,這樣會降低破譯的難度。在加密完原文件后,將檢測受保護文件的長度是否為128bits的倍數(shù),若不是128bits的倍數(shù)則再加上一些隨機數(shù)據(jù)使其為128bits的倍數(shù)(是128bits的倍數(shù)必然是64bits的倍數(shù),那么密碼分析者將不能從文件長度中確定密碼算法了)。

2.2 文件的解密過程

(1)軟件根據(jù)用戶提供的解密密鑰、受保護文件的頭部信息密碼算法解密受保護文件的前16Bytes,獲取原文件的長度、加密算法、散列算法信息;

(2)根據(jù)散列算法產(chǎn)生的散列值的長度讀取受保護文件中相應(yīng)的字節(jié),將其解密得到原文件的散列值H1;

(3)根據(jù)解密受保護文件的前16Bytes時得到的原文件加密算法信息和原文件的長度,解密受保護文件剩余部分,將解密得到數(shù)據(jù)寫入文件;

(4)對上一步得到文件用解密受保護文件的前16Bytes時得到的散列算法信息求出該文件的散列值H2;

(5)比較H1與H2,若兩者相等則表示文件未被修改;若不等則表示文件已修改。

3 試驗結(jié)果和該方案的特點

對該方案的實用性進行如下試驗:分別對一個txt文件(49.7KB),一個MP3文件(4.95MB),一個exe文件(11.2MB)進行加密和解密試驗,使用的散列算法: SHA256,文件頭部用3DES加密,文件體分別用3DES、IDEA、AES進行加密,從試驗結(jié)果可看出該方案的執(zhí)行時間并沒有大幅度的提高,但安全性有很大提高,數(shù)據(jù)如表1、2(CPU1.1GHz,256MB內(nèi)存)。

其中,IV是受保護文件頭部的密碼算法產(chǎn)生的子密鑰的異

或和。這種加密模式保留了CBC的優(yōu)點——增加了安全性,而且一旦密文遭到修改其錯誤將會擴散到修改點以后的全部密文,這樣可以更加容易地檢測到改動。這些方法較好保證了數(shù)據(jù)的完整性。在一定程度上將三種密碼算法混合起來,增加了破譯的難度。密文遭修改后,在解密時該錯誤會被擴大,可更加容易發(fā)現(xiàn)密文被改動。

該方案目前也存在著一些不足:密鑰過長(128bits),解密時需提供受保護文件頭部信息的密碼算法。加密保護文件頭部信息時只用了電子密碼本模式(ECB),降低了安全性。密文被修改后無法正確解密恢復(fù)原文,容錯性不理想。

4 結(jié)束語

該方案用多種模式加密算法對同一文件進行加密。它是對已有的加密方案的有效改進和整合。雖然該方案還有一些不足之處,但較傳統(tǒng)單一模式的加密方案其能更好保證文件的安全性和完整性。

本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

主站蜘蛛池模板: 亚洲综合片| 四虎亚洲精品| 成人国产精品网站在线看| 粗大猛烈进出高潮视频无码| 久久精品91麻豆| 亚洲国产无码有码| 91精品日韩人妻无码久久| 91九色国产porny| 一区二区三区四区在线| 高清无码手机在线观看| 国产一区二区三区免费观看| av在线手机播放| 91精品人妻一区二区| 亚洲精品第一页不卡| 91在线高清视频| 亚洲永久免费网站| 亚洲一区毛片| 91精品免费久久久| 欧美激情第一欧美在线| 91小视频在线观看免费版高清| 欧美国产综合色视频| 九九精品在线观看| 国产精品综合色区在线观看| 伊人无码视屏| 最新国语自产精品视频在| 一级高清毛片免费a级高清毛片| 国产aaaaa一级毛片| 久久亚洲AⅤ无码精品午夜麻豆| 久青草网站| 乱色熟女综合一区二区| 国产第一福利影院| 婷婷成人综合| 波多野结衣无码中文字幕在线观看一区二区 | 午夜a视频| 午夜国产精品视频黄| 美女无遮挡免费视频网站| a毛片在线| 日韩资源站| 日本一区二区三区精品AⅤ| 麻豆精品在线| 亚洲精品在线91| 日本成人一区| 日韩欧美中文字幕在线精品| 国产av一码二码三码无码| 国产福利不卡视频| 1769国产精品视频免费观看| 国产尹人香蕉综合在线电影| 久久亚洲美女精品国产精品| 久久亚洲国产一区二区| 成人噜噜噜视频在线观看| 高清视频一区| 性视频一区| 91在线播放国产| 国产精品99r8在线观看| 456亚洲人成高清在线| 亚洲另类色| 欧美精品三级在线| 99国产精品国产高清一区二区| 亚洲国产成人精品无码区性色| 国产在线精品人成导航| 一区二区三区精品视频在线观看| 在线观看亚洲成人| 国产成人综合日韩精品无码不卡| 欧美黑人欧美精品刺激| 米奇精品一区二区三区| 中文字幕亚洲精品2页| 国产精品一线天| 国产成人三级| 99久视频| 亚洲综合经典在线一区二区| 91亚洲免费| 一级毛片免费的| 欧美精品一区二区三区中文字幕| 亚洲av色吊丝无码| 久久久久久午夜精品| 日韩欧美中文字幕在线韩免费| 国产成人盗摄精品| 五月激激激综合网色播免费| 国产黄色爱视频| 午夜视频www| 丰满人妻被猛烈进入无码| 福利在线不卡|