版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、專業(yè).專注鄭州輕工業(yè)學(xué)院課程設(shè)計(jì)報(bào)告名稱:信息安全概論指導(dǎo)教師:吉星、程立輝姓名:符豪學(xué)號:541307030112541307030112班級:網(wǎng)絡(luò)工程 13-0113-011. 目的數(shù)據(jù)加密技術(shù)要求只有在指定的用戶或網(wǎng)絡(luò)下,才能解除密碼 而獲專業(yè).專注得原來的數(shù)據(jù), 這就需要給數(shù)據(jù)發(fā)送方和接受方以一些特殊的 信息用于加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機(jī) 數(shù)中選取的。按加密算法分為專用密鑰和公開密鑰兩種。 數(shù)據(jù)加密 技術(shù)是網(wǎng)絡(luò)中最基本的安全技術(shù),主要是通過對網(wǎng)絡(luò)中傳輸?shù)男畔?進(jìn)行數(shù)據(jù)加密來保障其安全性,這是一種主動(dòng)安全防御策略, 用很 小的代價(jià)即可為信息提供相當(dāng)大的安全保護(hù)。2
2、. 題目使用 C#C#編程語言,進(jìn)行數(shù)據(jù)的加密與解密。1_ _ AI:.- !或_XB亠亍一J.亡!”-嚴(yán)L-1-rt.亠系統(tǒng)基本功能描述如下:1 1、實(shí)現(xiàn) DESDES 算法加密與解密功能2 2、實(shí)現(xiàn) TripleDESTripleDES 算法加密與解密功能O專業(yè).專注3 3、實(shí)現(xiàn) MD5MD5 算法加密功能。4 4、實(shí)現(xiàn) RC2RC2 算法加密與解密功能。5 5、實(shí)現(xiàn) TripleDESTripleDES 算法加密與解密功能。6 6、實(shí)現(xiàn) RSARSA 算法加密與解密功能。3. 功能描述使用該軟件在相應(yīng)的文本框中輸入明文,然后點(diǎn)擊加密就會(huì)立 即轉(zhuǎn)化成相應(yīng)的密文,非常迅速和方便,而且操作簡單
3、加流暢,非 常好用。4. 需求分析加密軟件發(fā)展很快,目前最常見的是透明加密,透明加密是一種根據(jù)要求在操作系統(tǒng)層自動(dòng)地對寫入存儲介質(zhì)的數(shù)據(jù)進(jìn)行加密的 技術(shù)。透明加密軟件作為一種新的數(shù)據(jù)保密手段,自 20052005 年上市以來,得到許多軟件公司特別是制造業(yè)軟件公司和傳統(tǒng)安全軟件公司 的熱捧,也為廣大需要對敏感數(shù)據(jù)進(jìn)行保密的客戶帶來了希望。加密軟件上市以來,市場份額逐年上升,同時(shí),經(jīng)過幾年的實(shí)踐,客 戶對軟件開發(fā)商提出了更多的要求。與加密軟件產(chǎn)品剛上市時(shí)前一兩年各軟件廠商各持一詞不同,經(jīng)過市場的幾番磨煉,客戶和廠商 對透明加密軟件有了更加統(tǒng)一的認(rèn)識。5. 設(shè)計(jì)說明傳統(tǒng)的周邊防御,比如防火墻、入侵檢
4、測和防病毒軟件,已經(jīng) 不再能夠解決很多今天的數(shù)據(jù)保護(hù)問題。為了加強(qiáng)這些防御措施并專業(yè).專注且滿足短期相關(guān)規(guī)范的要求,許多公司對于數(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)。對數(shù)據(jù)進(jìn)行加密可以讓數(shù)據(jù)不論是在網(wǎng)絡(luò)中活動(dòng)、在數(shù)據(jù)庫和電腦中靜止或者在工作站中被使用的時(shí)候都能防患于未然。6. 源代碼主窗體:using System;using System.Collecti on
5、s.Ge neric;using System.Comp onen tModel;using System.Data;using System.Draw ing;using System.L inq;using System.Text;using System.Wi ndows.Forms;namespace WindowsFormsApplication1public partial class Form1 : Form專業(yè).專注public Form1() In itializeComp onen t();private void md5ToolStripMenultem_Click(ob
6、ject sender, EventArgs e)md5 md51 = new md5 ();md51.Show(); private void dES 加密解密 ToolStripMenultem_Click( object sender, EventArgs e) des des1 = new des();des1.Show(); private void rSA 加密解密 ToolStripMenultem_Click( object sender. EventArgs e) rsa rsa1 = new rsa();rsa1.Show();private void 幫助 ToolStr
7、ipMenultem_Click( object sender. EventArgs e) help h = new help ();h.Show();專業(yè).專注Cryptography 類:using System;using System.Security.Cryptography;using Syste m.IO;using System.Text;using System.Globalizati on;using System.Xml.L inq;using System.Collecti on s.Ge neric;namespace WindowsFormsApplication1
8、class Encrypter/DES 默認(rèn)密鑰向量private static byte DES_IV = 0 x12, 0 x34, 0 x56, 0 x78, 0 x90, 0 xAB, OxCD, OxEF ;public static str ing En cryptByMD5( stri ng in put)MD5 md5Hasher = MD5 .Create();byte data = md5Hasher.ComputeHash(Encoding .UTF8.GetBytes(input);StringBuilder sBuilder = new StringBuilder (
9、);專業(yè).專注for (int i = 0; i data.Le ngth; i+)sBuilder.Appe nd(datai.ToStr ing( x2);return sBuilder.ToString(); public static stri ng En cryptByDES( stri ng in put, str ing key)byte inputBytes =Encoding .UTF8.GetBytes(input);byte keyBytes = ASCIIEncoding .UTF8.GetBytes(key);byte encryptBytes = EncryptBy
10、DES(inputBytes, keyBytes, keyBytes);using (DES des = new DESCryptoServiceProvider () using (Memorystream ms = new Memorystream ()using (CryptoStream cs = new CryptoStream (ms, des.CreateEncryptor(),CryptoStreamMode .Write)using (StreamWriter writer = new StreamWriter (cs)writer.Write(i nputBytes);專業(yè)
11、.專注 stri ng result = Con vert .ToBase64Stri ng(e ncryptBytes);return result;public static byte EncryptByDES( byte inputBytes,byte key, byte IV)DES des = new DESCryptoServiceProvider ();des.Key = key;des.IV = IV;string result = string .Empty;using (Memorystream ms = new Memorystream ()using (CryptoSt
12、ream cs = new CryptoStream (ms, des.CreateEncryptor(),CryptoStreamMode .Write)cs.Write(i nputBytes, 0, in putBytes.Le ngth);return ms.ToArray();專業(yè).專注public static str ing DecryptByDES( stri ng in put, stri ng key)byte in putBytes = Con vert .FromBase64Stri ng(i nput);byte keyBytes = ASCIIEncoding .U
13、TF8.GetBytes(key);byte resultBytes = DecryptByDES(inputBytes, keyBytes, keyBytes);stri ng result = En cod in g .UTF8.GetStri ng(resultBytes);return result;public static byte DecryptByDES( byte inputBytes, byte key, byte iv)DESCryptoServiceProvider des = new DESCryptoServiceProvider ();des.Key = key;
14、des .IV = iv;using (MemoryStream ms = new MemoryStream (inputBytes)using (CryptoStream cs = new CryptoStream (ms, des.CreateDecryptor(),CryptoStreamMode .Read)using (StreamReader reader = new StreamReader (cs)專業(yè).專注stri ng result = reader.ReadToE nd();return Encoding .UTF8.GetBytes(result);public sta
15、tic stri ng En cryptStri ng( stri ng in put, stri ng sKey)byte data = Encoding .UTF8.GetBytes(input);using (DESCryptoServiceProvider des = new DESCryptoServiceProvider ()des.Key = ASCIIEncoding .ASCII.GetBytes(sKey);des.IV = ASCIIEncoding .ASCII.GetBytes(sKey);ICryptoTra nsform dese ncrypt = des.Cre
16、ateE ncryptor();byte result = desencrypt.TransformFinalBlock(data, 0, data.Length);return BitConverter .ToString(result); public static str ing DecryptStri ng( stri ng in put, stri ng sKey)專業(yè).專注stri ng sin put = in put.Split( - .ToCharArray();byte data = new byte sinput.Length;for (int i = 0; i sin
17、put.Le ngth; i+)datai = byte .Parse(sinputi, NumberStyles .HexNumber);using (DESCryptoServiceProvider des = new DESCryptoServiceProvider ()des.Key = ASCiiEncoding .ASCII.GetBytes(sKey);des.IV = ASCiiEncoding .ASCii.GetBytes(sKey);iCryptoTra nsform dese ncrypt = des.CreateDecryptor();byte result = de
18、sencrypt.TransformFinalBlock(data, 0, data.Length);return Encoding .UTF8.GetString(result); public static str ing En cryptByRSA( stri ng pla in text, str ing publicKey)UnicodeEncoding ByteConverter =new UnicodeEncoding ();byte dataToE ncrypt = ByteC on verter.GetBytes(pla in text);using (RSACryptoSe
19、rviceProvider RSA = new RSACryptoServiceProvider ()RSA.FromXmlStr in g(publicKey);byte encryptedData = RSA.Encrypt(dataToEncrypt,false);return Convert .ToBase64String(encryptedData);專業(yè).專注public static string DecryptByRSA( string ciphertext, string privateKey)UnicodeEncoding byteConverter = new Unico
20、deEncoding ();using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider () RSA.FromXmlStr in g(privateKey);byte encryptedData = Convert .FromBase64String(ciphertext);byte decryptedData = RSA.Decrypt(encryptedData, false);return byteConverter.GetString(decryptedData);public static str ing Ha
21、shA ndSig nStr ing( stri ng pla in text, stri ng privateKey)UnicodeEncoding ByteConverter =new UnicodeEncoding ();專業(yè).專注byte dataToE ncrypt = ByteC on verter.GetBytes(pla in text);using (RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider () RSAalg.FromXmlStr in g(privateKey);/使用 SHA1 進(jìn)行摘要
22、算法,生成簽名byte encryptedData = RSAalg.SignData(dataToEncrypt,newSHA1CryptoServiceProvider ();return Convert .ToBase64String(encryptedData); public static bool VerifySig ned( stri ng pla in text, stri ng Sign edData, stri ng publicKey)using (RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider
23、 ()RSAalg.FromXmlStr in g(publicKey);UnicodeEncoding ByteConverter =new UnicodeEncoding ();byte dataToVerifyBytes = ByteC on verter.GetBytes(pla in text);byte sig nedDataBytes = Con vert .FromBase64Stri ng(Sig nedData);return RSAalg.VerifyData(dataToVerifyBytes, new SHA1CryptoServiceProvider (),sig
24、nedDataBytes);專業(yè).專注public static KeyValuePair CreateRSAKey()RSACryptoServiceProvider RSA = new RSACryptoServiceProvider ();string privateKey = RSA.ToXmlString( true );string publicKey = RSA.ToXmlString( false);return new KeyValuePair (publicKey, privateKey); public static byte GetBytes( string in put)stri ng sin put = in put.Split( - .ToCharArray();byte inputBytes = new byte sinput.Length;for (int i = 0; i sin put.Le ngth; i+)inputBytesi = byte .Parse(sinputi, NumberStyles .HexNumber);專業(yè).專注return inputBytes; using System;using System.Collecti on s.Ge neri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南蝴蝶泉導(dǎo)游詞
- DB12T 481-2013 洗染業(yè)皮具護(hù)理服務(wù)規(guī)范
- 七夕節(jié)促銷活動(dòng)策劃
- 高等數(shù)學(xué)教程 上冊 第4版 測試題及答案 高數(shù)2-測試一 - 答案
- 影響貨幣供給量的因素有哪些
- 陽江職業(yè)技術(shù)學(xué)院附屬實(shí)驗(yàn)學(xué)校八年級上學(xué)期語文第一次月考試卷
- 三年級數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- 膠管采購合同(2篇)
- 南京工業(yè)大學(xué)浦江學(xué)院《商務(wù)談判》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇盱眙經(jīng)濟(jì)開發(fā)區(qū)圣山路及新海大道道路改造工程施工組織設(shè)計(jì)
- 某污水處理設(shè)備質(zhì)量保證措施
- AR眼鏡簡介介紹
- 藝術(shù)與體育的研究報(bào)告
- 2024年宣傳片拍攝保密協(xié)議doc-(含多場合)
- 畢業(yè)設(shè)計(jì)自行車測速儀
- 親子鑒定報(bào)告樣本
- 心理健康的重要性課件
- 社區(qū)管理與服務(wù)創(chuàng)新課件
- 2024年度醫(yī)院皮膚科中醫(yī)帶教計(jì)劃課件
- 海鮮自助策劃方案
- 社會(huì)主義新農(nóng)村建設(shè)
評論
0/150
提交評論