【基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)-以無線傳感器網(wǎng)絡(luò)為例】_第1頁
【基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)-以無線傳感器網(wǎng)絡(luò)為例】_第2頁
【基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)-以無線傳感器網(wǎng)絡(luò)為例】_第3頁
【基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)-以無線傳感器網(wǎng)絡(luò)為例】_第4頁
【基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)-以無線傳感器網(wǎng)絡(luò)為例】_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)—以無線傳感器網(wǎng)絡(luò)為例目錄TOC\o"1-3"\h\u10059一、引言 一、引言(一)研究背景及意義無線傳感器網(wǎng)絡(luò)是由微型傳感節(jié)點進行組合而成的,在我國,對于無線傳感網(wǎng)絡(luò)的使用有很多,但是大多數(shù)都是在網(wǎng)絡(luò)無法覆蓋的地方進行使用。例如,在野外需要網(wǎng)絡(luò)進行工作或者是其他區(qū)域需要進行定位等等方面都對無線傳感網(wǎng)絡(luò)有著大量的使用。但是在應(yīng)用過程當(dāng)中,由于缺乏專業(yè)的管理,很容易遭到攻擊,對網(wǎng)絡(luò)數(shù)據(jù)信息的安全產(chǎn)生很大的威脅,因此,我們對無線傳感網(wǎng)絡(luò)進行網(wǎng)絡(luò)防御工作迫在眉睫。對于無線傳感網(wǎng)絡(luò)當(dāng)中的相關(guān)安全方面的問題,有著大量的人員針對此種情況做出了相應(yīng)的研究方案。但是,目前所公布出來的研究方案當(dāng)中大多都是從網(wǎng)絡(luò)層面出發(fā),在對數(shù)據(jù)的準(zhǔn)確性和完整性上面卻還需要使用其他手段相結(jié)合,才能夠完成。因此,在本文當(dāng)中,通過使用MD5算法所研究出來的網(wǎng)絡(luò)防御技術(shù)當(dāng)中,我們以無線傳感器網(wǎng)絡(luò)來作為例子進行詳細的分析。MD5的使用主要是通過提取摘要,再依照摘要所提取的內(nèi)容進行原信息推算,同時再次提取摘要,將兩次所提取的摘要內(nèi)容進行比對來作為檢驗手段,達到對信息的傳輸具有很大的可靠性,從而,實現(xiàn)了對網(wǎng)絡(luò)防御的安全保護。(二)MD算法研究現(xiàn)狀MD5也就是信息摘要算法,在上世紀(jì)就已經(jīng)得到了開發(fā),是在MD2,MD3和MD4算法的基礎(chǔ)上進行優(yōu)化之后所得到的。原理是通過將需要保存的數(shù)字來進行轉(zhuǎn)化成為文件。也就是說,將數(shù)字轉(zhuǎn)換成為大整數(shù)進行儲存。而MD5相比較于MD2,MD3和MD4來說,雖然在算法和結(jié)構(gòu)上有著很大的相同的部分,但是MD2卻是面對8位計算機所進行計算的設(shè)計,而MD4及MDS卻是面對32位計算機所進行計算的設(shè)計,也是在之前的應(yīng)用基礎(chǔ)上進行的優(yōu)化之后的結(jié)果。然而在進行MD5算法的時候,主要是將輸入的信息進行128bit輸出。1889年MD2算法在被開發(fā)之后,是第一個對信息位數(shù)進行補位并且字節(jié)長度可以被16進行整除,之后再在末尾補充16bit來計算散列值,但是在實際的計算工作當(dāng)中,一旦16bit檢驗和有所遺漏,MD2算法也無法正常進行。1990年MD4算法問世,是在MD2的基礎(chǔ)上進行完善后優(yōu)化之后的作品,兩者之間在算法在填補信息上面是相同的,但是MD4算法在補充上是64bit的二進制,將用戶信息處理成為512bit信息塊,然而在進行實際運行中時卻出現(xiàn)了用戶不同信息加密處理之后卻是相同的結(jié)果,MD4算法也被MD5很快取代。在MD4的基礎(chǔ)上進行優(yōu)化之后得出MD5算法,在計算中將512bit的數(shù)組所需要處理的信息分進行分化成為4個32位信息塊,并且將信息塊之間進行級聯(lián)處置最終成為128bit散列值來對信息進行輸出。二、MD5算法應(yīng)用及安全性(一)MD5算法應(yīng)用1.MD5在電子商務(wù)領(lǐng)域內(nèi)的應(yīng)用在我國對電子商務(wù)的大量運用當(dāng)中,在這其中Account作為其中最為基本的功能,但是在實際運用的過程當(dāng)中,開發(fā)者常常為了更加便捷的管理,將所進行采集的數(shù)據(jù)只是簡單的處理或者干脆直接明文保存,這就使得用戶信息完全暴露在軟件的開發(fā)著和系統(tǒng)后臺管理人員的眼中。2.MD5在加密和解密技術(shù)上的應(yīng)用在進行加密和解密工作的時候,大多都是使用MD5算法。例如,用戶在系統(tǒng)當(dāng)中存儲的密碼經(jīng)過MD5或者是其他的算法進行加密之后,每當(dāng)用戶處于登錄狀態(tài)的時候,系統(tǒng)自動將用戶輸入的密碼進行轉(zhuǎn)換成為MD5數(shù)值之后與之前進行保存的數(shù)值做比較來確定密碼正確與否。在這整個操作流程當(dāng)中,系統(tǒng)對于用戶的密碼是不知情的,同時也能夠避免軟件開發(fā)者或者是后臺管理員了解到用戶的密碼,這能夠?qū)γ艽a被破解增添很多困難。3.MD5在注冊信息中的應(yīng)用MD5算法具有著很強的不可逆性,并且在現(xiàn)實生活當(dāng)中有著很大的作用。例如,在銀行取錢的時候,我們所輸出的密碼是在銀行主機當(dāng)中進行儲存的,很容易被從數(shù)據(jù)庫當(dāng)中竊取。但是當(dāng)其中的源碼使用MD5算法進行加密之后,用戶在取錢的時候輸入的還是自己的源碼,然后系統(tǒng)將MD5密文進行比對驗證,同時系統(tǒng)對于用戶的明碼屬于不知情的狀態(tài),并且由于MD5所存在的的不可逆性,當(dāng)MD5密文被竊取之后也無法獲取源碼,這對于我們的源碼有著很強的保護性。也因此,目前我國的很多的數(shù)據(jù)庫當(dāng)中對于密碼儲存加密都是通過MD5算法進行實現(xiàn)。4.MD5在PGP中的應(yīng)用PGP主要作用于郵件當(dāng)中進行加密,常常是在RSA體系當(dāng)中運用。將郵件進行保密并且可以選擇授權(quán)著才能夠進行閱讀郵件。同時郵件還能夠添加數(shù)字簽名來作為雙向的郵件確認。在這里我們假如,小明想要發(fā)送一封郵件給小紅,在這個時候,系統(tǒng)通過PGP來使用MD5算法將郵件進行摘要計算,此時小明使用密碼將郵件的文摘做加密處理,同時再利用小紅的RSA對整個郵件做加密處理。發(fā)送成功之后,小紅需要使用自己的密碼來對郵件進行解密處理才能夠查閱到小明發(fā)送的郵件內(nèi)容自己所添加的數(shù)字簽名。此時小紅也通過PGP將郵件進行摘要處理之后使用小明的RSA進行解密之后進行比對,結(jié)果認定相同那么就是此郵件位小明郵寄,如果認定結(jié)果不同那么就不是。必須兩個條件同時滿足才能夠確定為是。5.MD5算法在保護文件系統(tǒng)完整性中的應(yīng)用MD5算法在文件系統(tǒng)完整性保護[11]上面的主要內(nèi)容是對于需要進行監(jiān)控的文件在計算之后將數(shù)字指紋進行保留,此時比對數(shù)字指紋和之前進行儲存的數(shù)據(jù)是否相同,如果不同那么可以確認文件的完整性遭到了破壞。然而文件系統(tǒng)完整性檢查程序在數(shù)據(jù)庫放縱運行的時候依照所設(shè)置的內(nèi)容對文件進行數(shù)字指紋的成成和保存。此時,如果有被侵入的跡象則會將文件與數(shù)據(jù)庫當(dāng)中的數(shù)字指紋進行比對,我們可以根據(jù)比對結(jié)果是否一致來進行確認文件是否有更改的行為,進一步確認系統(tǒng)是否收到了襲擊。(二)MD5算法安全性分析我們根據(jù)MD5算法將系統(tǒng)設(shè)置的新口令生成加密函數(shù)存儲到數(shù)據(jù)庫當(dāng)中。當(dāng)進行登錄操作的時候,將輸入的密碼進行MD5計算之后與數(shù)據(jù)庫當(dāng)中存儲的口令進行比對,以此來確認登陸無誤。用戶在系統(tǒng)當(dāng)中存儲的密碼經(jīng)過MD5或者是其他的算法進行加密之后,每當(dāng)用戶處于登錄狀態(tài)的時候,系統(tǒng)自動將用戶輸入的密碼進行轉(zhuǎn)換成為MD5數(shù)值之后與之前進行保存的數(shù)值做比較來確定密碼正確與否。在這整個操作流程當(dāng)中,系統(tǒng)對于用戶的密碼是不知情的,同時也能夠避免軟件開發(fā)者或者是后臺管理員了解到用戶的密碼,這能夠?qū)γ艽a被破解增添很多困難,也提高了用戶的使用安全性。MD5算法具有著很強的不可逆性,并且在現(xiàn)實生活當(dāng)中有著很大的作用。例如,在銀行取錢的時候,我們所輸出的密碼是在銀行主機當(dāng)中進行儲存的,很容易被從數(shù)據(jù)庫當(dāng)中竊取。但是當(dāng)其中的源碼使用MD5算法進行加密之后,用戶在取錢的時候輸入的還是自己的源碼,然后系統(tǒng)將MD5密文進行比對驗證,同時系統(tǒng)對于用戶的明碼屬于不知情的狀態(tài),并且由于MD5所存在的的不可逆性,當(dāng)MD5密文被竊取之后也無法獲取源碼,這對于我們的源碼有著很強的保護性。因此,目前我國的很多的數(shù)據(jù)庫當(dāng)中對于密碼儲存加密都是通過MD5算法進行實現(xiàn)。同時MD5算法在使用過程當(dāng)中對于用戶的基本安全需求能夠得到很大程度上的滿足。三、無線傳感器網(wǎng)絡(luò)的安全問題(一)WSN簡介WSN在對于基礎(chǔ)設(shè)備上的要求非常低,還能夠達到快速進行傳感器節(jié)點上的部署效果,主要作用于對周圍的狀況進行匯報工作,還有著組建靈活的優(yōu)勢。尤其是在大規(guī)模的傳感節(jié)點的布置上能夠形成多跳自主無線網(wǎng)絡(luò)系統(tǒng)來進行無線網(wǎng)絡(luò)通訊。在對周圍的狀況進行監(jiān)控和匯報工作的時候,無線傳感器網(wǎng)絡(luò)與數(shù)量龐大的傳感器節(jié)點進行聯(lián)結(jié),其中傳感器節(jié)點對于檢測地點的環(huán)境各個方面的變化有著一定的感知數(shù)據(jù)處理功能,并且與匯率節(jié)點進行結(jié)合將所監(jiān)測的數(shù)據(jù)傳輸?shù)奖O(jiān)控中心,在此過程當(dāng)中管理節(jié)點主要是通過WSN來發(fā)送指令對眾多的節(jié)點之間進行控制。以此來保證眾多的節(jié)點之間互相結(jié)合的同時保持正常運行。(二)WSN局限性 在實際運行當(dāng)中無線傳感器網(wǎng)的發(fā)展速度非???,這主要是由于無線傳感器網(wǎng)具備著很強的安全性。但是WSN在實際使用當(dāng)中主要是在野外比較惡劣的環(huán)境下,我因此在安全性能上比較差,在數(shù)據(jù)庫當(dāng)中所進行保存的數(shù)據(jù)也有著比較高的風(fēng)險。雖然目前大多利用密鑰技術(shù)和認證服務(wù)來對WSN進行安全保護工作,但是在WSN當(dāng)中由于自身存在的局限性導(dǎo)致其他部分保障網(wǎng)絡(luò)安全的手段無法進行。WSN主要的局限性有以下幾個方面:(1)資源不足:由于WSN在使用過程當(dāng)中主要處于比較惡劣的環(huán)境下,同時WSN在體積上也比較微小,對于傳感器進行配置的時候無法容納更多的物體設(shè)備,尤其是在電能資源當(dāng)中的限制性非常的大。并且在使用當(dāng)中,每一下的行動對于WSN節(jié)點的電能都會有著一定程度的損耗,從而使得WSN當(dāng)中的公鑰算法效果不夠好,具體表現(xiàn)如下。①CPU能力不足:在體積上WSN節(jié)點比較小,在物理設(shè)備裝置上比較有限,CPU也無法安裝具備強勁功能的設(shè)備,這就導(dǎo)致在進行運算的時候?qū)τ贑PU資源有著非常大的占用。②電力不足:由于在實際使用當(dāng)中WSN的眾多節(jié)點都是在野外比較惡劣的環(huán)境當(dāng)中,這就使得在供電方式上選擇電池來進行供電,但是電池能量不足的時候又很難進行更換,所以WSN常常會因為電力不足問題導(dǎo)致使用壽命的減少情況的出現(xiàn)。③內(nèi)存不足:在體積上WSN節(jié)點比較小,在物理設(shè)備裝置上空間也比較有限,就導(dǎo)致在存儲器的安裝上不能夠選擇大空間的,這就導(dǎo)致與其他的電子設(shè)備在存儲量上有著非常大的差距。(2)局部計算與通訊能力不足:在使用分布式無線傳感器的時候,主要是通過節(jié)點進行計算和通信功能,利用節(jié)點與節(jié)點之間的信息傳遞來進行判斷。相比較全局網(wǎng)絡(luò)來說,在各個方面都有著很大的不足。(3大規(guī)模部署困難:在對周圍的狀況進行監(jiān)控和匯報工作的時候,主要是通過無線傳感器網(wǎng)絡(luò)來連接著大量的傳感器節(jié)點以及匯聚節(jié)和管理節(jié)點。其中傳感器節(jié)點對于檢測地點的環(huán)境各個方面的變化有著一定的感知數(shù)據(jù)處理功能,并且與匯率節(jié)點進行結(jié)合將所監(jiān)測的數(shù)據(jù)傳輸?shù)奖O(jiān)控中心,在此過程當(dāng)中管理節(jié)點主要是通過WSN來發(fā)送指令對眾多的節(jié)點之間進行控制。以此來保證眾多的節(jié)點之間互相結(jié)合的同時保持正常運行。需要將各個方面都進行詳盡的考慮,這就導(dǎo)致WSN在大規(guī)模的部署上非常困難。根據(jù)以上分析,我們可以明確得出,在對WSN進行應(yīng)用的過程當(dāng)中,運用摘要算法能夠在很大程度上對數(shù)據(jù)的完整性和可靠性做到非常有效的保護效果。四、基于MD5算法的網(wǎng)絡(luò)防御技術(shù)實現(xiàn)(一)基于MD5無線傳感器網(wǎng)絡(luò)防御技術(shù)加密算法1.認證過程使用MD5算法,對WSN傳輸?shù)臄?shù)據(jù)進行安全認證的過程,如圖3-1所示。發(fā)送節(jié)點發(fā)送節(jié)點待傳輸數(shù)摘要2據(jù)MD5加密摘要1(128位散列值)組合發(fā)送設(shè)備接收節(jié)點MD5加密對比接收數(shù)據(jù)接收設(shè)備摘要2(128位散列值)拆分摘要1(128位散列值)正確、缺失、冗余、篡改圖4-1基于MD5算法的WSN數(shù)據(jù)安全認證流程根據(jù)上圖信息我們可以看出,當(dāng)發(fā)送端進行MD5數(shù)值計算并發(fā)送之后,在接受端會再次計算MD5數(shù)值,然后根據(jù)計算結(jié)果將兩次的MD5數(shù)值做出相應(yīng)的對比,如果結(jié)果存在不同,那么則說明數(shù)據(jù)之中出現(xiàn)了問題,此時可以再次進行數(shù)據(jù)傳輸。2.基于MD5算法的數(shù)據(jù)安全傳輸方法1)數(shù)據(jù)預(yù)處理MD5加密操作是以512比特為單位進行的,因此,在對數(shù)據(jù)進行摘要生成操作之前,首先要對其進行補位操作,使得補位之后的數(shù)據(jù)長度是512比特的整數(shù)倍。設(shè)待加密的數(shù)據(jù)為=[d1,d2,...dN]T (1)其中di=0,1,i=1,2,…,N,表明數(shù)據(jù)長度是Nbits。補位的具體方法是:在數(shù)據(jù)結(jié)尾補1個“1”,以及若干個“0”,直到數(shù)據(jù)長度滿足:Nmod512=448bits (2)即此時N=(K×512+448)bits,其中K為一個自然數(shù)。將K用一個64比特整數(shù)的形式附在數(shù)據(jù)的末尾。這時,數(shù)據(jù)被填補后的總長度為:N=(K×512+448+64)bits=(K+1)×512bits (3)將補位后得到的數(shù)據(jù)d′以512比特為單位進行分段,可以得到K+1個數(shù)據(jù)子段:,,..., (4)2)參數(shù)定義在MD5算法中,需要定義若干初始參數(shù)與函數(shù),用于后續(xù)的變換操作。(1)設(shè)置4個名為鏈接變量(ChainingVariable)的4字節(jié)整型參數(shù)A=0x01234567B=0x89abcdefC=0xfedcba98 (5)D=0x76543210然后,按以下規(guī)則使用鏈接變量對4個新變量進行賦值A(chǔ)→a,B→b,C→c,D→d (6)這樣就得到了8個初始變量A,B,C,D,a,b,c,d。(2)定義4個非線性函數(shù)(X,Y,Z為4字節(jié)整數(shù))F(X,Y,Z)=(X∧Y)∨(X∧Z)G(X,Y,Z)=(X∧Z)∨(Y∧Z)H(X,Y,Z)=XYZ (7)I(X,Y,Z)=Y(jié)(X∨Z)繼續(xù)定義4個分別用于四輪變換的函數(shù)。對于一個512比特的數(shù)據(jù)子段,將其分割為16個子塊Mj(j=0,1,2,…,15);<<<s表示循環(huán)左移s位,則4種操作為FF(a,b,c,d,Mj,s,ti)a=b+((a+F(b,c,d)+Mj+ti)<<<s) (8)GG(a,b,c,d,Mj,s,ti)a=b+((a+G(b,c,d)+Mj+ti)<<<s) (9)HH(a,b,c,d,Mj,s,ti)a=b+((a+H(b,c,d)+Mj+ti)<<<s) (10)II(a,b,c,d,Mj,s,ti)a=b+((a+I(b,c,d)+Mj+ti)<<<s) (11)式中(8)-(11)中的“=”為向左賦值符號。3)基于MD5算法的數(shù)據(jù)加密過程MD5算法主要流程敘述如下:原始數(shù)據(jù)經(jīng)過補位,使得數(shù)據(jù)長度為512bits的整數(shù)倍;然后以512bits長度的數(shù)據(jù)塊為單位循環(huán)處理,每個數(shù)據(jù)塊被劃分為32bits長度的16個子分組,每輪循環(huán)操作16步。通過若干步運算與處理,算法將輸出4組32位長度的散列值,通過級聯(lián)得到128bits長度的數(shù)字簽名。具體步驟如下:這四輪(64步)變換是:第一輪FF(a,b,c,d,M0,7,0xd76aa478),F(xiàn)F(d,a,b,c,M1,12,0xe8c7b756),F(xiàn)F(c,d,a,b,M2,17,0x242070db),F(xiàn)F(b,c,d,a,M3,22,0xc1bdceee),F(xiàn)F(a,b,c,d,M4,7,0xf57c0faf),F(xiàn)F(d,a,b,c,M5,12,0x4787c62a),F(xiàn)F(c,d,a,b,M6,17,0x8304613),F(xiàn)F(b,c,d,a,M7,22,0xfd469501),F(xiàn)F(a,b,c,d,M8,7,0x698098d8),F(xiàn)F(d,a,b,c,M9,12,0x8b44f7af),F(xiàn)F(c,d,a,b,M10,17,0xffff5bb1),F(xiàn)F(b,c,d,a,M11,22,0x895cd7be),F(xiàn)F(a,b,c,d,M12,7,0x6b901122),F(xiàn)F(d,a,b,c,M13,12,0xfd987193),F(xiàn)F(c,d,a,b,M14,17,0x679438e),F(xiàn)F(b,c,d,a,M15,22,0x49b40821)第二輪GG(a,b,c,d,M1,5,0xf61e2562),GG(d,a,b,c,M6,9,0xc040b340),GG(c,d,a,b,M11,14,0x265e5a51),GG(b,c,d,a,M0,20,0xe9b6c7aa),GG(a,b,c,d,M5,5,0xd62f105d),GG(d,a,b,c,M10,9,0x02441453),GG(c,d,a,b,M15,14,d8a1e681),GG(b,c,d,a,M4,20,0xe7d3fbc8),GG(a,b,c,d,M9,5,0x21e1cde6),GG(d,a,b,c,M14,9,0xc33707d6),GG(c,d,a,b,M3,14,0xf4d50d87),GG(b,c,d,a,M8,20,0x455a14ed),GG(a,b,c,d,M13,5,0xa9e3e905),GG(d,a,b,c,M2,9,0xfcefa3f8),GG(c,d,a,b,M7,14,0x676f02d9),GG(b,c,d,a,M12,20,0x8d2a4c8a)第三輪HH(a,b,c,d,M5,4,0xfffa3942),HH(d,a,b,c,M8,11,0x8771f681),HH(c,d,a,b,M11,16,0x6d9d6122)HH(b,c,d,a,M14,23,0xfde5380c),HH(a,b,c,d,M1,4,0xa4beea44),HH(d,a,b,c,M4,11,0x4bdecfa9),HH(c,d,a,b,M7,16,0xf6bb4b60),HH(b,c,d,a,M10,23,0xbebfbc70),HH(a,b,c,d,M13,4,0x289b7ec6),HH(d,a,b,c,M0,11,0xeaa127fa),HH(c,d,a,b,M3,16,0xd4ef3085),HH(b,c,d,a,M6,23,0x04881d05),HH(a,b,c,d,M9,4,0xd9d4d039),HH(d,a,b,c,M12,11,0xe6db99e5),HH(c,d,a,b,M15,16,0x1fa27cf8),HH(b,c,d,a,M2,23,0xc4ac5665)第四輪II(a,b,c,d,M0,6,0xf4292244),II(d,a,b,c,M7,10,0x432aff97),II(c,d,a,b,M14,15,0xab9423a7),II(b,c,d,a,M5,21,0xfc93a039),II(a,b,c,d,M12,6,0x655b59c3),II(d,a,b,c,M3,10,0x8f0ccc92),II(c,d,a,b,M10,15,0xffeff47d),II(b,c,d,a,M1,21,0x85845dd1),II(a,b,c,d,M8,6,0x6fa87e4f),II(d,a,b,c,M15,10,0xfe2ce6e0),II(c,d,a,b,M6,15,0xa3014314),II(b,c,d,a,M13,21,0x4e0811a1),II(a,b,c,d,M4,6,0xf7537e82),II(d,a,b,c,M11,10,0xbd3af235),II(c,d,a,b,M2,15,0x2ad7d2bb),II(b,c,d,a,M9,21,0xeb86d391)第i步中,i的單位是弧度,ti是常量屬于232×|sini|的整數(shù)部分。將一輪64步運算全部完成后,得到的4個值a,b,c,d加到A,B,C,D上去,作為新的鏈接變量值,即:A←A+a,B←B+b,C←C+c,D←D+d。然后使用下一個512bits的數(shù)據(jù)塊重復(fù)上述運算過程,當(dāng)所有數(shù)據(jù)處理完成后,將A,B,C,D按比特流的形式級聯(lián),輸出一個128位的序列,即為所求的MD5摘要值。4)算法偽代碼//說明:所有的變量都是32位無符號整數(shù),并按2^32換模計算int[64]m,nm[0..15]:={8,20,8,24,8,20,8,24,8,20,8,24,8,20,8,24}m[16..31]:={9,16,25,28,9,16,25,28,9,16,25,28,9,16,25,28}m[32..47]:={6,11,18,27,6,11,18,27,6,11,18,27,6,11,18,27}m[48..63]:={8,12,20,24,8,12,20,24,8,12,20,24,8,12,20,24}for(i=0:i<=63:i++)n[i]:=double(abs(sin(i+1))×2^32)//初始化變量:intk0:=0x8659210Aintk1:=0xBC89CE68intk2:=0x63EB72FDintk3:=0xF264DC78//前期處理:appendthebit'1'tothemessageappendthebits'0'wherelengthofmessageinbits≡448(mod512)appendlengthofmessage(beforepre-processing),inbits,as64-bitlittle-endianinteger//在連續(xù)的512位數(shù)據(jù)塊中處理消息breakmessageinto512-bitchunksforeachchunkbreakchunkintosixteen32-bitlittle-endianwordsw[j],0<=j<=15//初始化哈希值:inta:=k0intb:=k1intc:=k2intd:=k3//主循環(huán):for(j=0:j<=63:j++){if(0<=j<=15) {p:=(xandy)or((notx)andz) q:=j}elseif16<=j<=31 {p:=(zandx)or((notz)andy)q:=(5×j+1)mod16}elseif32<=j<=47{p:=xxoryxorzq:=(3×j+5)mod16}elseif48<=j<=63{p:=yxor(xor(notd))q:=(7×j)mod16}temp:=zz:=yy:=xx:=leftrotate((w+p+n[j]+w[q]),r[j])+xw:=temp}//將哈希值添加到結(jié)果中k0:=k0+wk1:=k1+xk2:=k2+yk3:=k3+zEndForEach512-bitchunksintresult:=k0appendk1appendk2appendk3(二)基于MD5算法的網(wǎng)絡(luò)防御技術(shù)仿真實驗通過計算機仿真實驗,將案例數(shù)據(jù)進行MD5加密計算,得出的結(jié)果證明了文中提出的算法是可靠的、有效的。硬件環(huán)境:IntelCorei74710HQ平臺計算機。軟件環(huán)境:EclipseIDEforJavaDevelopers,Version:Neon.1aRelease(4.6.1)。文中采用Java語言實現(xiàn)MD5算法。實驗IMD5算法驗證為證明MD5算法的可靠性和有效性,采用了已知的幾組MD5值數(shù)據(jù)進行實驗,驗證結(jié)果見表1。“待加密信息”列是6條常用的用于驗證MD5算法的數(shù)據(jù),“已知的參考MD5值”列是已知的MD5算法計算結(jié)果,該仿真實驗計算出的MD5值在“計算出的MD5值”列。表3-1MD5算法安全性驗證待加密信息計算出的MD5值已知的參考MD5值(空字符)0xd41d8cd98f00b204e9800998ec8427e0xd41d8cd9800b204e9800998ecf8427ea0x0cc175b9c0flb6a831c399e2697726610x0Occ175b9c0flb6a831c399e269772661abc0x900150983cd24f0d6963fTd28el7f20x900150983cd24f0d6963f7d28el7f72mesagedigest0x96b697d7cb7938d525a2flaafl61d00xf96b697d7cb7938d525a2flaafl61d0abcdefghikmnopqrstivwxyz0xc3fd3d76192e4007dfb496cca67el3b0xc3fcd3d76192e4007df496cca67e13bABCDEFGHIKLMNOPQRSTUVW0xf29939a25efabaefb87e2cbfe6413150xP29939a25efabaef3b87e2cbfe641315以上的MD5值都采用16進制形式列出,輸出均是128位單向散列值。對比可知計算無誤,文中編寫的程序可用于正確地計算MD5值。實驗II算法安全性驗證下面對一條數(shù)據(jù)“GOLDEN_1dot6180339887”進行處理,在數(shù)據(jù)正確、缺失、冗余、篡改的條件下分別計算MD5值,進而驗證算法的安全性,結(jié)果見表3-2。表3-2算法安全性驗證待加密信息MD5值原始數(shù)據(jù)G0LDEN-ldot61803398870x5824064d049b06343ac45bd5fa9031缺失(一位)G0LDENldot61803398870xbcc5438b956fb01295a6095fccf74f5冗余(一位)2G0LDEN-ldo61803398870x15b2f296538d546a8b537993400155a篡改(一位)G0LDEN-ldot61803398890xfb890263al54aea7dla49f399098280f在該實驗中,受攻擊的數(shù)據(jù)均與原數(shù)據(jù)有1位的不同,而計算出的MD5值完全不同。通過收、發(fā)兩端的MD5加密后的數(shù)據(jù)對比驗證數(shù)據(jù)傳輸過程的安全可靠性。五、結(jié)論WSN一般都是在野外環(huán)境比較惡劣的情況下使用,它對于設(shè)備方面的要求比較低,并且在對傳感器部署上面的效率和效果都非常明顯,在組建方面也有著非常明顯的優(yōu)點,在對周圍狀況進行工作匯報的過程當(dāng)中有著很強的便利性。但是也有著非常明顯的缺陷,一方面在電池資源上的消耗無法解決,嚴(yán)重影響WSN的使用壽命,另一方面計算能力不足,對于數(shù)據(jù)的儲存和CPU運行的負擔(dān)比較重,最后在數(shù)據(jù)庫的安全上面也有著很大的風(fēng)險。因此,我們通過MD5計算能夠很大程度的保證數(shù)據(jù)的完整性,并且通過提取摘要和數(shù)據(jù)庫進行比對的方式,在很大程度上提高了網(wǎng)絡(luò)防御的效果,也因此,MD5算法的作用越來越廣泛,在安全性上的功能也基本能夠滿足人們對于信息安全上的需求。參考文獻[1]郭國旭.MD5算法在網(wǎng)絡(luò)電話中的實現(xiàn)[J].河南科學(xué),2021(03):397-398.[2]黃祖健.計算機網(wǎng)絡(luò)安全防御策略及技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(10):173-174.[3]李強,陳登峰.改進MD5加密算法在系統(tǒng)密碼存儲中的研究及應(yīng)用[J].信息記錄材料,2021,22(10):157-159.[4]馮瑞玨,李軒東,楊樹豐,曾獻煜.MD5算法在電力通信中的應(yīng)用[J].電子制作,2021(09):52-53+47.[5]李蒙蒙.網(wǎng)絡(luò)安全分析中大數(shù)據(jù)技術(shù)應(yīng)用分析[J].信息技術(shù)與信息化,2021(04):225-226+229.[6]符安文.計算機網(wǎng)絡(luò)通信安全中數(shù)據(jù)加密技術(shù)的應(yīng)用[J].電腦知識與技術(shù),2020,16(31):62-63+68.[7]王莉.網(wǎng)絡(luò)安全分析中大數(shù)據(jù)技術(shù)應(yīng)用探究[J].電腦編程技巧與維護,2020(10):173-176.[8]張子浩.融合MD5的RC4混合加密算法研究[D].遼寧工程技術(shù)大學(xué),2020.[9]LarryB.deGuzman,ArielM.Sison,RujiP.Medina.Implementatio

溫馨提示

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

評論

0/150

提交評論