




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鄭州輕工業(yè)學(xué)院課程設(shè)計(jì)報(bào)告名稱:信息安全概論指導(dǎo)教師:吉星、程立輝姓名:符豪學(xué)號(hào):541307030112班級(jí):網(wǎng)絡(luò)工程13-011.目的數(shù)據(jù)加密技術(shù)要求只有在指定的用戶或網(wǎng)絡(luò)下,才能解除密碼而獲得原來的數(shù)據(jù),這就需要給數(shù)據(jù)發(fā)送方和接受方以一些特殊的信息用于加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機(jī)數(shù)中選取的。按加密算法分為專用密鑰和公開密鑰兩種。數(shù)據(jù)加密技術(shù)是網(wǎng)絡(luò)中最基本的安全技術(shù),主要是通過對(duì)網(wǎng)絡(luò)中傳輸?shù)男畔⑦M(jìn)行數(shù)據(jù)加密來保障其安全性,這是一種主動(dòng)安全防御策略,用很小的代價(jià)即可為信息提供相當(dāng)大的安全保護(hù)。2.題目使用C#編程語言,進(jìn)行數(shù)據(jù)的加密與解密。系統(tǒng)基本功能描述如下:1、實(shí)現(xiàn)DES算法加密與解密功能。2、實(shí)現(xiàn)TripleDES算法加密與解密功能。3、 實(shí)現(xiàn)MD5算法加密功能。4、 實(shí)現(xiàn)RC2算法加密與解密功能。5、 實(shí)現(xiàn)TripleDES算法加密與解密功能。6、 實(shí)現(xiàn)RSA算法加密與解密功能。功能描述使用該軟件在相應(yīng)的文本框中輸入明文,然后點(diǎn)擊加密就會(huì)立即轉(zhuǎn)化成相應(yīng)的密文,非常迅速和方便,而且操作簡(jiǎn)單加流暢,非常好用。需求分析加密軟件發(fā)展很快,目前最常見的是透明加密,透明加密是一種根據(jù)要求在操作系統(tǒng)層自動(dòng)地對(duì)寫入存儲(chǔ)介質(zhì)的數(shù)據(jù)進(jìn)行加密的技術(shù)。透明加密軟件作為一種新的數(shù)據(jù)保密手段,自2005年上市以來,得到許多軟件公司特別是制造業(yè)軟件公司和傳統(tǒng)安全軟件公司的熱捧,也為廣大需要對(duì)敏感數(shù)據(jù)進(jìn)行保密的客戶帶來了希望。加密軟件上市以來,市場(chǎng)份額逐年上升,同時(shí),經(jīng)過幾年的實(shí)踐,客戶對(duì)軟件開發(fā)商提出了更多的要求。與加密軟件產(chǎn)品剛上市時(shí)前一兩年各軟件廠商各持一詞不同,經(jīng)過市場(chǎng)的幾番磨煉,客戶和廠商對(duì)透明加密軟件有了更加統(tǒng)一的認(rèn)識(shí)。5.設(shè)計(jì)說明傳統(tǒng)的周邊防御,比如防火墻、入侵檢測(cè)和防病毒軟件,已經(jīng)不再能夠解決很多今天的數(shù)據(jù)保護(hù)問題。為了加強(qiáng)這些防御措施并且滿足短期相關(guān)規(guī)范的要求,許多公司對(duì)于數(shù)據(jù)安全紛紛采取了執(zhí)行多點(diǎn)產(chǎn)品的戰(zhàn)術(shù)性措施。這種片面的部署計(jì)劃確實(shí)可以為他們的數(shù)據(jù)提供一點(diǎn)點(diǎn)額外的保護(hù),但是在管理上花費(fèi)昂貴并且操作困難,這種做法并不能為未來的發(fā)展提供一個(gè)清晰的框架。加密是確保數(shù)據(jù)安全最重要的環(huán)節(jié)。必須確保數(shù)據(jù)加密而不是僅僅依賴一個(gè)防護(hù)基礎(chǔ)架構(gòu)。對(duì)數(shù)據(jù)進(jìn)行加密可以讓數(shù)據(jù)不論是在網(wǎng)絡(luò)中活動(dòng)、在數(shù)據(jù)庫(kù)和電腦中靜止或者在工作站中被使用的時(shí)候都能防患于未然。6.源代碼主窗體:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidmd5ToolStripMenuItem_Click(objectsender,EventArgse){md5md51=newmd5();md51.Show();}privatevoiddES加密解密ToolStripMenuItem_Click(objectsender,EventArgse){desdes1=newdes();des1.Show();privatevoidrSA加密解密ToolstripMenuItem_Click(objectsender,EventArgse){rsarsa1=newrsa();rsa1.Show();}privatevoid幫助ToolStripMenuItem_Click(objectsender,EventArgse){helph=newhelp();h.Show();}}}Cryptography類:usingSystem;usingSystem.Security.Cryptography;usingSystem.IO;usingSystem.Text;usingSystem.Globalization;usingSystem.Xml.Linq;usingSystem.Collections.Generic;namespaceWindowsFormsApplication1{classEncrypter{//DES默認(rèn)密鑰向量privatestaticbyte[]DES_IV={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};publicstaticstringEncryptByMD5(stringinput){MD5md5Hasher=MD5.Create();byte[]data=md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(input));StringBuildersBuilder=newStringBuilder();for(inti=0;i<data.Length;i++){sBuilder.Append(data[i].ToString("x2"));}returnsBuilder.ToString();}publicstaticstringEncryptByDES(stringinput,stringkey){byte[]inputBytes=Encoding.UTF8.GetBytes(input);byte[]keyBytes=ASCIIEncoding.UTF8.GetBytes(key);byte[]encryptBytes=EncryptByDES(inputBytes,keyBytes,keyBytes);using(DESdes=newDESCryptoServiceProvider()){using(MemoryStreamms=newMemoryStream()){using(CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write)){using(StreamWriterwriter=newStreamWriter(cs)){writer.Write(inputBytes);}}}}stringresult=Convert.ToBase64String(encryptBytes);returnresult;}publicstaticbyte[]EncryptByDES(byte[]inputBytes,byte[]key,byte[]IV){DESdes=newDESCryptoServiceProvider();des.Key=key;des.IV=IV;stringresult=string.Empty;using(MemoryStreamms=newMemoryStream()){using(CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write)){cs.Write(inputBytes,0,inputBytes.Length);}returnms.ToArray();}publicstaticstringDecryptByDES(stringinput,stringkey){byte[]inputBytes=Convert.FromBase64String(input);byte[]keyBytes=ASCIIEncoding.UTF8.GetBytes(key);byte[]resultBytes=DecryptByDES(inputBytes,keyBytes,keyBytes);stringresult=Encoding.UTF8.GetString(resultBytes);returnresult;}publicstaticbyte[]DecryptByDES(byte[]inputBytes,byte[]key,byte[]iv){DESCryptoServiceProviderdes=newDESCryptoServiceProvider();des.Key=key;des.IV=iv;using(MemoryStreamms=newMemoryStream(inputBytes)){using(CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Read)){using(StreamReaderreader=newStreamReader(cs)){stringresult=reader.ReadToEnd();returnEncoding.UTF8.GetBytes(result);}}}}publicstaticstringEncryptString(stringinput,stringsKey){byte[]data=Encoding.UTF8.GetBytes(input);using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()){des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);des.IV=ASCIIEncoding.ASCII.GetBytes(sKey);ICryptoTransformdesencrypt=des.CreateEncryptor();byte[]result=desencrypt.TransformFinalBlock(data,0,data.Length);returnBitConverter.ToString(result);}}publicstaticstringDecryptString(stringinput,stringsKey){string[]sInput=input.Split("-".ToCharArrayO);byte[]data=newbyte[slnput.Length];for(inti=0;i<sInput.Length;i++){data[i]=byte.Parse(slnput[i],NumberStyles.HexNumber);}using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()){des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);des.IV=ASCIIEncoding.ASCII.GetBytes(sKey);ICryptoTransformdesencrypt=des.CreateDecryptor();byte[]result=desencrypt.TransformFinalBlock(data,0,data.Length);returnEncoding.UTF8.GetString(result);}}publicstaticstringEncryptByRSA(stringplaintext,stringpublicKey){UnicodeEncodingByteConverter=newUnicodeEncoding();byte[]dataToEncrypt=ByteConverter.GetBytes(plaintext);using(RSACryptoServiceProviderRSA=newRSACryptoServiceProvider()){RSA.FromXmlString(publicKey);byte[]encryptedData=RSA.Encrypt(dataToEncrypt,false);returnConvert.ToBase64String(encryptedData);}}publicstaticstringDecryptByRSA(stringciphertext,stringprivateKey){UnicodeEncodingbyteConverter=newUnicodeEncoding();using(RSACryptoServiceProviderRSA=newRSACryptoServiceProvider()){RSA.FromXmlString(privateKey);byte[]encryptedData=Convert.FromBase64String(ciphertext);byte[]decryptedData=RSA.Decrypt(encryptedData,false);returnbyteConverter.GetString(decryptedData);}}publicstaticstringHashAndSignString(stringplaintext,stringprivateKey){UnicodeEncodingByteConverter=newUnicodeEncoding();byte[]dataToEncrypt=ByteConverter.GetBytes(plaintext);using(RSACryptoServiceProviderRSAalg=newRSACryptoServiceProvider()){RSAalg.FromXmlString(privateKey);//使用SHA1進(jìn)行摘要算法,生成簽名byte[]encryptedData=RSAalg.SignData(dataToEncrypt,newSHA1CryptoServiceProvider());returnConvert.ToBase64String(encryptedData);}}publicstaticboolVerifySigned(stringplaintext,stringSignedData,stringpublicKey){using(RSACryptoServiceProviderRSAalg=newRSACryptoServiceProvider()){RSAalg.FromXmlString(publicKey);UnicodeEncodingByteConverter=newUnicodeEncoding();byte[]dataToVerifyBytes=ByteConverter.GetBytes(plaintext);byte[]signedDataBytes=Convert.FromBase64String(SignedData);returnRSAalg.VerifyData(dataToVerifyBytes,newSHA1CryptoServiceProvider。,signedDataBytes);}}publicstaticKeyValuePair〈string,string〉CreateRSAKey(){RSACryptoServiceProviderRSA=newRSACryptoServiceProvider();stringprivateKey=RSA.ToXmlString(true);stringpublicKey=RSA.ToXmlString(false);returnnewKeyValuePair〈string,string〉(publicKey,privateKey);}publicstaticbyte[]GetBytes(stringinput){string[]sInput=input.Split("-".ToCharArrayO);byte[]inputBytes=newbyte[slnput.Length];for(inti=0;i<sInput.Length;i++){NumberStyles.HexNumber);inputBytes[i]=byteNumberStyles.HexNumber);}returninputBytes;}}}usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSyste
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合肥長(zhǎng)豐縣下塘鎮(zhèn)招聘村(社區(qū))后備干部12人模擬試卷及答案詳解(必刷)
- 2025年玉環(huán)市經(jīng)濟(jì)和化局公開選聘工作人員1人考前自測(cè)高頻考點(diǎn)模擬試題及1套參考答案詳解
- 2025吉林白山市教育系統(tǒng)“進(jìn)校園”招聘高校畢業(yè)生52人考前自測(cè)高頻考點(diǎn)模擬試題參考答案詳解
- 2025湖南師范大學(xué)附屬小學(xué)第二輪非事業(yè)編制教師招聘4人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(名師系列)
- 秦皇島市人民醫(yī)院醫(yī)務(wù)人員手衛(wèi)生與職業(yè)防護(hù)知識(shí)測(cè)試題
- 2025湖南郴州資興市面向本市2025屆農(nóng)村訂單定向醫(yī)學(xué)生、基層醫(yī)療衛(wèi)生機(jī)構(gòu)本土化??茖哟稳瞬排囵B(yǎng)醫(yī)學(xué)生考核招聘15人模擬試卷及答案詳解(名師系列)
- 2025湖南邵陽(yáng)市湘中幼兒師范高等??茖W(xué)校公開招聘工作人員24人模擬試卷及一套完整答案詳解
- 2025哈藥集團(tuán)春季校園招聘考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(典型題)
- 2025河南開封市中心醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)基地招收考前自測(cè)高頻考點(diǎn)模擬試題及一套完整答案詳解
- 2025北京首都醫(yī)科大學(xué)附屬北京朝陽(yáng)醫(yī)院派遣合同制崗位招聘12人(第三次)模擬試卷及答案詳解(奪冠)
- 資陽(yáng)產(chǎn)業(yè)投資集團(tuán)有限公司第三輪一般員工市場(chǎng)化招聘筆試參考題庫(kù)附答案解析
- 【高考真題】陜西、山西、寧夏、青海2025年高考?xì)v史真題(含解析)
- 宣威課件教學(xué)課件
- 2025年淮南市大通區(qū)和壽縣經(jīng)開區(qū)公開招聘社區(qū)“兩委”后備干部30名筆試備考題庫(kù)及答案解析
- 《文獻(xiàn)檢索與科技論文寫作入門》課件(共八章)
- 2025云南紅河紅家眾服經(jīng)營(yíng)管理有限公司社會(huì)招聘工作人員8人筆試參考題庫(kù)附帶答案詳解
- 2025年浙江高考真題化學(xué)試題(解析版)
- 牛羊布氏桿菌課件
- 機(jī)動(dòng)車排放定期檢驗(yàn)標(biāo)準(zhǔn)考核試題及答案
- 共享實(shí)驗(yàn)室合作協(xié)議書
- DBJ04-T 290-2012 袖閥管注漿加固地基技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論