對稱加密算法

對稱加密算法

ID:26140251

大?。?01.50 KB

頁數(shù):9頁

時間:2018-11-25

對稱加密算法_第1頁
對稱加密算法_第2頁
對稱加密算法_第3頁
對稱加密算法_第4頁
對稱加密算法_第5頁
資源描述:

《對稱加密算法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、實(shí)驗(yàn)一:對稱加密算法實(shí)驗(yàn)對稱算法:實(shí)驗(yàn)?zāi)康模海?)了解對稱算法的基本工作流程。(2)掌握對稱算法的使用方法。硬件環(huán)境:?IntelCorei3CPU2.67GHz4GRAM軟件環(huán)境:VS2010PerlopenssLMyeclipse10.0實(shí)驗(yàn)步驟:(1)認(rèn)識OpenSSL工具包。(2)用簡短的程序代碼演示:分組加密算法(DES、AES)和流密碼算法(RC4)的使用,其中包括分組算法的四種應(yīng)用模式ECB、CBCCFB、OFB。1.獲得OpenSSL到OpenSSL的網(wǎng)站即可下載當(dāng)前版本的OpenSSL源代碼壓縮包。最新版本為openssl-1.0.1e.tar.gz2.編譯工具編譯Op

2、enSSL需要Perl和C編譯器。Perl在Windows下使用ActivePerl。在Windows下可以使用VisualC++編譯器。3.編譯和安裝步驟在Windows中在所有程序->visualstudio2010->visualstudiotools->visualstudio命令提示:>cdd:openssl>perlConfigureVC-WIN32>>msdo_ms>nmake-fmstdll.mak>cdout32dll>..mstest編譯結(jié)果得到頭文件、鏈接庫、運(yùn)行庫和openssl.exe工具。頭文件位于./inc32或者./inculde目錄,有一個o

3、penssl子目錄,內(nèi)有幾十個.h文件。鏈接庫即./out32dll目錄中的libeay32.lib和ssleay32.lib,分別是密碼算法相關(guān)的和ssl協(xié)議相關(guān)的。運(yùn)行庫是./out32dll目錄中的libeay32.dll和ssleay32.dll,和鏈接庫相對應(yīng)。在./out32dll中還有一個工具openssl.exe,可以直接用來測試性能、產(chǎn)生RSA密鑰、加解密文件,甚至可以用來維護(hù)一個測試用的CA。下圖是利用openssLspeed測試各種加密算法的速度下圖實(shí)現(xiàn)的是DEC中ECB和BFB的算法實(shí)驗(yàn):下圖是AES的算法是:RC4的結(jié)果為:(3)編寫一個簡單但是安全的文件加密程

4、序。DES:packagetest1;importjava.security.Key;importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;publicclassDesEncrypt{Keykey;/根據(jù)參數(shù)生成KEY/publicvoidgetKey(StringstrKey){try{KeyGenerator_generator=KeyGenerator.getInstance("DES");_generator.init(newSecureRandom(s

5、trKey.getBytes()));this.key=_generator.generateKey();_generator=null;}catch(Exceptione){e.printStackTrace();}}/加密String明文輸入,String密文輸出/publicStringgetEncString(StringstrMing){byte[]byteMi=null;byte[]byteMing=null;StringstrMi="";try{returnbyte2hex(getEncCode(strMing.getBytes()));}catch(Exceptione)

6、{e.printStackTrace();}finally{byteMing=null;byteMi=null;}returnstrMi;}/解密以String密文輸入,String明文輸出/publicStringgetDesString(StringstrMi){byte[]byteMing=null;byte[]byteMi=null;StringstrMing="";try{returnnewString(getDesCode(hex2byte(strMi.getBytes())));}catch(Exceptione){e.printStackTrace();}finally{

7、byteMing=null;byteMi=null;}returnstrMing;}/加密以byte[]明文輸入,byte[]密文輸出/privatebyte[]getEncCode(byte[]byteS){byte[]byteFina=null;Ciphercipher;try{cipher=Cipher.getInstance("DES");cipher.init(Cipher.ENCRYPT_MODE,key);byteFi

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。