MD5算法的研究與實現(xiàn)-數(shù)據(jù)存儲加密_第1頁
MD5算法的研究與實現(xiàn)-數(shù)據(jù)存儲加密_第2頁
MD5算法的研究與實現(xiàn)-數(shù)據(jù)存儲加密_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1

MD5算法研與實現(xiàn)-數(shù)存儲密引言隨著網(wǎng)絡通信技術(shù)和Internet的聯(lián)系日益增強,出現(xiàn)了一系列與網(wǎng)絡安全相關的問題:如對主機的攻擊,網(wǎng)絡上傳輸?shù)男畔⒈唤厝 ⒋鄹?、重發(fā)等,由此,它對網(wǎng)絡應用的進一步推廣構(gòu)成了巨大威脅,因此密碼體制[1]

就在這種背景下應運而生了。存儲加密涉及大量文件、資料、新建等文檔處理,需要高效,可靠的進行各種信息交換,同時對信息流轉(zhuǎn)的整個過程需要有效的組織和監(jiān)控。對數(shù)據(jù)的安全存儲和安全傳輸具有較高的要求。數(shù)據(jù)加密技術(shù)不僅具有保證信息機密性的信息加密功能,而且具有數(shù)字簽名、秘密分存、系統(tǒng)安全等性能。因而可以保障信息的機密性、完整性和準確性,防止信息被篡改、偽造和假冒[2]

。雖然目前已有很多加密技術(shù)應用于各個領域,但是存在加密強度、運算量大等缺陷,因而本文提出了一種新的加密機制—MD5加密。同時,在競爭日趨激烈的今天,只有實行對數(shù)據(jù)加密的加強管理,建設性提高信息安全在網(wǎng)絡中的地位,以至在競爭中求生存,以期更好地發(fā)展下去。1.1

研究現(xiàn)狀MD5的全稱[3]

是Message-Digestalgorithm5(信息--摘要算法),MD5是一種不可逆的算法,即對生成的密文求逆,對應著無窮多個逆。在90年代初由MITLaboratoryforComputerScience(IT計算機科學實驗室)和RSADataSecurityInc(RSA數(shù)據(jù)安全公司的RonaldL.Rivest開發(fā)出來,經(jīng)MD2,MD3MD4發(fā)展而來。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式把一個任意長度的字節(jié)串變換成一定長的大整數(shù)。不管是MD2,MD4還是MD5,它們都需要獲得一個隨機長度的信息,并產(chǎn)生一個位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但是MD2的設計與和MD5完全不同,是因為MD2是為8位機器做過設計優(yōu)化的,而MD4MD5卻是面向32位的電腦。Rivest在1989年開發(fā)出MD2算法,在這個算法中,首先對信息進行數(shù)據(jù)補位,使信息的字節(jié)長度是16的倍數(shù),然后,以一個位的檢驗和追加到信息末尾,并且根據(jù)這個新產(chǎn)生的信息計算出散列值。后來,和發(fā)現(xiàn),如果忽略了檢驗和,那樣就將產(chǎn)生MD2突。MD2算法的加密后結(jié)果是唯一的---即沒有重復。為了加強算法的安全性,Rivest在1990年又開發(fā)出MD4算法。MD4算法同樣需要填補信息以確保信息的字節(jié)長度加上能被512整除(信息字節(jié)長度mod512=448。然后,一個以64位二進制表示的信息的最初長度被添加進來。信息被處理成512位迭代結(jié)構(gòu)的區(qū)塊,而且每個區(qū)塊要通過三個不同步驟的處理。DenBoer和Bosselaers以及其他人很快的發(fā)現(xiàn)了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin大家演示了如何利用一部普通的個人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導致對不同的內(nèi)容進行加密卻可能得到相同的加密后結(jié)果,毫無疑問,MD4就此被淘汰掉了。一年以后,即1991年,Rivest開發(fā)出技術(shù)上更為趨近成熟的MD5算法。它在MD4的基礎上增加了“安全-帶子”(safety-belts)的概念。雖然MD5比MD4稍微慢一些,但卻更為安全。這個算法很明顯的由四個和MD4設計有少許不同的步驟組成。在算法中,信息--要的大小和填充的必要條件與MD4完全相同。DenBoer和Bosselaers曾發(fā)現(xiàn)算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發(fā)現(xiàn)的加密后結(jié)果了。VanOorschot和Wiener曾經(jīng)考慮過一個在散列中暴力搜尋沖突的函數(shù)(brute-forcehashfunction),而且他們猜測一個被設計專門用來搜索MD5沖

突的機器可以平均每24天就找到一個沖突,但單從年到2001年這10年間,竟沒有出現(xiàn)替代MD5算法的新算法,我們可以看出這個瑕疵并沒有太多的影響MD5的安全性。而所有這些都不足以成為在實際應用中的問題,并且由于MD5算法的使用不需要支付任何版權(quán)費用,所以在一般的情況下,可以算是比較安全的了。1.2

選題意義隨著網(wǎng)絡技術(shù)的廣泛應用,網(wǎng)絡信息安全越來越引起人們的重視。最初的計算機應用程序通常沒有或很少有安全性,那是因為當時的系統(tǒng)是專屬和封閉的,簡單地說,計算機之間雖然也交換數(shù)據(jù)和信息,但形成的網(wǎng)絡完全在組織控制之下。在那個時候,計算機之間通信的協(xié)議也是不公開的,因此,別人很難訪問交換的信息。同時,因為當時信息安全并不是個重要問題,所以導致了很多人都忽略了數(shù)據(jù)的安全性,直到后來人們真正的認識和了解到數(shù)據(jù)的重要性。而選該畢業(yè)設計,主要是針對數(shù)據(jù)在存儲的時候存在大量的安全問題,并且在現(xiàn)有加密算法基礎上,提出了一種數(shù)據(jù)存儲加密策略。同時,針對算法而進行進一步的了解和研究。1.3

選題背景現(xiàn)階段,信息安全性已成為全社會共同關心問題,密碼學研究也越來越被人們所關注。密碼學主要研究的是通訊保密。近年來,密碼學研究之所以十分活躍,主要原因是它與計算機科學的蓬勃發(fā)展息息相關。由于公共和私人部門的一些機構(gòu)越來越多的應用電子數(shù)據(jù)處理,將數(shù)據(jù)存儲在數(shù)據(jù)庫中,因此防止非法泄露,刪除,修改等是必須重視的問題。對數(shù)據(jù)進行加密能夠防止他人盜取需要保密的信息,但這只是解決了一方面的問題,至于如何防止他人對重要數(shù)據(jù)進行破壞,如何確定交易者的身份,以及如何防止日后發(fā)生糾紛時交易者抵賴,還需要采取其它的手段,這一手段就是數(shù)字簽名。數(shù)字簽名技術(shù)實際上是在數(shù)據(jù)加密技術(shù)基礎上的一種延伸應用。數(shù)字簽名經(jīng)常和單向散列(Hash)函數(shù)一起使用,而單向散列Hash)函數(shù)是現(xiàn)代密碼學的核心。最常見的散列算法有MD5,SHA和,MD5是當今非常流行的優(yōu)秀的典型Hash加密技術(shù)。本畢業(yè)設計主要是對MD5算法進行研究,并在此基礎上編程實現(xiàn)MD5算法函數(shù),并實現(xiàn)封裝;開發(fā)一個簡單的數(shù)據(jù)存儲程序驗證算法的正確性和可用性。2

相關理論基礎2.1

單向散列函數(shù)單向散列函數(shù)[稱Hash(哈希函數(shù)。它是現(xiàn)代密碼學的核心。散列函數(shù)一直在計算機科學中使用,散列函數(shù)就是把可變的輸入長度串轉(zhuǎn)換成固定長度輸出值(叫做散列值)的一種函數(shù)。而單向散列函數(shù)是在一個方向上工作的散列函數(shù),從預映射的值很容易計算出它的散列值,但要使它的散列值等于一個特殊值卻很難。散列函數(shù)是公開的,對處理過程并不保密,單向散列函數(shù)的安全性是它的單向性,其輸出不依賴于輸入。平均而言,預映射值的單個位的改變,將引起散列值中一半位的改變。已知一個散列值,要找到預映射的值,使它的值等于已知的散列值在計算上是不可行的,可把單向散列函數(shù)看作是構(gòu)成指紋文件的一種方法。如果你驗證某人持有一個特定的文件你同時也持有該文件),但你不想他將文件傳給你,那么,就要通知他將該文件的散列值傳給你,如果他傳送的散列值是正確的,那么可以肯定他持有那份文件。目錄論文總頁數(shù):23頁1引言11.1研究現(xiàn)狀11.2選題意義21.3選題背景22相關理論基礎32.1單向散列函數(shù)32.1.1單向散列函數(shù)的基本原理32.1.2散列值的長度42.2MD5算法的基本原理42.3MD5的應用123需求分析及設計方案143.1主要功能模塊143.1.1數(shù)據(jù)加密143.1.2數(shù)據(jù)存儲143.1.3數(shù)據(jù)庫設計143.2主要流程圖154MD5算法的DLL封裝154.1加載時動態(tài)鏈接16

4.2運行時動態(tài)鏈接164.3DLL封裝情況165具體設計流程及實現(xiàn)175.1讀取的設計和實現(xiàn)175.2插入的設計和實現(xiàn)185.3修改的設計和實現(xiàn)185.4刪除的設計和實現(xiàn)196調(diào)試與分析196.1概述196.2測試分析報告20結(jié)論20參考文獻21致謝22聲明23參考文獻[1]楊義先,林曉東信息安全綜論[M].北京:電信科學出版社,1998。[2]楊明,齊望東.密碼編碼學與網(wǎng)絡安全[M].北京:電子工業(yè)出版社,。[3]彭文波.MD5算法原理及應用[EB/OL].中國知網(wǎng)1999.2。[4]桑海,李建寶.加密算法MD5的研究與應用[EB/O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論