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