freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-md5算法的研究與實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)加密—論文-在線瀏覽

2025-02-02 13:22本頁(yè)面
  

【正文】 .......................... 16 運(yùn)行時(shí)動(dòng)態(tài)鏈接 ..................................................... 16 DLL封裝情況 ....................................................... 16 5 具體設(shè)計(jì)流程及實(shí)現(xiàn) ..................................................... 17 讀取的設(shè)計(jì)和實(shí)現(xiàn) ................................................... 17 插入的設(shè)計(jì)和實(shí)現(xiàn) ................................................... 18 修改的設(shè)計(jì)和實(shí)現(xiàn) ................................................... 18 刪除的設(shè)計(jì)和實(shí)現(xiàn) ................................................... 19 6 調(diào)試與分析 ............................................................ 19 概述 .............................................................. 19 測(cè)試分析報(bào)告 ...................................................... 20 結(jié) 論 .................................................................. 20 參考文獻(xiàn) .................................................................. 21 致 謝 .................................................................. 22 聲 明 .................................................................. 23 第 1 頁(yè) 共 23 頁(yè) 1 引言 隨著網(wǎng)絡(luò)通信技術(shù)和 Inter 的聯(lián)系日益增強(qiáng),出現(xiàn)了一系列與網(wǎng)絡(luò)安全相關(guān) 的問(wèn)題:如對(duì)主機(jī)的攻擊,網(wǎng)絡(luò)上傳輸?shù)男畔⒈唤厝?、篡改、重發(fā)等,由此,它對(duì)網(wǎng)絡(luò)應(yīng)用的進(jìn)一步推廣構(gòu)成了巨大威脅,因此密碼體制 [1]就在這種背景下應(yīng)運(yùn)而生了。對(duì)數(shù)據(jù)的安全存儲(chǔ)和安全傳輸具有較高的要求。因而可以保障信息的機(jī)密性、完整性和準(zhǔn)確性,防止信息被篡改、偽造和假冒 [2]。 同時(shí),在競(jìng)爭(zhēng)日趨激烈的今天,只有實(shí)行對(duì)數(shù)據(jù)加密的加強(qiáng)管理,建設(shè)性提高信息安全在網(wǎng)絡(luò)中的地位,以至在競(jìng)爭(zhēng)中求生存,以期更好地發(fā)展下去。在 90 年代初由 MIT Laboratory for Computer Science(IT 計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室 )和 RSA Data Security Inc(RSA 數(shù)據(jù)安全公司 )的 Ronald 開(kāi)發(fā)出來(lái) , 經(jīng) MD2, MD3 和 MD4 發(fā)展而來(lái)。不管是 MD2,MD4 還是 MD5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息,并產(chǎn)生一個(gè) 128 位的信息摘要。 Rivest 在 1989 年開(kāi)發(fā)出 MD2 算法,在這個(gè)算法中,首先對(duì)信息進(jìn)行數(shù)據(jù)補(bǔ)位,使信息的字節(jié)長(zhǎng)度是 16的倍數(shù),然后,以一個(gè) 16 位的檢驗(yàn)和追加到信息末尾,并且根據(jù)這個(gè)新產(chǎn)生的信息計(jì)算出散列值。 MD2 算法的加密后結(jié)果是唯一的 即沒(méi)有重復(fù)。 MD4 算法同樣需要填補(bǔ)信息以確保信息的字節(jié)長(zhǎng)度加上 448 后能被 512 整除 (信息字節(jié)長(zhǎng)度mod 512=448。信息被處理成 512 位迭代結(jié)構(gòu)的區(qū)塊,而且每個(gè)區(qū)塊要通過(guò)三個(gè)不同步驟的處理。 Dobbertin 向大家演示了如何利用一部普通的個(gè)人電腦在幾分鐘內(nèi)找 第 2 頁(yè) 共 23 頁(yè) 到 MD4 完整版本中的沖突 (這個(gè)沖突實(shí)際上是一種漏洞,它將導(dǎo)致對(duì)不同的內(nèi)容進(jìn)行加密卻可能得到相同的加密后結(jié)果 ),毫無(wú)疑問(wèn) , MD4 就此被淘汰掉了。它在 MD4 的基礎(chǔ)上增加了 “ 安全 帶子 ” (safetybelts)的概念。這個(gè)算法很明顯的由四個(gè)和 MD4 設(shè)計(jì)有少許不同的步驟組成。Den Boer 和 Bosselaers 曾發(fā)現(xiàn) MD5 算法中的假?zèng)_突 (pseudocollisions),但除此之外就沒(méi)有其他被發(fā)現(xiàn)的加密后結(jié)果了。而所有這些都不足以成為MD5 在實(shí)際應(yīng)用中的問(wèn)題,并且由于 MD5 算法的使用不需要支付任何版權(quán)費(fèi)用,所以在一般的情況下, MD5可以算是比較安全的了。最初的計(jì)算機(jī)應(yīng)用程序通常沒(méi)有或很少有安全性,那是因?yàn)楫?dāng)時(shí)的系統(tǒng)是專(zhuān)屬和封閉的,簡(jiǎn)單地 說(shuō),計(jì)算機(jī)之間雖然也交換數(shù)據(jù)和信息,但形成的網(wǎng)絡(luò)完全在組織控制之下。同時(shí),因?yàn)楫?dāng)時(shí)信息安全并不是個(gè)重要問(wèn)題, 所以導(dǎo)致了很多人都忽略了數(shù)據(jù)的安全性 ,直到 后來(lái) 人們真正 的 認(rèn)識(shí) 和了解 到數(shù)據(jù)的重要性。同時(shí) , 針對(duì) md5 算法而進(jìn)行進(jìn)一步的了解和研究 。密碼學(xué)主要研究的是通訊保密。由于公共和私人部門(mén)的一些機(jī)構(gòu)越來(lái)越多的應(yīng)用電子數(shù)據(jù)處理,將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此防止非法泄露,刪除,修改等是必須重視的問(wèn)題。數(shù)字簽名技術(shù)實(shí)際上是在數(shù)據(jù)加密技術(shù)基礎(chǔ)上的一種延伸應(yīng)用。最常見(jiàn)的散列算法有 MD5, SHA 和 Snefru,MD5 是當(dāng)今非常流行的優(yōu)秀的典型 Hash 加密技術(shù)。 2 相關(guān)理論基礎(chǔ) 單向散列函數(shù) 單向散列函數(shù) [4]也稱(chēng) Hash(哈希 )函數(shù)。散列函數(shù)一直在計(jì)算機(jī)科學(xué)中使用 , 散列函數(shù)就是把可變的輸入長(zhǎng)度串轉(zhuǎn)換成固定長(zhǎng)度輸出值 (叫做散列值 )的一種函數(shù)。 散列函數(shù)是公開(kāi)的,對(duì)處理過(guò)程并不保密,單向散列函數(shù)的安全性是它的單向性,其輸出不依賴于輸入。已知一個(gè)散列值,要找到預(yù)映射的值,使它的值等于已知的散列值在計(jì)算上是不可行的,可把單向散列函數(shù)看作是構(gòu)成指紋文件的一種方法。 單向散列函數(shù)的基本原理 單向散列函數(shù) H( M)是對(duì)一個(gè)任意長(zhǎng)度的消息 M 進(jìn)行運(yùn)算。 h=H(M) 其中 h的長(zhǎng)度為 m。 2)給定 h,根據(jù) H (M) =h 計(jì)算 M 很難。并使得 H(m)=H(m39。 也就是說(shuō),如果某個(gè)入侵者想要獲得一則消息,他必須 破壞掉每個(gè)運(yùn)用單向函數(shù)的協(xié)議的安全性,因?yàn)閱蜗蛐院瘮?shù)的關(guān)鍵在于產(chǎn)生 M 的一個(gè)唯一的消息摘要。單向散列函數(shù)的輸出值為一個(gè)長(zhǎng)度為 n的散列值 , 該長(zhǎng)度比輸入值的長(zhǎng)度 m 要小很多,即 nm。這也就是說(shuō),消息片段 M的散列值的計(jì)算方法可表示為 : 該過(guò)程可圖示如下 : Mi hi Hi1 圖 1 同時(shí)該散列值又將作為下一步運(yùn)算的輸入值之一,由此推算可知,整個(gè)消息的散列值 n即為最后一個(gè)消息片段經(jīng)計(jì)算所得的散列值。 散列值的長(zhǎng)度 我們都知道 ,散列值越長(zhǎng)則安全性越好 , MD5 算法就是單向散列函數(shù)產(chǎn)生 128位的散列值 ,以此保證了它的安全性 , 以下即為生成一個(gè)長(zhǎng)散列值的方法 : 1)運(yùn)用單向散列函數(shù)生成一則消息的散列值。 3)產(chǎn)生包含散列值和消息在內(nèi)的 一連串的數(shù)值的散列值。 5)重復(fù) 1)至 3)步若干次 。算法的輸出由 4個(gè) 32位分組組成,將它們級(jí)聯(lián)形成一個(gè) 128 位散列值 [5]。例如,如果原消息長(zhǎng)度為 1000 位,則要填充 472 位,使消息長(zhǎng)度為 1472 位,因?yàn)?64+1472=1536,是 512 的倍數(shù) (1536=512*3)。 單向散列函數(shù) 第 5 頁(yè) 共 23 頁(yè) 圖 2 填充過(guò)程 填 充對(duì)用一個(gè) 1位和多個(gè) 0位進(jìn)行填充。因此,填充長(zhǎng)度為 1~ 512 的值。 第 2 步 : 添加長(zhǎng)度 增加填充位后,下一步要計(jì)算機(jī)消息原長(zhǎng),將其加進(jìn)填充后的消息末尾。例如,如果原消息為1000 位,則填充 472 位,使其變成比 512 的倍數(shù) (1536)少 64位,但長(zhǎng)度為 1000,而不是 1472。如果消息長(zhǎng)度超過(guò) 264位 (即 64位無(wú)法表示,因?yàn)橄⑻L(zhǎng) ),則只用長(zhǎng)度的低 64位,即等于計(jì)算 length mod 264。 第 6 頁(yè) 共 23 頁(yè) 圖 3 添加長(zhǎng)度 第 3 步 : 將輸入分成 512 位的塊 下面要將輸入分成 512 位的塊,如圖 4所示。 第 7 頁(yè) 共 23 頁(yè) 表 1 鏈接變量 注意低位的字節(jié)在前面指的是 Little Bndian 平臺(tái)上內(nèi)存中字節(jié)的排列方式,而在程序中書(shū)寫(xiě)時(shí),要寫(xiě)成 : A=0x01234567 B=Ox89abcdef C=Oxfedcba98 D=0x76543210 第 5 步 : 處理塊 初始化之后,就要開(kāi)始實(shí)際算法了。 步 : 將四個(gè)鏈接變量復(fù)制到四個(gè)變量 a, b, c, d 中,使 a=A, b=B, c=C,d=D,如圖 5所示 , 圖 5 將四個(gè) 鏈接變量復(fù)制到四個(gè)變量中 實(shí)際上,這個(gè)算法將 a, b, c, d組合成 128 位寄存器 (abcd),寄存器 (abcd)在實(shí)際算法運(yùn)算中保存中間結(jié)果和最終結(jié)果,如圖 6所示。 圖 7 將當(dāng)前 512塊分解為 16個(gè)子塊 步 : 主循環(huán)有四輪,每輪很相似。每一輪的輸入如下 : (a) 16 個(gè)子塊 ; (b)變量 a, b, c, d; (c)常量t,如圖 8 所示。 每一輪有 16 個(gè)輸入子塊 M[0], M[1], ? , M[15],或表示為 M[i],其中i為 1~ 15。 t 是個(gè)常量數(shù)組,包含 64 個(gè)元素,每個(gè)元素為 32 位。由于有四輪,因此每一輪用 64個(gè) t值中的 16個(gè)。每一輪輸出的中間和最終結(jié)果復(fù)制到寄存器 abcd中,注意,每一輪有 16 個(gè)寄存器。 2)變量 a 加進(jìn)第 1 步的輸出 (即寄存器 abcd)。 第 9 頁(yè) 共 23 頁(yè) 4)常量 t[i]加進(jìn)第 3步輸出 (即寄存器 abcd)。 6)變量 b 加進(jìn)第 5 步輸出 (即寄存器 abcd)。 圖 9 和圖 10顯示了 MD5 操作過(guò)程。 F(x,y,z) = (xamp。z) G(x,y,z) = (xamp。(~z)) H(x,y,z) = x^y^z 第 10 頁(yè) 共 23 頁(yè) I(x,y,z) = y^(x|(~z)) (amp。 設(shè) Mi表示消息的第 i個(gè)子分組 (從 0到 15)。至此整個(gè) MD5 算法處理結(jié)束。 2) MD5 在加密和解密技術(shù)上的應(yīng)用 MD5 還廣泛用于加密和解密技術(shù)上。當(dāng)用戶登錄的時(shí)候,系統(tǒng)把用戶輸入的密碼計(jì)算成 MD5 值,然后再去和保存在文件系統(tǒng)中的 MD5 值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。 正是因?yàn)檫@個(gè)原因 , 現(xiàn)在被黑客使用 最多的一種破譯密碼的方法就是一種被稱(chēng)為 “ 跑字典 ” 的方法。我們假設(shè)密碼的最大長(zhǎng)度為 第 13 頁(yè) 共 23 頁(yè) 8個(gè)字節(jié),同時(shí)密碼只能是字母和數(shù)字,共 26+26+10=62 個(gè)字符,排列組合出的字典的項(xiàng)數(shù)則是 P (62, 1) +P (62, 2) +...+p (62, 8),那也已經(jīng)是一個(gè)天文數(shù)字了,存儲(chǔ)這個(gè)字典就需要 TB 級(jí)的磁盤(pán)陣列,而且這種方法還有一個(gè)前提,就是能獲得 目標(biāo)賬戶的密碼 MD5值的情況下才可以。 3) MD5 在注冊(cè)信息中的應(yīng)用 MD5 算法的不可逆性在實(shí)際應(yīng)用中產(chǎn)生什么作用呢。如果輸入源碼后,立即用MD5 加密,把所得密文儲(chǔ)存進(jìn)系統(tǒng)。系統(tǒng)在并不知道用戶密碼的明碼的情況下 就可以確定用戶登錄系統(tǒng)的合法性?,F(xiàn)在大多數(shù)網(wǎng)站的數(shù)據(jù)庫(kù)系統(tǒng)儲(chǔ)存密碼時(shí)都是使用 MD5算法加密。可以用它對(duì)你的郵件保密以防止非授權(quán)者閱讀,它還能對(duì)你的郵件加上數(shù)字簽名從而使收信人可以確信郵件是你發(fā)來(lái)的。 PGP 用 MD5 來(lái)計(jì)算郵件文摘, A 用自己的私鑰將郵件文摘加密,附一加在郵件上,再用 B 的公鑰將整個(gè)郵件加密。這樣兩個(gè)要求都得到了滿足。我們從著重考慮承擔(dān)關(guān)鍵任務(wù)的 UNIX 主機(jī)上文件系統(tǒng)完整性保護(hù)的角度出發(fā),利用 MD5 報(bào)文摘要算法設(shè)計(jì)并實(shí)現(xiàn)了 一個(gè)類(lèi) Tripwire 的文件系統(tǒng)完整性檢查程序 MAFFIC (MD5 Algorithm For File Integrity Checker)。 6) MD5 在數(shù)據(jù)庫(kù)中的應(yīng)用 網(wǎng)站往往將用戶的賬號(hào),密碼等信息使用非加密的方式存到數(shù)據(jù)庫(kù),賬號(hào)使用類(lèi)為 VarChar 的 UserCount 字段,同樣,密碼也是采用 VarChar 的 password字段,但如果采用加密方式存儲(chǔ)密碼信息,就必須改變密碼字段 password 的類(lèi)型為了 6 位二進(jìn)制方式,但 MD5是單 次加密算法,加密以后的信息不可以解密,所以如果用戶丟失密碼,任何人很難找到用戶原來(lái)的密碼。另外采用這樣的加密方式,必須完全修改以前的用戶資料,要求用戶完全重新注冊(cè)。另外,大家比較熟悉的即時(shí)通信軟件 MyIM 也使用 MD5 算法。 3 需求 分析及設(shè)計(jì)方案 設(shè)計(jì)中要求實(shí)現(xiàn)部分功能: MD5 算法函數(shù)庫(kù);數(shù)據(jù)加密;數(shù)據(jù)存儲(chǔ)等,最后將加密
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1