rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)

rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)

ID:842481

大?。?35.52 KB

頁數(shù):18頁

時(shí)間:2017-09-19

rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)_第1頁
rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)_第2頁
rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)_第3頁
rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)_第4頁
rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)_第5頁
資源描述:

《rc4加密算法的實(shí)現(xiàn)_網(wǎng)絡(luò)安全課程設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、棗莊學(xué)院信息科學(xué)與工程學(xué)院課程設(shè)計(jì)任務(wù)書題目:RC4加密算法的實(shí)現(xiàn)學(xué)號(hào):姓名:專業(yè):計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程:計(jì)算機(jī)網(wǎng)絡(luò)安全教程指導(dǎo)教師:職稱:教師完成時(shí)間:2012年11月----2012年12月棗莊學(xué)院信息科學(xué)與工程學(xué)院制一.系統(tǒng)設(shè)計(jì)的目標(biāo)隨著信息化的發(fā)展,人們?cè)谛畔鬟f,數(shù)據(jù)共享等方面的要求越來越高。但與此同時(shí),數(shù)據(jù)的保密、個(gè)人的隱私保護(hù)也越來越困難,迫使人們不得不采取相應(yīng)的措施來提高信息的安全性。在此條件下,加密技術(shù)應(yīng)運(yùn)而生。加密作為一把系統(tǒng)安全的鑰匙,是實(shí)現(xiàn)信息安全的重要手段之一,正確的使用加密技術(shù)可以確保信息的安全。人們所熟悉的加密技術(shù)很多,比如數(shù)字簽名、版權(quán)注冊(cè)、軟

2、盤加密、軟件鎖等等。本人的設(shè)計(jì)思想是利用文件夾的加密來實(shí)現(xiàn)對(duì)軟件或文件的安全加密。在此設(shè)計(jì)基礎(chǔ)上編寫了一個(gè)程序,該軟件操作簡(jiǎn)單方便,適用于個(gè)人PC上對(duì)文件的加密。用戶可自選密鑰對(duì)重要文件或可執(zhí)行程序進(jìn)行加密,防止未授權(quán)用戶竊密。本文描述了利用文件夾的加密來實(shí)現(xiàn)對(duì)文件或程序的保護(hù)方案。采用了“對(duì)稱式”加密技術(shù)即采用文件逐字節(jié)與密碼異或方式對(duì)文件或可執(zhí)行程序加密。選用C++編程語言,設(shè)計(jì)了一個(gè)加密程序,該程序不拘泥于花俏的界面,僅使用了一個(gè)簡(jiǎn)單的對(duì)話框,具有簡(jiǎn)單實(shí)用的特點(diǎn)。在該方案的實(shí)現(xiàn)中,由于使用了可靠的密碼學(xué)算法,使軟件加密的強(qiáng)度大大提高。二.系統(tǒng)原理:1.RC4加密算法原

3、理:  RC4加密算法是大名鼎鼎的RSA三人組中的頭號(hào)人物RonRivest在1987年設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法簇。之所以稱其為簇,是由于其核心部分的S-box長(zhǎng)度可為任意,但一般為256字節(jié)。該算法的速度可以達(dá)到DES加密的10倍左右?! C4算法的原理很簡(jiǎn)單,包括初始化算法和偽隨機(jī)子密碼生成算法兩大部分。假設(shè)S-box長(zhǎng)度和密鑰長(zhǎng)度均為為n。先來看看算法的初始化部分(用類C偽代碼表示):  for(i=0;i

4、始化的過程中,密鑰的主要功能是將S-box攪亂,i確保S-box的每個(gè)元素都得到處理,j保證S-box的攪亂是隨機(jī)的。而不同的S-box在經(jīng)過偽隨機(jī)子密碼生成算法的處理后可以得到不同的子密鑰序列,并且,該序列是隨機(jī)的:  i=j=0;  while(明文未結(jié)束)  {  ++i%=n;  j=(j+s)%n;  swap(s,s[j]);  sub_k=s((s+s[j])%n);  }  得到的子密碼sub_k用以和明文進(jìn)行xor運(yùn)算,得到密文,解密過程也完全相同?! ∮捎赗C4算法加密是采用的xor,所以,一旦子密鑰序列出現(xiàn)了重復(fù),密文就有可能被破解。關(guān)于如何破解xor

5、加密,請(qǐng)參看BruceSchneier的AppliedCryptography一書的1.4節(jié)SimpleXOR,在此我就不細(xì)說了。那么,RC4算法生成的子密鑰序列是否會(huì)出現(xiàn)重復(fù)呢?經(jīng)過我的測(cè)試,存在部分弱密鑰,使得子密鑰序列在不到100萬字節(jié)內(nèi)就發(fā)生了完全的重復(fù),如果是部分重復(fù),則可能在不到10萬字節(jié)內(nèi)就能發(fā)生重復(fù),因此,推薦在使用RC4算法時(shí),必須對(duì)加密密鑰進(jìn)行測(cè)試,判斷其是否為弱密鑰?! 〉?001年就有以色列科學(xué)家指出RC4加密算法存在著漏洞,這可能對(duì)無線通信網(wǎng)絡(luò)的安全構(gòu)成威脅?! ∫陨形捍穆芯克兔绹?guó)思科公司的研究者發(fā)現(xiàn),在使用“有線等效保密規(guī)則”(WEP)的

6、無線網(wǎng)絡(luò)中,在特定情況下,人們可以逆轉(zhuǎn)RC4算法的加密過程,獲取密鑰,從而將己加密的信息解密。實(shí)現(xiàn)這一過程并不復(fù)雜,只需要使用一臺(tái)個(gè)人電腦對(duì)加密的數(shù)據(jù)進(jìn)行分析,經(jīng)過幾個(gè)小時(shí)的時(shí)間就可以破譯出信息的全部?jī)?nèi)容。專家說,這并不表示所有使用RC4算法的軟件都容易泄密,但它意味著RC4算法并不像人們?cè)日J(rèn)為的那樣安全。這一發(fā)現(xiàn)可能促使人們重新設(shè)計(jì)無線通信網(wǎng)絡(luò),并且使用新的加密算法。三.系統(tǒng)功能分析:圖1:系統(tǒng)功能圖四.系統(tǒng)實(shí)現(xiàn):設(shè)計(jì)的核心部分仍是算法的核心部分,根據(jù)des算法的原理,建立相關(guān)的變量,和函數(shù),完成對(duì)8位字符的加密,解密。而對(duì)于文件的加密與解密只需要在文件的讀取時(shí),按加密

7、的位數(shù)讀取然后調(diào)用算法,加密后保存到一個(gè)文件,一直到文件的末尾,從而實(shí)現(xiàn)文件的加密。而解密是加密的逆過程,只要將密鑰按反順序使用即可,算法一致,調(diào)用的函數(shù)也都一樣。1.功能要求(1)設(shè)計(jì)操作界面;(如圖3)圖3(2)對(duì)輸入的明文可以進(jìn)行加解密;(如圖4)(3)對(duì)指定的文件可以加解密。(圖5)對(duì)文件夾進(jìn)行解密:(圖6)詳細(xì)設(shè)計(jì)字符加解密數(shù)據(jù)流圖明文明文傳輸密文加密密鑰解密密鑰解密加密明文明文傳輸密文加密密鑰解密密鑰解密加密明文明文傳輸密文加密密鑰解密密鑰解密加密字符加解密數(shù)據(jù)流圖(7)一層數(shù)據(jù)流圖(8)二層數(shù)據(jù)流圖(

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

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

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