加密與數(shù)字簽名的技術(shù)實(shí)訓(xùn)報(bào)告_第1頁
加密與數(shù)字簽名的技術(shù)實(shí)訓(xùn)報(bào)告_第2頁
加密與數(shù)字簽名的技術(shù)實(shí)訓(xùn)報(bào)告_第3頁
加密與數(shù)字簽名的技術(shù)實(shí)訓(xùn)報(bào)告_第4頁
加密與數(shù)字簽名的技術(shù)實(shí)訓(xùn)報(bào)告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 2010-2011第二學(xué)期網(wǎng)絡(luò)安全技術(shù)項(xiàng)目報(bào)告 題目:加密與數(shù)字簽名的技術(shù)應(yīng)用_學(xué)院:_信息科學(xué)與工程學(xué)院_專業(yè):_計(jì)算機(jī)網(wǎng)絡(luò)_ 班級(jí):_09網(wǎng) 二_組別:_二 組_ 學(xué)號(hào):_ 4_姓名:_李棟_ 教師:_鄭加利_ 日期:2011年6月20日 到文件加密或許有人馬上聯(lián)想起Word或Excel等文檔文件的密碼保護(hù)措施,然而我們本章所介紹的“文件加密”絕不是這種密碼保護(hù),而是一種新型的數(shù)字化加密技術(shù),所利用的是加密密鑰。Word或Excel的密碼保護(hù)僅是保證文件在沒有密碼時(shí)不能打開或修改,這個(gè)保護(hù)級(jí)別相對(duì)來說較低,一般這種保護(hù)密碼很容易通過一些專用程序解密。而現(xiàn)在要講的

2、文件加密和數(shù)字簽名,加密后的文件在解密之前會(huì)面目全非,沒有對(duì)應(yīng)的密碼是無法進(jìn)行閱讀的,更別談修改了。這種密碼比起前者所使用的密碼長(zhǎng)許多倍,而且是配對(duì)使用的,據(jù)專家分析用程序解密的可能性幾乎為零,即使能解密,也起碼要10000年。     數(shù)字簽名就是基于加密技術(shù)之上的,其實(shí)本身也是一種加密技術(shù)。它的作用就是用來確定發(fā)送文件或發(fā)送郵件的人是否是真實(shí)的。一 文件加密和數(shù)字簽名的由來和意義加密作為保障數(shù)據(jù)安全的一種方式,不是現(xiàn)在才有的,它產(chǎn)生的歷史相當(dāng)久遠(yuǎn),它的起源要追溯到公元前2000年(幾十個(gè)世紀(jì)了),雖然當(dāng)時(shí)并小是現(xiàn)在我們所講的加密技術(shù)(甚至不叫加密1,但作為一種

3、加密的概念,確實(shí)早在幾十個(gè)世紀(jì)前就誕生了。當(dāng)時(shí)埃及人是最先使用特別的象形文字作為信息編碼的,隨著時(shí)間推移,巴比倫、美索不達(dá)米弧和希臘文明都開始使用一些方法來保護(hù)他們的書面信息。    加密作為保障數(shù)據(jù)安全的一種方式,早就在歷史上發(fā)揮了重要的作用,從遠(yuǎn)古時(shí)代開始,人們就已經(jīng)在采用一種如今稱為“編碼”(Code)的方法用于保護(hù)文字信息。最早影響世界的加密技術(shù)誕生于戰(zhàn)爭(zhēng)年代,由德國(guó)人發(fā)明,用于傳遞攻擊信息;而最早影響世界的解密技術(shù),也誕生于戰(zhàn)爭(zhēng)年代,由英美開發(fā)出來破譯德國(guó)人的攻擊信息。正是戰(zhàn)爭(zhēng)讓加解密技術(shù)不斷改進(jìn)發(fā)展,直到現(xiàn)在,仍然在為信息時(shí)代的數(shù)據(jù)安全而服務(wù)。

4、0;   以前,加密技術(shù)主要應(yīng)用于軍事領(lǐng)域,如美國(guó)獨(dú)立戰(zhàn)爭(zhēng)、美國(guó)內(nèi)戰(zhàn)和兩次世界大戰(zhàn)。最廣為人知的編碼機(jī)器是German Enigma機(jī),在第二次世界大戰(zhàn)中德國(guó)人利用它創(chuàng)建了加密信息。此后,由于Alan Turing和Ultra計(jì)劃以及其他人的努力,終于對(duì)德國(guó)人的密碼進(jìn)行了破解。當(dāng)初,計(jì)算機(jī)的研究就是為了破解德國(guó)人的密碼,人們并沒有想到計(jì)算機(jī)會(huì)給今天帶來的信息革命。隨著計(jì)算機(jī)的發(fā)展,運(yùn)算能力的增強(qiáng),過去的密碼都變得十分簡(jiǎn)單了,于是人們又不斷地研究出了新的數(shù)據(jù)加密方式,如利用ROSA算法產(chǎn)生的私鑰和公鑰就是在這個(gè)基礎(chǔ)上產(chǎn)生的。    文件加密技術(shù)是

5、用來阻止以任何非法獲取方式奪得文件后進(jìn)行閱讀、修改等操作,主要是確保文件在傳輸過程中的安全。盡管非法用戶可能通過各種途徑獲取文件,但如果文件采取了加密方式,那非法用戶即使得到了文件也毫無用處,因?yàn)樗麄兏敬虿婚_,或者打開后是一堆毫無意義的亂碼。文件加密除了可以保護(hù)文件外,還可以為電子商務(wù)往來、文件傳輸和電子郵件發(fā)送提供動(dòng)態(tài)安全保障。    文件加密的基本過程就是對(duì)原來為明文的文件或數(shù)據(jù)按某種算法進(jìn)行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達(dá)到保護(hù)數(shù)據(jù)不被非法用戶竊取、閱讀的目的。該過程的逆過

6、程為解密,即將該編碼信息轉(zhuǎn)化為其原來數(shù)據(jù)的過程。    在互聯(lián)網(wǎng)上進(jìn)行文件傳輸、電子郵件商務(wù)往來存在許多不安全因素,而這種不安全性是互聯(lián)網(wǎng)存在基礎(chǔ)TCPIP協(xié)議所固有的,包括一些基于TCPIP的服務(wù);互聯(lián)網(wǎng)給眾多的商家?guī)砹藷o限的商機(jī),互聯(lián)網(wǎng)把全世界連在了一起,走向互聯(lián)網(wǎng)就意味著走向了世界,這對(duì)于無數(shù)商家無疑是夢(mèng)寐以求的好事,特別是對(duì)于中小企業(yè)。為了解決這一對(duì)矛盾、為了能在安全的基礎(chǔ)上大開這扇通向世界之門,所以選擇了數(shù)據(jù)加密和基于加密技術(shù)的數(shù)字簽名。加密在網(wǎng)絡(luò)上的作用就是防_LE有用或私有化信息被攔截和竊取。一個(gè)簡(jiǎn)單的例子就是密碼的傳輸,計(jì)算機(jī)密碼極為重要,許多安

7、全防護(hù)體系是基于密碼的。通過網(wǎng)絡(luò)進(jìn)行登錄時(shí),所鍵入的密碼以明文的形式被傳輸?shù)椒?wù)器,而網(wǎng)絡(luò)竊聽是一件極為容易的事情,所以很有可能黑客會(huì)竊取用戶的密碼,如果用戶是Root用戶或Administrator用戶,那后果將是極為嚴(yán)重的。密碼的泄露在某種意義上來講意味著其安全體系的全面崩潰。所以現(xiàn)在許多系統(tǒng)的密碼均經(jīng)過了加密系統(tǒng)加密(如本章后面將要介紹的EFS加密系統(tǒng)),這樣就相當(dāng)于多了一重保障。    還有假如某公司在進(jìn)行著某個(gè)招標(biāo)項(xiàng)目的投標(biāo)T作,_T作人員通過電子郵件的方式把標(biāo)書發(fā)給招標(biāo)單位,如果此時(shí)有另一位競(jìng)爭(zhēng)對(duì)手從網(wǎng)絡(luò)上竊取到該公司的標(biāo)書,從中知道該公司投標(biāo)的標(biāo)的,

8、那后果將不堪設(shè)想。    解決上述難題的方案就足加密,加密后的口令即使被黑客獲得也是不可讀的;加密后的標(biāo)書沒有收件人的私鑰也就無法解開,標(biāo)書成為一大堆無任何實(shí)際意義的亂碼??傊瑹o論是單位還是個(gè)人,在某種意義上來說,加密已成為當(dāng)今網(wǎng)絡(luò)社會(huì)進(jìn)行文件或郵件安全傳輸?shù)谋匾胧?#160;   數(shù)字簽名就是基于加密技術(shù)的,它的作用就是用來確定發(fā)送文件或郵件的人是否是真實(shí)的。應(yīng)用最多的還是電子郵件。如當(dāng)用戶收到一封電子郵件時(shí),郵件上面標(biāo)有發(fā)信人的姓名和信箱地址,很多人可能會(huì)簡(jiǎn)單地認(rèn)為發(fā)信人就是信上說明的那個(gè)人,但實(shí)際上偽造一封電子郵件是極為容易的事。在

9、這種情況下,就要用到加密技術(shù)基礎(chǔ)上的數(shù)字簽名,用它來確認(rèn)發(fā)信人身份的真實(shí)性。二 加密與數(shù)字簽名練習(xí)與區(qū)別 加密是用密鑰和一定的加密算法,將加密對(duì)象處理;只有解密后才可取得原文。有的是公開密鑰,有的是公開算法。解密處理足夠復(fù)雜,使得企圖破解者放棄。數(shù)字簽名,就是對(duì)資料處理后,確保資料在傳輸過程中,如果有任何被篡改都會(huì)被識(shí)別。三 文件加密和數(shù)字簽名的應(yīng)用1數(shù)據(jù)傳輸加密技術(shù)    數(shù)據(jù)傳輸加密技術(shù)是對(duì)傳輸中的數(shù)據(jù)流加密,常用的方法有線路加密和端對(duì)端加密兩種。線路加密側(cè)重在線路上而不考慮信源與信宿,是對(duì)保密信息通過各線路采用不同的加密密鑰提供安全保護(hù)。端對(duì)端加密則指信息由

10、發(fā)送者端通過專用的加密軟件,采用某種加密技術(shù)對(duì)所發(fā)送文件進(jìn)行加密,把明文(也即原文)加密成密文(加密后的文件內(nèi)容是一些看不懂的代碼),  然后進(jìn)入TCPIP數(shù)據(jù)包封裝穿過互聯(lián)網(wǎng)。當(dāng)這些信息到達(dá)目的地,將由收件人運(yùn)用相應(yīng)的密鑰進(jìn)行解密,使密文恢復(fù)成為可讀數(shù)據(jù)明文。目前最常用的加密技術(shù)有對(duì)稱加密技術(shù)和非對(duì)稱加密技術(shù),對(duì)稱加密技術(shù)是指同時(shí)運(yùn)用一個(gè)密鑰進(jìn)行加密和解密:非對(duì)稱加密技術(shù)就是加密和解密所用的密鑰不一樣,它有一對(duì)密鑰,稱為“公鑰”和“私鑰”,這兩個(gè)密鑰必須配對(duì)使用,也就是說用公鑰加密的文件必須用相應(yīng)的私鑰才能解密,反之亦然。用非對(duì)稱加密方式進(jìn)行加密的軟件目前最流行的是PGP軟件,具體

11、將在本章后面介紹。2數(shù)據(jù)存儲(chǔ)加密技術(shù)  使用這種加密技術(shù)的目的是防止在存儲(chǔ)環(huán)節(jié)上的數(shù)據(jù)失密,可分為密文存儲(chǔ)和存取控制兩種。密之存儲(chǔ)一般是通過加密法轉(zhuǎn)換、附加密碼、加密模塊等方法實(shí)現(xiàn)。如前面提到的PGP加密軟件,它不僅可以為互聯(lián)網(wǎng)上通信的文件進(jìn)行加密和數(shù)字簽名,還可以對(duì)本地硬盤文件資料進(jìn)行加密,防止非法訪問。這種加密方式不同于Office文檔中的密碼保護(hù),用加密軟件加密的文件在解密前內(nèi)容都會(huì)進(jìn)行f匕碼轉(zhuǎn)換,把原來普通的數(shù)據(jù)轉(zhuǎn)變成一堆看不懂的代碼,這樣就保護(hù)了原文件不被非法閱讀、修改。存取控制則是對(duì)用戶資格、權(quán)限加以審查和限制,防止非法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)。這種技術(shù)主要應(yīng)用

12、于Windows NT核心系統(tǒng)和一些網(wǎng)絡(luò)操作系統(tǒng)中,在系統(tǒng)中可以為不同工作組的用戶賦予相應(yīng)的權(quán)限以達(dá)到保護(hù)重要數(shù)據(jù)不被非法訪問。3數(shù)據(jù)完整性鑒別技術(shù)    數(shù)據(jù)完整性鑒別技術(shù)是對(duì)介入信息的傳送、存取、處理的人的身份和相關(guān)數(shù)據(jù)內(nèi)容進(jìn)行驗(yàn)證,達(dá)到保密的要求。一般包括口令、密鑰、身份、數(shù)據(jù)等項(xiàng)的鑒別,系統(tǒng)通過對(duì)比驗(yàn)證對(duì)象輸入的特征值是否符合預(yù)先設(shè)定的參數(shù),實(shí)現(xiàn)對(duì)數(shù)據(jù)的安全保護(hù)。這種鑒別技術(shù)主要應(yīng)用于大型的數(shù)據(jù)庫管理系統(tǒng)中,因?yàn)橐粋€(gè)單位的數(shù)據(jù)通常是一個(gè)單位的命脈,所以保護(hù)好公司數(shù)據(jù)庫的安全通常是一項(xiàng)非常重要的責(zé)任。數(shù)據(jù)庫系統(tǒng)會(huì)根據(jù)不同用戶設(shè)置不同訪問權(quán)限,并對(duì)其身份及權(quán)限

13、的完整性進(jìn)行嚴(yán)格識(shí)別。4密鑰管理技術(shù)    數(shù)據(jù)的加密技術(shù)通常是運(yùn)用密鑰對(duì)數(shù)據(jù)進(jìn)行加密,這就涉及到了密鑰的管理問題。因?yàn)橛眉用苘浖M(jìn)行加密時(shí)所用的密鑰通常不是我們平常所用的密碼那么簡(jiǎn)單,一般情況這種密鑰達(dá)64bit,有的達(dá)到256bit,因此一一般不可能完全用腦子記住這些密鑰,只能保存在一個(gè)安全的地方,所以這就涉及到了密鑰的管理技術(shù)。密鑰的保存媒體通常有磁卡、磁帶、磁盤、半導(dǎo)體存儲(chǔ)器等,但這些都可能有損壞或丟失的危險(xiǎn),所以現(xiàn)在的主流加密軟件都采取第三方認(rèn)證(這第三方可以是個(gè)人,也可以是公證機(jī)關(guān))或采用隨機(jī)密鑰來彌補(bǔ)人們記憶上的不足,例如PGP加密軟件,而且現(xiàn)在的W

14、indows 2000XPServer 2003系統(tǒng)以及其他一些加密軟件都在慢慢地往這個(gè)方向發(fā)展。四 典型數(shù)據(jù)加密算法要進(jìn)行數(shù)據(jù)加密,就必須采用一定的加密算法。不同的加密算法,安全性也不一樣,當(dāng)然對(duì)用戶在使用加密文件方面的影響也不一樣。在整個(gè)數(shù)據(jù)加密發(fā)展歷程中,加密標(biāo)準(zhǔn)非常之多,最主要有3種:DES、MD5(早先采用MD2、MD3、MD4)、SHA一1(早先采用SHA-0)和RSA加密,但近期有消息報(bào)道,以上4種加密算法中,MD5和SHA一1這兩個(gè)應(yīng)用最廣的加密算法被我國(guó)某大學(xué)教授王小云攻破譯了。當(dāng)然對(duì)于絕大多數(shù)人來說,要破譯采用這些加密算法加密的文件,在目前來說還是不太可能的。所以本節(jié)仍以以

15、上幾種加密算法為例進(jìn)行介紹。    以上這些加密算法可以歸為兩大類,那就是“基于消息摘要的算法”和“對(duì)稱非對(duì)稱密鑰加密算法”,下面分別予以介紹。1基于“消息摘要”的算法消息摘要”(Message Digest)是一種能產(chǎn)生特殊輸出格式的算法。這種加密算法的特點(diǎn)是無論用戶輸入什么長(zhǎng)度的原始數(shù)據(jù),經(jīng)過計(jì)算后輸出的密文都是同定長(zhǎng)度的。這種算法的原理是根據(jù)一定的運(yùn)算規(guī)則對(duì)原數(shù)據(jù)進(jìn)行某種形式的提取,這種提取就是“摘要”,被“摘要”的數(shù)據(jù)內(nèi)容與原數(shù)據(jù)有密切聯(lián)系,只要原數(shù)據(jù)稍有改變,輸出的“摘要”便完全不同,因此基于這種原理的算法能對(duì)數(shù)據(jù)完整性提供較為健全的保障。 但是,由于輸

16、出的密文是提取原數(shù)據(jù)經(jīng)過處理的定長(zhǎng)值,所以它已經(jīng)不能還原為原數(shù)據(jù),即消息摘要算法是“不可逆”的,理論上無法通過反向運(yùn)算取得原數(shù)據(jù)內(nèi)容,因此它通常只能被用來做數(shù)據(jù)完整性驗(yàn)證,而不能作為原數(shù)據(jù)內(nèi)容的加密方案使用,否則誰也無法還原。盡管如此,“消息摘要”算法還是為密碼學(xué)提供了健全的防御體系,因?yàn)檫B專家也無法根據(jù)攔截到的密文還原出原來的密碼內(nèi)容。如今常用的“消息摘要”算法是經(jīng)歷了多年驗(yàn)證發(fā)展而保留下來的強(qiáng)者,包括MD2、MD4、MD5、SHA、SHA1256383512等,其中最廣泛應(yīng)用的是基于MD4發(fā)展而來的MD5和SHAl算法。  1)MD5算法  MDfMessage-Dig

17、est Algorithm,消息摘要算法)5誕生于1991年,在20世紀(jì)90年代初由Mit Laboratory for Computer Science和Rsa Data Security Inc的Ronald l_Rivest開發(fā)出來,經(jīng)MD2、MD3和MD4發(fā)展而來。MD5克服了MD4的缺陷,生成128bit的摘要信息串,出現(xiàn)之后迅速成為主流算法,并在1992年被收錄到RFC中。     不管是MD2、MD4還是MD5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息并產(chǎn)生一個(gè)128位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但MD2的設(shè)計(jì)與MD4和MD5完全不同,那

18、是因?yàn)镸D2是為8位機(jī)器做過設(shè)計(jì)優(yōu)化的,而MD4和MD5卻是面向32位的計(jì)算機(jī)。這三個(gè)算法的描述和C語言源代碼在intemet rfcs 1321中有詳細(xì)的描述(http:wwwietforgJrfcrfcl321txtl,這是一份最權(quán)威的文檔,由Ronald 1Rivest在1992年8月向lEFT提交。    Rivest在1989年開發(fā)出MD2算法。在這個(gè)算法中,首先對(duì)信息進(jìn)行數(shù)據(jù)補(bǔ)位,使信息的字節(jié)長(zhǎng)度是16的倍數(shù)。然后,以一個(gè)16位的檢驗(yàn)和追加到信息末尾。并且根據(jù)這個(gè)新產(chǎn)生的信息計(jì)算出散列值。后來,Rogier和Chauvaud發(fā)現(xiàn)如果忽略了檢驗(yàn)和將產(chǎn)生M

19、D2沖突。使用MD2算法的加密后結(jié)果是唯一的,即沒有重復(fù)。    為了加強(qiáng)算法的安全性,Rivest在1990年又開發(fā)出MD4算法。MD4算法同樣需要填補(bǔ)信息以確保信息的字節(jié)長(zhǎng)度加上448后能被512整除。然后,一個(gè)以64位二進(jìn)制數(shù)表示的信息的最初長(zhǎng)度被添加進(jìn)來。信息被處理成512位damg?rdmerkle迭代結(jié)構(gòu)的區(qū)塊,而且每個(gè)區(qū)塊要通過三個(gè)不同步驟的處理。Den boer和Bosselaers以及其他人很快發(fā)現(xiàn)了MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個(gè)人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突,就這樣,MD4被很快

20、淘汰了。    盡管md4算法在安全上有很大的漏洞,但它對(duì)后來開發(fā)出來的多種信息安全加密算法有著不可忽視的引導(dǎo)作用。除了MD5以外,其中比較有名的還有SHAl、ripe-md以及haval等。    一年以后,即1991年,Rivest開發(fā)出技術(shù)上更為成熟的MD5算法。它在MD4的基礎(chǔ)上增加了“安全一帶子”(safety-belts)的概念。雖然MD5比MD4更為安全。這個(gè)算法很明顯由四個(gè)和MD4設(shè)計(jì)有少許不同的步驟組成。在MD5算法中,消息一摘要的大小和填充的必要條件與MD4完全相同。Den Boer和Bosselaers曾發(fā)現(xiàn)MD

21、5算法中的假?zèng)_突(pseudo-collisions),但除此之外再?zèng)]有發(fā)現(xiàn)其他加密結(jié)果。    MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過了一系列的處理后,算法的輸出由4個(gè)32位分組組成,將這4個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。    在MD5算法中,首先需要對(duì)信息進(jìn)行填充,使其字節(jié)長(zhǎng)度對(duì)512求余的結(jié)果等于448。因此,信息的字節(jié)長(zhǎng)度(bits length)將被擴(kuò)展至n*5 12+448,即n'64+56個(gè)字節(jié)(bytes),n為一個(gè)正整數(shù)。填充的方法如下,在信息的后面填

22、充一個(gè)l和無數(shù)個(gè)0,直到滿足上面的條件時(shí)才停止用O對(duì)信息的填充。然后,在這個(gè)結(jié)果后面附加一個(gè)以64位二進(jìn)制表示的填充前信息長(zhǎng)度。經(jīng)過這兩步的處理,現(xiàn)在的信息字節(jié)長(zhǎng)度=n。512+448+64=(n+1)。512,即長(zhǎng)度恰好是512的整數(shù)倍。這樣做是為了滿足后面處理中對(duì)信息長(zhǎng)度的要求。    MD5中有4個(gè)32位被稱作鏈接變量(chaining variable)的整數(shù)參數(shù),他們分別為:a=0x。b=0x89abcdef,c=0xfedcba98,d=0x。當(dāng)設(shè)置好這四個(gè)鏈接變量后,就開始進(jìn)入算法的四輪循環(huán)運(yùn)算。循環(huán)的次數(shù)是信息中512位信息分組的數(shù)目。 

23、   MD5的典型應(yīng)用是對(duì)一段信息(message)產(chǎn)生信息摘要(message-digest),以防止被篡改。MD5將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的MD5信息摘要。在以后傳播這個(gè)文件的過程中,無論文件的內(nèi)容發(fā)生了任何形式的改變(包括人為修改或者下載過程中線路不穩(wěn)定引起的傳輸錯(cuò)誤等),只要對(duì)這個(gè)文件進(jìn)行MD5計(jì)算就會(huì)發(fā)現(xiàn)信息摘要不相同,由此可以確定得到的只是一個(gè)不正確的文件。如果再有一個(gè)第三方的認(rèn)證機(jī)構(gòu),使用MD5算法還可以防止文件作者的抵賴,這就是所謂的數(shù)字簽名應(yīng)用了。    MD5還廣泛用于加密和

24、解密技術(shù)上。比如在UNIX系統(tǒng)中用戶的密碼就是以MD5算法(或其他類似的算法)經(jīng)加密后存儲(chǔ)在文件系統(tǒng)中。當(dāng)用戶登錄的時(shí)候,系統(tǒng)把用戶輸入的密碼計(jì)算成MD5值,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。  2)SHA1算法  MD5和SHAl都屬于散列(Hash)算法,其作用是可以將不定長(zhǎng)的信息(原文)經(jīng)過處理后得到一個(gè)定長(zhǎng)的摘要信息串,對(duì)同樣的原文用同樣的散列算法

25、進(jìn)行處理,每次得到的信息摘要串相同。Hash算法是單向的,一日數(shù)據(jù)被轉(zhuǎn)換,就無法再以確定的方法獲得其原始值。事實(shí)上,在絕大多數(shù)情況下,原文的長(zhǎng)度都超過摘要信息串的長(zhǎng)度,因此,在散列計(jì)算過程中,原文的信息被部分丟失,這使得原文無法從摘要信息重構(gòu)。散列算法的這種不可逆特征使其很適合被用來確認(rèn)原文(例如公文)的完整性,因而被廣泛用于數(shù)字簽名的場(chǎng)合。    如果對(duì)兩段不同的信息使用相同散列算法,得到的摘要信息相同,則稱之為碰撞,散列算法通常還可以保證碰撞也很難根據(jù)摘要被求出。    SHA(Secure Hash Algorithm,安全哈希

26、算法)誕生于1993年,由美國(guó)國(guó)家安全局(NSA)設(shè)計(jì),之后被美國(guó)標(biāo)準(zhǔn)與技術(shù)研究院(NIST)收錄到美國(guó)的聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS)中,成為美國(guó)國(guó)家標(biāo)準(zhǔn)。SHA(后來被稱作SHA-0)于1995年被SHA一1(RFC3174)替代。SHA一1生成長(zhǎng)度為160bit的摘要信息出,雖然之后又出現(xiàn)了SHA-224、SHA-256、SHA-384和SHA-512等被統(tǒng)稱為“SHA-2”的系列算法,但現(xiàn)在仍以SHA一1為主流算法。    MD5和SHA一1是當(dāng)前應(yīng)用最為廣泛的兩種敞列算法。F臼于MD5與SHA1均是從MD4發(fā)展fm來,它們的結(jié)構(gòu)和強(qiáng)度等特性有很多相似之處,

27、SHA一1與MD5的最大區(qū)別在于其摘要比MD5摘要長(zhǎng)32比特。對(duì)于強(qiáng)行攻擊,產(chǎn)生任何一個(gè)報(bào)文使之摘要等于給定報(bào)文摘要的難度:MD5是2比。數(shù)量級(jí)的操作,SHAl是2160數(shù)量級(jí)的操作。產(chǎn)生具有相同摘要的兩個(gè)報(bào)文的難度:MD5是204是數(shù)革級(jí)的操作,SHA1是2so數(shù)量級(jí)的操作。因而,SHAl對(duì)強(qiáng)行攻擊的強(qiáng)度更大。但h于SHA1的循環(huán)步驟比MD5多(80:64)且要處理的緩存大(160比特:128比特),SHAl的運(yùn)行速度比MD5慢。常見的Unix系統(tǒng)口令以及多數(shù)論壇社區(qū)系統(tǒng)的口令都是經(jīng)MD5處理后保存其摘要信息串,在互聯(lián)lxxJ上,很多文件在開放下載的同時(shí)都提供一個(gè)MD5的信息摘要,使下載方(

28、通過MD5摘要計(jì)算)能夠確認(rèn)所下載的文件與原文件一致,以此來防止文件被篡改。    MD5和SHAl還常被用來與公鑰技術(shù)結(jié)合創(chuàng)建數(shù)字簽名。當(dāng)前幾乎所有主要的信息安全協(xié)議中都使用了SHA1或MD5,包括SSL(HTTPS就是SSL的一種應(yīng)用)、TLS、PGP、SSH、SMIME和1PSec,岡此可以說SHAl和MD5是當(dāng)前信息安全的重要基礎(chǔ)之一。    不過,從技術(shù)上講MD5和SHA1的碰撞町在短時(shí)問內(nèi)被求解出并不意味著兩種算法完全失效。例如,對(duì)于公文的數(shù)字簽名來說,尋找到碰撞與尋找到有特定含義的碰撞之間仍有很大的差距,而后者才會(huì)使偽造

29、數(shù)寧公文成為現(xiàn)實(shí)。但無論如何,近期國(guó)內(nèi)土小云教授所掌握的方法已經(jīng)為始時(shí)間內(nèi)尋找劍MD5或SHA一1的碰撞成為可能,從理論上來講目前普遍采用的MD5或SHAl算法很難成為現(xiàn)在的文件加密和數(shù)字簽名算法依據(jù),但是由于到目前為止還沒有找到種比MD5和SHA一1算法更難破解的算法,所以在2005年的4月l號(hào),我國(guó)還是正式批準(zhǔn)了采用這種算法的電子簽名法。2“對(duì)稱/非對(duì)稱密鑰”加密算法由于“摘要”算法加密的數(shù)據(jù)儀僅能作為一種身份驗(yàn)證的憑據(jù)使用,如果要對(duì)整個(gè)文檔數(shù)據(jù)進(jìn)行加密,就不能采用這種“不可逆”的算法了,兇此“密鑰”算法(Key Encoding)的概念被提出。此類算法通過一個(gè)被稱為“密鑰”的憑據(jù)進(jìn)行數(shù)據(jù)

30、加密處理,接收方通過加密時(shí)使用的“密鑰”字符串進(jìn)行解密,即雙辦持有的“密鑰”相同(對(duì)稱)。如果接收方不能提供正確的“密鑰”,解密出來的就不是原來的數(shù)據(jù)了。    以下是“對(duì)稱密鑰”的概念,“非對(duì)稱密鑰”就是加密和解密文件的密鑰不一樣。用于加密的是“公鑰”(Public Key),而用于解密的是“私鑰”(Private Key),公鑰是可以公開的,而私鑰則不能公丌。這種算法規(guī)定,對(duì)方發(fā)送數(shù)據(jù)前,可以用“公鑰”加密,但是這個(gè)“公鑰”也無法解開它自己加密的數(shù)據(jù),即加密過程是單向的,這樣即使數(shù)據(jù)在途中被攔截,入侵者也無法對(duì)其進(jìn)行破解。當(dāng)文件劍達(dá)后,可以用“私鑰”解密,而且

31、只有對(duì)應(yīng)的私鑰才可以解密相應(yīng)用戶的公鑰加密的文件。這就是“非對(duì)稱密鑰”加密算法,也稱為“公共密鑰算法”,這兩者均建市在PKI(公鑰基礎(chǔ)設(shè)施)驗(yàn)證體系結(jié)構(gòu)上。    基于“對(duì)稱密鑰”的加密算法有DES、TripleDES、RC2、RC4、RC5和Blowfish等;基于“非對(duì)稱常鑰”的加密算法有RSA、Diffie-Hellman等。    1)DES算法    DES(Data Encryption Standard,數(shù)據(jù)加密標(biāo)準(zhǔn))是最早、最著名的保密密鑰或?qū)ΨQ密鑰加密算法,它是由IBM公司在70年代發(fā)展起來的,美

32、國(guó)國(guó)家標(biāo)準(zhǔn)局于1977年公布把它作為非機(jī)要部門使用的數(shù)據(jù)加密標(biāo)準(zhǔn),20年來,它一直活躍在國(guó)際保密通信的舞臺(tái)上,扮演了十分重要的角色。    目前在國(guó)內(nèi),隨著三金工程尤其是金卡工程的啟動(dòng),DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收費(fèi)站等領(lǐng)域被廣泛應(yīng)用,以此來實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的保密,如信用卡持卡人的PIN(個(gè)人身份識(shí)別碼)的加密傳輸,IC卡與POS(計(jì)算機(jī)交易系統(tǒng))間的雙向認(rèn)證、金融交易數(shù)據(jù)包的MAC(媒體訪問控制)校驗(yàn)等,均用到DES算法。    DES是一個(gè)分組加密算法,它以64位為分組對(duì)數(shù)據(jù)加密。同時(shí)DES也

33、是一個(gè)對(duì)稱算法:加密和解密用的是同一個(gè)算法。它的密匙長(zhǎng)度是56位(因?yàn)槊總€(gè)第8位都用作奇偶校驗(yàn)),密匙可以是任意的56位數(shù),而且可以在任意時(shí)候改變。其中有極少量的數(shù)被認(rèn)為是弱密匙,但是很容易避開他們,所以其保密性依賴于密鑰。DES算法具有極高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法。而56位長(zhǎng)的密鑰的窮舉空問為256,這意味著如果一臺(tái)計(jì)算機(jī)每一秒鐘檢測(cè)一百萬個(gè)密鑰,則它搜索完全部密鑰就需要將近2285年的時(shí)間,可見這是難以實(shí)現(xiàn)的。當(dāng)然,隨著科學(xué)技術(shù)的發(fā)展,當(dāng)出現(xiàn)超高速計(jì)算機(jī)后,還可考慮把DES密鑰的長(zhǎng)度再增長(zhǎng)一些,以此來達(dá)到更高的保密程度。 

34、   DES算法的入口參數(shù)有三個(gè):Key、Data、Mode。其中Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰:Data也為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。如Mode為加密,則用Key去把數(shù)據(jù)Data進(jìn)行加密,生成Data的密碼形式f64位)作為DES的輸出結(jié)果;如Mode為解密,則用Key去把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果。在通信網(wǎng)絡(luò)的兩端,雙方約定一致的Key,在通信的源點(diǎn)用Key對(duì)核心數(shù)據(jù)進(jìn)行DES加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)

35、絡(luò)的終點(diǎn),數(shù)據(jù)到達(dá)目的地后,用同樣的Key對(duì)密碼數(shù)據(jù)進(jìn)行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。這樣,便保證了核心數(shù)據(jù)(如PIN、MAC等)在公共通信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過定期在通信網(wǎng)絡(luò)的源端和目的端同時(shí)改用新的Key,便能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)的流行做法。    DES算法的工作原理為:DES對(duì)一個(gè)64位的明文分組M進(jìn)行加密操作,M經(jīng)過一個(gè)初始置換IP,置換成mO,將mO明文分成左半部分和右半部分mO=(L0,R0),各32位長(zhǎng)。然后進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù)f在運(yùn)算過程中數(shù)據(jù)與密匙結(jié)合。經(jīng)過16輪后,左、右半部分合

36、在一起經(jīng)過一個(gè)末置換,這樣就完成了。在每一輪中,密匙位移位,然后再從密匙的56位中選出48位。通過一個(gè)擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過一個(gè)異或操作替代成新的32位數(shù)據(jù),在將其置換一次。這四步運(yùn)算構(gòu)成了函數(shù)f。然后,通過另一個(gè)異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重復(fù)16次,就實(shí)現(xiàn)了。    DES加密和解密唯一的不同是密匙的次序相反。如果各輪加密密匙分別是K1、K2、K3K16那么解密密匙就是K16、K15、K14K1。1)       RC算法  RC系列算法是大名鼎鼎的RSA(Rivest,Shamir,Adleman)三人設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法,其中最流行的是RC4算法,RC系列算法可以使用2048位的密鑰,該算法的速度可以達(dá)到DES加密的10倍左右。   

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論