摘 要: 介紹了調(diào)用.NET框架中TripleDESCryptoServiceProvider類、設(shè)計(jì)TripleDES算法的加密器、實(shí)現(xiàn)計(jì)算機(jī)文件數(shù)據(jù)加密與解密的方法。使用這種加密器對文件進(jìn)行加密、解密,既方便又快捷,達(dá)到了預(yù)期的效果。
關(guān)鍵詞: 對稱密鑰; TripleDESCryptoServiceProvider類; CryptoStream類; 加密
中圖分類號:TP309.7 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2013)10-26-03
0 引言
文件在存儲或通過網(wǎng)絡(luò)傳輸時,為了增加其安全性,可以通過計(jì)算機(jī)加密手段來對其進(jìn)行保護(hù)。
加密和解密的方法分為兩大類:對稱密鑰(Sysmetric key)和公開密鑰(Public key)。對稱加密算法加密文件速度快,特別適合對大型數(shù)據(jù)流執(zhí)行加密轉(zhuǎn)換后在網(wǎng)絡(luò)中傳輸。TripleDES算法是基于對稱密鑰進(jìn)行加密的,即在加密和解密數(shù)據(jù)時使用相同的密鑰與初始化向量(IV)對數(shù)據(jù)執(zhí)行轉(zhuǎn)換。初始化向量(IV)的功能是用來參與密鑰(Key)加密數(shù)據(jù)的第一個塊,再將上一數(shù)據(jù)塊參與加密下一數(shù)據(jù)塊。保證了即使是在明文流中有重復(fù)的數(shù)據(jù)塊,在密文流內(nèi)也不會有重復(fù)的塊,使未經(jīng)授權(quán)的第三方無法對密鑰進(jìn)行反向工程。TripleDES是在DES的基礎(chǔ)上的改進(jìn)設(shè)計(jì),對每個數(shù)據(jù)塊運(yùn)行DES算法三次,從而加強(qiáng)了密文加密強(qiáng)度。
1 設(shè)計(jì)TripleDES算法加密/解密器基本思路簡介
設(shè)計(jì)TripleDES算法加密器程序的思路是:首先利用.NET框架提供的FileStream類為需要加密或解密的文件建立一個流,以字節(jié)流的方式提供對這些文件的訪問,再通過.NET框架提供的CryptoStream類建立加密或解密傳輸流,最后采用.NET框架提供的封裝了TripleDES算法加密標(biāo)準(zhǔn)的TripleDESCryptoServiceProvider類進(jìn)行加密或解密文件。以下對程序中要用到的三個主要類參數(shù)作出說明。
3 結(jié)束語
本文介紹了在.NET框架中調(diào)用TripleDESCryptoServiceProvider類,利用密碼傳輸流,設(shè)計(jì)TripleDES算法加密器的方法。本程序在中文版Windows7、Visual Studio 2005集成開發(fā)的環(huán)境下設(shè)計(jì)并通過測試。實(shí)驗(yàn)表明,該程序加密文件速度快,使用方便,安全性能良好。在實(shí)際運(yùn)用中還可以進(jìn)一步改進(jìn)初始密鑰輸入方案,加入自動隨機(jī)生成Key的方法,通過增加初始密鑰的長度與復(fù)雜度,克服弱密鑰,提高計(jì)算機(jī)文件加密力度。
參考文獻(xiàn):
[1] 張健,任洪娥,陳宇.密碼學(xué)原理及應(yīng)用技術(shù)[M].清華大學(xué)出版社,2011.
[2] 康海姆(Alan G.Konheim)編著,唐明,王后珍,韓海清等譯.計(jì)算機(jī)安全與密碼學(xué)[M].電子工業(yè)出版社,2010.
[3] 李益發(fā),趙亞群,張習(xí)勇等.應(yīng)用密碼學(xué)基礎(chǔ)[M].武漢大學(xué)出版社,2009.
[4] 任偉.現(xiàn)代密碼學(xué)[M].北京郵電大學(xué)出版社,2011.
[5] 胡振.基于Triple DES與RSA的文件加密系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2012.9:101-104
[6] 宋秀麗.現(xiàn)代密碼學(xué)原理與應(yīng)用[M].機(jī)械工業(yè)出版社,2012.