數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用_第1頁
數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用_第2頁
數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用_第3頁
數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用_第4頁
數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

論文題目:數(shù)據(jù)加密技術(shù)設(shè)計(jì)與應(yīng)用摘要在競(jìng)爭激烈信息時(shí)代,信息不但給我們帶來很大方便,一樣,信息也能夠用來對(duì)他們組成威脅、造成破壞。所以,在客觀上就需要一個(gè)強(qiáng)有力安全方法來保護(hù)機(jī)密數(shù)據(jù)不被竊取或篡改,數(shù)據(jù)加密技術(shù)就應(yīng)運(yùn)而生。所謂數(shù)據(jù)加密技術(shù)是指將一個(gè)信息經(jīng)過加密鑰匙及加密函數(shù)轉(zhuǎn)換,變成無意義密文,而接收方則將此密文經(jīng)過解密函數(shù)、解密鑰匙還原成明文。加密技術(shù)是網(wǎng)絡(luò)安全技術(shù)基石。所謂加密,就是把數(shù)據(jù)信息即明文轉(zhuǎn)換為不可辨識(shí)形式即密文過程,目標(biāo)是使不應(yīng)了解該數(shù)據(jù)信息人不能夠知道和識(shí)別。將密文轉(zhuǎn)變?yōu)槊魑倪^程就是解密。加密和解密過程形成加密系統(tǒng),明文與密文統(tǒng)稱為報(bào)文。任何加密系統(tǒng),不論形式怎樣復(fù)雜,實(shí)現(xiàn)算法怎樣不一樣,但其基本組成部分是相同。本文是一篇討論關(guān)于慣用文件加密解密算法畢業(yè)設(shè)計(jì)論文,它詳細(xì)講述了文件加密解密算法實(shí)現(xiàn)過程中所用到方法、技術(shù)。對(duì)公鑰密碼體制和私鑰密碼體制進(jìn)行了分析和研究,并對(duì)公鑰密碼體制和私鑰密碼體制代表RSA算法和DES算法進(jìn)行了研究和比較。關(guān)鍵詞解密文件加密密碼體制DESRSAAbstractInthefiercecompetitionintheinformationage,informationnotonlybringusalotofconvenience,thesame,theinformationcanalsobeusedtoposeathreat,theycausedamage.Therefore,inwhichtheyneedastrongsecuritymeasurestoprotectconfidentialdataisnottheftorfalsified,dataencryptiontechnologyismade.Theso-calleddataencryptiontechnologyreferstoaninformationencryptedkeyandencryptionfunctionconversion,becomemeaninglessciphertext,andreceivingpartywilltheciphertextafterdecryptionfunction,decryptionkeyreductionintoplaintext.Encryptiontechnologyisthefoundationofnetworksecuritytechnology.Theso-calledencryption,dataistheinformationthatisnotexpresslyconvertedtotheformofidentificationisciphertextprocess,thepurposeistomakeshouldnotunderstandthedatainformationofpeoplecan'tknowandidentification.Willciphertextintoplaintextprocessisdecryption.Encryptionanddecryptionprocessformsencryptionsystem,plaintextandciphertextcollectivelyreferredtoasmessage.Anyencryptionsystem,nomatterhowcomplexform,thealgorithmisrealizedhowdifferent,butthebasiccomponentisthesame.Thispaperisadiscussionaboutthecommonfileencryptiondecryptionalgorithmgraduationdesignpaper,itdetailedtellsthestoryoffileencryptiondecryptionalgorithmusedintheprocessofthemethodandtechnology.Topublickeycryptosystemsandprivatekeyciphersystemwereanalyzedandinvestigated,andthepublickeycryptosystemandtheprivatekeyciphersystemonbehalfoftheRSAalgorithmandDESalgorithmarestudiedandcompared.KEYWORDecryptionFileencryptionThepasswordsystemDESRSA目錄TOC\o"1-4"\h\z第一章緒言1第二章需求分析1第一節(jié)概述 1第二節(jié)密碼學(xué)發(fā)展 2第三節(jié)文件機(jī)密解密中密碼體制研究 4第三章分組加密解密算法5第一節(jié)DES算法 5第二節(jié)RSA算法 6第三節(jié)工作原理 6第四節(jié)DES算法實(shí)例演示 10第五節(jié)測(cè)試分析 15結(jié)束語 16謝辭 17參考文件 18第一章緒言信息安全是一個(gè)綜合性交叉學(xué)科領(lǐng)域,廣泛包括數(shù)學(xué)、密碼學(xué)、計(jì)算機(jī)、通信、控制、人工智能、安全工程、人文科學(xué)等很多學(xué)科,是近幾年快速發(fā)展一個(gè)熱點(diǎn)學(xué)科領(lǐng)域。信息反抗和網(wǎng)絡(luò)安全是信息安全關(guān)鍵熱點(diǎn),它研究和發(fā)展又將刺激、推進(jìn)和促進(jìn)相關(guān)學(xué)科研究與發(fā)展。至今,密碼技術(shù)是取得信息安全性最有效一個(gè)方法,密碼技術(shù)是信息安全關(guān)鍵技術(shù)。經(jīng)過數(shù)據(jù)加密,人們能夠有效地確保通信線路上內(nèi)容不被泄露,而且還能夠檢驗(yàn)傳送信息完整性。深入,密碼技術(shù)能夠應(yīng)用于數(shù)字署名、身份認(rèn)證和信息判定,這些應(yīng)用對(duì)于資源存取控制以及其它安全方法是必須而且有效。信息安全產(chǎn)品從應(yīng)用類型上能夠分為防火墻類產(chǎn)品、防病毒類產(chǎn)品、防攻擊類產(chǎn)品、密碼類產(chǎn)品、認(rèn)證類產(chǎn)品和訪問控制類產(chǎn)品。相對(duì)于防病毒軟件和防火墻軟件來說,基于密碼技術(shù)密碼類產(chǎn)品、認(rèn)證類產(chǎn)品份額相對(duì)較小,但伴隨金融、電信、政府等行業(yè)信息化建設(shè)對(duì)于網(wǎng)絡(luò)安全整體處理方案需求增加,將會(huì)有較大增加。在此次畢業(yè)設(shè)計(jì)中,對(duì)公鑰密碼體制和私鑰密碼體制進(jìn)行了分析和研究,并對(duì)公鑰密碼體制和私鑰密碼體制代表RSA算法和DES算法進(jìn)行了研究和比較。而且實(shí)現(xiàn)了基本文件加密解密處理流程,能提供對(duì)文件安全、有效保護(hù)。第二章需求分析第一節(jié)概述信息是一個(gè)資源,也是一個(gè)財(cái)富。在當(dāng)代社會(huì)中,信息處理和通信技術(shù)日益發(fā)展,保護(hù)信息安全,尤其是保護(hù)主要信息安全,越來越成受到國內(nèi)外關(guān)于研究人員極大重視。當(dāng)前因?yàn)樾畔⒈Wo(hù)不利和失誤,世界各國遭受損失是巨大?,F(xiàn)在,國際互聯(lián)網(wǎng)上各站點(diǎn),幾乎都有各種各樣安全方法,比如防火墻(FireWall)、網(wǎng)絡(luò)加密、加密狗等。不過,這些都是系統(tǒng)或網(wǎng)站層次安全設(shè)施。對(duì)于廣大用戶來說,更為直接、也更為有效方法,就是使用信息加密技術(shù)。加密技術(shù)是一門實(shí)用技術(shù),有著悠久歷史。過去,加密技術(shù)僅被軍事和謀報(bào)人員以及一些大型商業(yè)企業(yè)所采取,應(yīng)用范圍十分有限。加密學(xué)也是一門與數(shù)學(xué)關(guān)于深?yuàn)W科學(xué),有能力研究加密學(xué)人為數(shù)不多??峙逻@也是它鮮為人知、較少應(yīng)用原因。信息安全內(nèi)容主要包含五個(gè)部分:信息保密性、信息完整性、信息可用性、信息可控性、信息不可否定性。密碼技術(shù)是確保信息安全關(guān)鍵。第二節(jié)密碼學(xué)發(fā)展認(rèn)證過程中,用戶必須向系統(tǒng)提供能夠證實(shí)自己身份信息,證實(shí)用戶身份信息種類很多,能夠是用戶所知道秘密(口令),也能夠是生物特征(如指紋)等,但現(xiàn)在使用最廣泛依然是用戶口令(password)。在認(rèn)證系統(tǒng)中口令占據(jù)了非常主要地位,所以對(duì)口令保護(hù)就變得至關(guān)主要。人們提出了許多保護(hù)口令方法,力圖保障口令安全與秘密。這些保護(hù)認(rèn)證信息方法以及認(rèn)證系統(tǒng)是伴隨密碼學(xué)發(fā)展一起發(fā)展,密碼學(xué)為我們提供了保護(hù)口令一個(gè)主要方向。歸根結(jié)底,用戶用以證實(shí)自己身份是一段信息,不論它是口令還是指紋。而迄今為止,確保信息安全最主要伎倆是加密。對(duì)信息加密、解密、信息保密傳輸,這正是密碼學(xué)研究內(nèi)容。密碼學(xué)泛指一切關(guān)于研究密碼通信學(xué)問,其中包含下面兩個(gè)領(lǐng)域:怎樣達(dá)成秘密通信,以及怎樣破譯秘密通信。也就是密碼編碼學(xué):指怎樣達(dá)成信息秘密性,判別性科學(xué);密碼分析學(xué):泛指怎樣破解密碼系統(tǒng),或偽造信息使密碼系統(tǒng)誤認(rèn)為真科學(xué)。從密碼學(xué)發(fā)展來看,它經(jīng)歷了傳統(tǒng)(古典)密碼學(xué)、近代密碼學(xué)、當(dāng)代密碼學(xué)幾個(gè)階段,計(jì)算機(jī)、數(shù)學(xué)領(lǐng)域最新結(jié)果往往與密碼學(xué)關(guān)于或被應(yīng)用于密碼學(xué)研究中。傳統(tǒng)密碼學(xué)、近代密碼學(xué)發(fā)展

密碼學(xué)擁有悠久、豐富多彩歷史。作為古典密碼其中一個(gè),早期出現(xiàn)密寫術(shù)形式只需要紙和筆就能夠完成。古典密碼學(xué)兩大范圍是將消息內(nèi)容進(jìn)行重新排列位移密碼和系統(tǒng)地將字母進(jìn)行替換替換密碼。古典密碼學(xué)會(huì)透露出與明文統(tǒng)計(jì)學(xué)結(jié)果相關(guān)大量信息,所以輕易被破解,如對(duì)頻率分析能夠有效地攻擊古典密碼。盡管保密強(qiáng)度很低,因?yàn)閷?shí)現(xiàn)難度低,加密解密快,古典密碼至今依然被廣泛使用。在古典密碼學(xué)中,有四種類型代替密碼:

(一)簡單代替密碼,或單字母密碼:就是明文一個(gè)字符用對(duì)應(yīng)一個(gè)密文字符代替。Caesar密碼就是經(jīng)典簡單代替密碼。

(二)多編碼代替密碼:它與簡單代替密碼系統(tǒng)相同,唯一不一樣是單個(gè)字符明文能夠映射成密文幾個(gè)字符之一,比如A可能對(duì)應(yīng)于5、13、25或56,“B”可能對(duì)應(yīng)于7、19、31或42,等等。

(三)字母代替密碼:字符塊被成組加密,比如“ABA”可能對(duì)應(yīng)于“RTQ”,ABB可能對(duì)應(yīng)于“SLL”等。

(四)多表代替密碼:由多個(gè)簡單代替密碼組成,比如,可能有5個(gè)被使用不一樣簡單代替密碼,單獨(dú)一個(gè)字符用來改變明文每個(gè)字符位置。

20世紀(jì)初,包含轉(zhuǎn)輪機(jī)在內(nèi)一些機(jī)械密碼加密裝置被創(chuàng)造出來,其中最有名是二次世界大戰(zhàn)中德國使用恩尼格碼(Enigma)機(jī)。由這些裝置實(shí)現(xiàn)密碼顯著提升了密碼分析復(fù)雜程度,大量攻擊也僅僅取得了有限結(jié)果。

古典密碼學(xué)以移位密碼、替換密碼、轉(zhuǎn)輪機(jī)為代表,以代替和置換為基礎(chǔ)密碼系統(tǒng)在今天看來已經(jīng)不堪一擊,無法確保信息安全,對(duì)處心積慮攻擊者來說形同虛設(shè),因?yàn)橐呀?jīng)有成熟分析方法來破解這一類加密方法。

借助電子計(jì)算機(jī)發(fā)展,人們能夠?qū)崿F(xiàn)更復(fù)雜密碼系統(tǒng)。與古典密碼和機(jī)械密碼對(duì)26個(gè)字母進(jìn)行操作不一樣,計(jì)算機(jī)密碼一個(gè)顯著特征是對(duì)二進(jìn)制串進(jìn)行操作。計(jì)算機(jī)密碼對(duì)密碼分析有更強(qiáng)抵抗力,只有少數(shù)情況下唯密文攻擊才會(huì)生效。

密碼學(xué)大發(fā)展時(shí)期是上世紀(jì)70年代,以DES和RSA算法提出為代表。一系列突破創(chuàng)建了新密碼學(xué)體系。DES是對(duì)稱密鑰分組密碼一個(gè)經(jīng)典代表,美國國家標(biāo)準(zhǔn)局于1977年公布了由IBM企業(yè)研制一個(gè)加密算法,同意把它作為非機(jī)要部門使用數(shù)據(jù)加密標(biāo)準(zhǔn).簡稱DES,DES是DataEncryptionStandard縮寫。自從公布以來,它一直廣泛用于國際上商用保密通信和計(jì)算機(jī)通信。但因?yàn)槿趺荑€問題和新攻擊伎倆不停出現(xiàn)(差分攻擊、線性攻擊),單純DES加密已經(jīng)極少用于實(shí)際。更多情況下是采取增加密鑰長度和多重DES加密方法。

RSA作為一個(gè)成功公鑰密碼系統(tǒng),與傳統(tǒng)對(duì)稱密碼系統(tǒng)(加密、解密使用相同密鑰)相比,最大特點(diǎn)就是處理了大量密鑰分配、傳輸問題。在公鑰密碼系統(tǒng)中,每個(gè)通信者擁有一個(gè)密鑰對(duì),可用其中一個(gè)來加密,用另一個(gè)來解密,公開其中之一(公鑰)而另二分之一只有自己知道(私鑰)。當(dāng)需要向某人發(fā)送信息時(shí),只需要用他公開密鑰對(duì)消息進(jìn)行加密,接收者再用自己私鑰解密即可。而因?yàn)楣€密碼特征,這種密碼系統(tǒng)也能夠用于數(shù)字署名。與對(duì)稱密碼一樣,公鑰密碼也輕易受到攻擊,處理方法是增加密鑰長度,但密鑰長度增加會(huì)使得加密、解密速度變慢,所以公鑰密碼現(xiàn)在主要僅用于密鑰管理和署名中。

近代密碼學(xué)另一個(gè)分支是序列密碼,這種密碼體制采取與明文長度相同密鑰,利用模加(異或)方法來掩蓋明文內(nèi)容。這種加密方法即使簡單,但在使用一次性密鑰情況下,可取得極高安全性,因?yàn)槊荑€不重復(fù)使用,給破譯帶來了極大困難。但這種方法也有其缺點(diǎn),因?yàn)槊荑€只使用一次,不適合對(duì)大量數(shù)據(jù)進(jìn)行加密,尤其是流媒體數(shù)據(jù),而且大量密鑰分發(fā)、傳送也是一個(gè)問題。這種方法安全性關(guān)鍵是要確保密鑰序列隨機(jī)性,然而“真”隨機(jī)數(shù)是不輕易經(jīng)過固定算法來產(chǎn)生,而使用“偽隨機(jī)數(shù)”則存在著一定風(fēng)險(xiǎn)。近年來提出“量子密碼”采取了量子狀態(tài)來傳遞信息。“海森堡測(cè)不準(zhǔn)原理”是量子力學(xué)基本原理,它表明,在同一時(shí)刻以相同精度測(cè)定量子位置與動(dòng)量是不可能,只能精準(zhǔn)測(cè)定二者之一?!皢瘟孔硬豢蓮?fù)制訂理”是“海森堡測(cè)不準(zhǔn)原理”推論,它表明,在不知道量子狀態(tài)情況下復(fù)制單個(gè)量子是不可能,因?yàn)橐獜?fù)制單個(gè)量子就只能先作測(cè)量,而測(cè)量必定改變量子狀態(tài),所以說不可能。這么使用量子狀態(tài)作為“一次性便簽”能夠達(dá)成無條件保密。因?yàn)榧偃缌孔釉趥鬏斨斜粶y(cè)量,其狀態(tài)就會(huì)改變,從而在傳輸中監(jiān)聽者會(huì)所以而暴露。即使量子密碼擁有優(yōu)異安全特征,但現(xiàn)在仍處于研究階段。第三節(jié)文件機(jī)密解密中密碼體制研究就整體而言,計(jì)算機(jī)網(wǎng)絡(luò)加密問題應(yīng)包含文件存放加密、口令存放加密、數(shù)據(jù)庫數(shù)據(jù)加密、電子郵件加密等信息加密和數(shù)據(jù)傳輸加密(信道加密)以及密碼體制、密鑰管理中心等三個(gè)方面內(nèi)容,下面我們經(jīng)過加密原理、密碼體制和產(chǎn)品功效介紹來概略地講講這三個(gè)方面內(nèi)容:

一密碼原理密碼原理。所謂加密,就是將正常情況下可懂文件數(shù)據(jù)輸入密碼機(jī),由密碼機(jī)變成不可懂亂碼,即將“明文”變成“密文”;所謂解密,就是上述過程逆過程,即將“密文”

變成“明文”。密碼機(jī)可看做是一個(gè)用電子元件實(shí)現(xiàn)一個(gè)復(fù)雜數(shù)學(xué)運(yùn)算機(jī)器。復(fù)雜數(shù)學(xué)運(yùn)算選擇范圍大,位數(shù)短(如56位)選擇范圍小。一個(gè)國家密碼政策,通常是用位數(shù)長高強(qiáng)度密碼(位數(shù)可達(dá))保護(hù)國家秘密,其它用于保護(hù)商業(yè)秘密。

在數(shù)據(jù)傳輸加密過程中,收發(fā)雙方線路密碼機(jī)使用是相同密碼算法,注入了相同密鑰,發(fā)方向收方發(fā)出明文,經(jīng)密碼機(jī)變成密文后送上公網(wǎng)通信線路,抵達(dá)收方后先經(jīng)密碼機(jī)解密再送到收方電腦上。密文在公用通信網(wǎng)上傳輸時(shí),假如被截收,竊密方收到是不可懂亂碼,無法竊取信息內(nèi)容。

在文件存放加密中,加密解密卡加解密采取同一個(gè)算法和同一個(gè)密鑰,工作人員用電腦處理文件后先將文件加密再存入磁盤,以防竊密者盜用磁盤竊取文件。工作人員調(diào)用該文件時(shí),文件先經(jīng)解密再從顯示器上顯示出來以供使用。二密碼體制密碼體制,剛才講密碼原理時(shí),收發(fā)雙方密碼機(jī)密碼算法一致、密鑰一致,這在密碼體制中叫“秘密密鑰體制”或“單密鑰體制”,這是一個(gè)傳統(tǒng)密碼體制,有系統(tǒng)理論研究和完善管理機(jī)制,技術(shù)成熟,性能穩(wěn)定,國內(nèi)自行研制產(chǎn)品安全可靠、保密強(qiáng)度高,通慣用于文件數(shù)據(jù)加密存放和傳輸。國外著名DES密碼就是美國政府1977年公布密鑰長度為56位“秘密密鑰體制”密碼。這種密碼缺點(diǎn)是:僅適適用于內(nèi)部,點(diǎn)對(duì)點(diǎn)方式,事前雙方已知密鑰兩點(diǎn)之間加密傳輸,保守密鑰秘密十分主要,密鑰一旦丟失,整個(gè)系統(tǒng)都要立刻更換密鑰,不然竊密者將可能輕而易舉破解密文。

伴隨近代計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展,不一樣部門、不一樣單位網(wǎng)上交往增多,“單密鑰體制”顯出了它不足,人們極難對(duì)眾多部門和單位保管好各自不一樣密鑰。于是人們又創(chuàng)造了“公開密鑰體制”或叫“雙密鑰體制”。它是基于一些數(shù)學(xué)問題而創(chuàng)造出來密碼體制,這些數(shù)學(xué)問題可記為,其中,寫在一起就是,這個(gè)公式說明有這么一個(gè)數(shù)學(xué)運(yùn)算,它能夠?qū)⒂妹荑€k加密密文用密鑰k’解密,國外1978年公布RSA密碼就是這種有兩個(gè)密鑰密碼。這種密碼保密強(qiáng)度不如單密鑰體制密碼,通慣用于通信雙方身份確認(rèn)和數(shù)字署名。

在實(shí)用互聯(lián)網(wǎng)絡(luò)中,各用戶經(jīng)過加密傳輸可形成一個(gè)虛擬保密互聯(lián)網(wǎng)。該網(wǎng)要由一個(gè)各用戶認(rèn)可密鑰管理中心來生成、管理、分發(fā)和銷毀密鑰,同時(shí)各用戶可將自己“公鑰”也存放在密鑰管理中心。各用戶需進(jìn)行保密通信時(shí),先經(jīng)過公鑰系統(tǒng)進(jìn)行身份確認(rèn)(這個(gè)過程中密鑰管理中心可起到仲裁判別作用),雙方確認(rèn)身份后由密鑰管理中心分發(fā)秘密密鑰,雙方用得到秘密密鑰進(jìn)行數(shù)據(jù)或文件加密傳輸。這種工作方式不但適適用于黨政機(jī)關(guān)內(nèi)部,也一樣適適用于電子商務(wù),但電子商務(wù)和黨政機(jī)關(guān)不能使用同一個(gè)級(jí)別密碼設(shè)備,黨政機(jī)關(guān)用是“普密”設(shè)備,電子商務(wù)只能用“商密”設(shè)備,二者保密強(qiáng)度是不一樣。第三章分組加密解密算法第一節(jié)DES算法DES算法為密碼體制中對(duì)稱密碼體制,又被成為美國數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國IBM企業(yè)研制對(duì)稱密碼體制加密算法。其密鑰長度為56位,明文按64位進(jìn)行分組,將分組后明文組和56位密鑰按位代替或交換方法形成密文組加密方法。DES加密算法特點(diǎn):分組比較短、密鑰太短、密碼生命周期短、運(yùn)算速度較慢。DES工作基本原理是,其入口參數(shù)有三個(gè):key、data、mode。key為加密解密使用密鑰,data為加密解密數(shù)據(jù),mode為其工作模式。當(dāng)模式為加密模式時(shí),明文按照64位進(jìn)行分組,形成明文組,key用于對(duì)數(shù)據(jù)加密,當(dāng)模式為解密模式時(shí),key用于對(duì)數(shù)據(jù)解密。實(shí)際利用中,密鑰只用到了64位中56位,這么才具備高安全性。第二節(jié)RSA算法當(dāng)前最著名、應(yīng)用最廣泛公鑰系統(tǒng)RSA是在1978年,由美國麻省理工學(xué)院(MIT)RonRivest,AdiShamir和LeonardAdleman在題為《取得數(shù)字署名和公開鑰密碼系統(tǒng)方法》論文中提出。它是一個(gè)基于數(shù)論非對(duì)稱(公開鑰)密碼體制,是一個(gè)分組密碼體制。其名稱來自于三個(gè)創(chuàng)造者姓名首字母。它安全性是基于大整數(shù)素因子分解困難性,而大整數(shù)因子分解問題是數(shù)學(xué)上著名難題,至今沒有有效方法給予處理,所以能夠確保RSA算法安全性。RSA系統(tǒng)是公鑰系統(tǒng)最具備經(jīng)典意義方法,大多數(shù)使用公鑰密碼進(jìn)行加密和數(shù)字署名產(chǎn)品和標(biāo)準(zhǔn)使用都是RSA算法。RSA算法是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字署名算法,所以它為公用網(wǎng)絡(luò)上信息加密和判別提供了一個(gè)基本方法。它通常是先生成一對(duì)RSA密鑰,其中之一是保密密鑰,由用戶保留;另一個(gè)為公開密鑰,可對(duì)外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè),人們用公鑰加密文件發(fā)送給個(gè)人,個(gè)人就能夠用私鑰解密接收。為提升保密強(qiáng)度,RSA密鑰最少為500位長,通常推薦使用1024位。該算法基于下面兩個(gè)事實(shí),這些事實(shí)確保了RSA算法安全有效性:(一)已經(jīng)有確定一個(gè)數(shù)是不是質(zhì)數(shù)快速算法;(二)還未找到確定一個(gè)合數(shù)質(zhì)因子快速算法。第三節(jié)工作原理一、任意選取兩個(gè)不一樣大質(zhì)數(shù)p和q,計(jì)算乘積r=p*q;二、任意選取一個(gè)大整數(shù)e,e與(p-1)*(q-1)互質(zhì),整數(shù)e用做加密密鑰。注意:e選取是很輕易,比如,全部大于p和q質(zhì)數(shù)都可用。三、確定解密密鑰d:d*e=1modulo(p-1)*(q-1)依照e、p和q能夠輕易地計(jì)算出d。四、公開整數(shù)r和e,不過不公開d;5)將明文P(假設(shè)P是一個(gè)小于r整數(shù))加密為密文C,計(jì)算方法為:C=Pemodulor6)將密文C解密為明文P,計(jì)算方法為:P=Cdmodulor然而只依照r和e(不是p和q)要計(jì)算出d是不可能。所以,任何人都可對(duì)明文進(jìn)行加密,但只有授權(quán)用戶(知道d)才可對(duì)密文解密。數(shù)學(xué)原理定理若p,q是相異質(zhì)數(shù),rm==1mod(p-1)(q-1),a是任意一個(gè)正整數(shù),b==a^mmodpq,c==b^rmodpq,則c==amodpq證實(shí)過程,會(huì)用到費(fèi)馬小定理,敘述以下:m是任一質(zhì)數(shù),n是任一整數(shù),則n^m==nmodm(換另一句話說,假如n和m互質(zhì),則n^(m-1)==1modm)利用一些基本群論知識(shí),就能夠很輕易地證出費(fèi)馬小定理證實(shí)因?yàn)閞m==1mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整數(shù)因?yàn)樵趍odulo中是preserve乘法(x==ymodz

and

u==vmodz

=>

xu==yvmodz),所以,c==b^r==(a^m)^r==a^(rm)==a^(k(p-1)(q-1)+1)modpq一、假如a不是p倍數(shù),也不是q倍數(shù)時(shí),

則a^(p-1)==1modp(費(fèi)馬小定理)

=>

a^(k(p-1)(q-1))==1modp

a^(q-1)==1modq(費(fèi)馬小定理)=>

a^(k(p-1)(q-1))==1modq所以p,q均能整除a^(k(p-1)(q-1))-1

=>pq|a^(k(p-1)(q-1))-1

即a^(k(p-1)(q-1))==1modpq

=>

c==a^(k(p-1)(q-1)+1)==amodpq二、假如a是p倍數(shù),但不是q倍數(shù)時(shí),

則a^(q-1)==1modq(費(fèi)馬小定理)

=>

a^(k(p-1)(q-1))==1modq

=>

c==a^(k(p-1)(q-1)+1)==amodq

=>

q|c-a

因p|a

=>

c==a^(k(p-1)(q-1)+1)==0modp

=>

p|c-a所以,pq|c-a

=>

c==amodpq三、假如a是q倍數(shù),但不是p倍數(shù)時(shí),證實(shí)同上四、假如a同時(shí)是p和q倍數(shù)時(shí),

則pq|a=>

c==a^(k(p-1)(q-1)+1)==0modpq

=>

pq|c-a

=>

c==amodpqQ.E.D.這個(gè)定理說明a經(jīng)過編碼為b再經(jīng)過解碼為c時(shí),a==cmodn

(n=pq)但我們?cè)谧鼍幋a解碼時(shí),限制0<=a<n,0<=c<n,所以這就是說a等於c,所以這個(gè)過程確實(shí)能做到編碼解碼功效為了說明該算法工作過程,我們下面給出一個(gè)簡單例子,顯然我們?cè)谶@只能取很小數(shù)字,不過如上所述,為了確保安全,在實(shí)際應(yīng)用上我們所用數(shù)字要大多得多。例:選取p=3,q=5,則r=15,(p-1)*(q-1)=8。選取e=11(大于p和q質(zhì)數(shù)),經(jīng)過d*11=1modulo8,計(jì)算出d=3。假定明文為整數(shù)13。則密文C為C=Pemodulor=1311modulo15=1,792,160,394,037modulo15=7復(fù)原明文P為:P=Cdmodulor=73modulo15=343modulo15=13因?yàn)閑和d互逆,公開密鑰加密方法也允許采取這么方式對(duì)加密信息進(jìn)行"署名",方便接收方能確定署名不是偽造。兩個(gè)在不安全信道中通信人,假設(shè)為Alice(收信者)和Bob(發(fā)信者),他們希望能夠安全通信而不被他們敵手Oscar破壞。Alice想到了一個(gè)方法,她使用了一個(gè)鎖(相當(dāng)于公鑰),這種鎖任何人只要輕輕一按就能夠鎖上,不過只有Alice鑰匙(相當(dāng)于私鑰)才能夠打開。然后Alice對(duì)外發(fā)送無數(shù)把這么鎖,任何人比如Bob想給她寄信時(shí),只需找到一個(gè)箱子,然后用一把Alice鎖將其鎖上再寄給Alice,這時(shí)候任何人(包含Bob自己)除了擁有鑰匙Alice,都不能再打開箱子,這么即使Oscar能找到Alice鎖,即使Oscar能在通信過程中截獲這個(gè)箱子,沒有Alice鑰匙他也不可能打開箱子,而Alice鑰匙并不需要分發(fā),這么Oscar也就無法得到這把“私人密鑰”。一、優(yōu)點(diǎn)RSA算法是第一個(gè)能同時(shí)用于加密和數(shù)字署名算法,也易于了解和操作。RSA是被研究得最廣泛公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊考驗(yàn),逐步為人們接收,普遍認(rèn)為是現(xiàn)在最優(yōu)異公鑰方案之一。該算法加密密鑰和加密算法分開,使得密鑰分配更為方便。它尤其符共計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境。對(duì)于網(wǎng)上大量用戶,能夠?qū)⒓用苊荑€用電話簿方式印出。假如某用戶想與另一用戶進(jìn)行保密通信,只需從公鑰簿上查出對(duì)方加密密鑰,用它對(duì)所傳送信息加密發(fā)出即可。對(duì)方收到信息后,用僅為自己所知解密密鑰將信息脫密,了解報(bào)文內(nèi)容。由此可看出,RSA算法處理了大量網(wǎng)絡(luò)用戶密鑰管理難題,這是公鑰密碼系統(tǒng)相對(duì)于對(duì)稱密碼系統(tǒng)最突出優(yōu)點(diǎn)。二、缺點(diǎn)(一)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)限制,因而難以做到一次一密。(二)安全性,RSA安全性依賴于大數(shù)因子分解,但并沒有從理論上證實(shí)破譯RSA難度與大數(shù)分解難度等價(jià),而且密碼學(xué)界多數(shù)人士傾向于因子分解不是NPC問題?,F(xiàn)在,人們已能分解140多個(gè)十進(jìn)制位大素?cái)?shù),這就要求使用更長密鑰,速度更慢;另外,現(xiàn)在人們正在主動(dòng)尋找攻擊RSA方法,如選擇密文攻擊,通常攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰實(shí)體簽署。然后,經(jīng)過計(jì)算就可得到它所想要信息。實(shí)際上,攻擊利用都是同一個(gè)弱點(diǎn),即存在這么一個(gè)事實(shí):乘冪保留了輸入乘法結(jié)構(gòu):(XM)d=Xd*Mdmodn前面已經(jīng)提到,這個(gè)固有問題來自于公鑰密碼系統(tǒng)最有用特征--每個(gè)人都能使用公鑰。但從算法上無法處理這一問題,主要方法有兩條:一條是采取好公鑰協(xié)議,確保工作過程中實(shí)體不對(duì)其余實(shí)體任意產(chǎn)生信息解密,不對(duì)自己一無所知信息署名;另一條是決不對(duì)陌生人送來隨機(jī)文檔署名,署名時(shí)首先使用One-WayHashFunction對(duì)文檔作HASH處理,或同時(shí)使用不一樣署名算法。除了利用公共模數(shù),人們還嘗試一些利用解密指數(shù)或φ(n)等等攻擊.3)速度太慢,因?yàn)镽SA分組長度太大,為確保安全性,n最少也要600bitx以上,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對(duì)稱密碼算法慢幾個(gè)數(shù)量級(jí);且伴隨大數(shù)分解技術(shù)發(fā)展,這個(gè)長度還在增加,不利于數(shù)據(jù)格式標(biāo)準(zhǔn)化?,F(xiàn)在,SET(SecureElectronicTransaction)協(xié)議中要求CA采取2048比專長密鑰,其余實(shí)體使用1024比特密鑰。為了速度問題,現(xiàn)在人們廣泛使用單,公鑰密碼結(jié)合使用方法,優(yōu)缺點(diǎn)互補(bǔ):單鑰密碼加密速度快,人們用它來加密較長文件,然后用RSA來給文件密鑰加密,極好處理了單鑰密碼密鑰分發(fā)問題。公鑰加密算法中使用最廣是RSA。RSA算法研制最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,意在處理DES算法秘密密鑰利用公開信道傳輸分發(fā)難題。而實(shí)際結(jié)果不但很好地處理了這個(gè)難題;還可利用RSA來完成對(duì)電文數(shù)字署名以抗對(duì)電文否定與抵賴;同時(shí)還能夠利用數(shù)字署名較輕易地發(fā)覺攻擊者對(duì)電文非法篡改,以保護(hù)數(shù)據(jù)信息完整性?,F(xiàn)在為止,很多個(gè)加密技術(shù)采取了RSA算法,該算法也已經(jīng)在互聯(lián)網(wǎng)許多方面得以廣泛應(yīng)用,包含在安全接口層(SSL)標(biāo)準(zhǔn)(該標(biāo)準(zhǔn)是網(wǎng)絡(luò)瀏覽器建立安全互聯(lián)網(wǎng)連接時(shí)必須用到)方面應(yīng)用。另外,RSA加密系統(tǒng)還可應(yīng)用于智能IC卡和網(wǎng)絡(luò)安全產(chǎn)品。但現(xiàn)在RSA算法專利期限即將結(jié)束,取而代之是基于橢圓曲線密碼方案(ECC算法)。較之于RSA算法,ECC有其相對(duì)優(yōu)點(diǎn),這使得ECC特征更適合當(dāng)今電子商務(wù)需要快速反應(yīng)發(fā)展時(shí)尚。另外,一個(gè)全新量子密碼也正在發(fā)展中。第四節(jié)DES算法實(shí)例演示一、實(shí)例程序DESTOOL這是DESTOOL截圖,MFC寫,編譯器是VS,見圖3-1、圖3-2圖3-1加密工具圖3-2加密結(jié)果二、文件功效描述:DES加密類#ifndefyxyDESH#defineyxyDESH#include<string>#include<cmath>#include<stdio.h>#include<windows.h>usingnamespacestd;classyxyDES{public:

yxyDES();//類結(jié)構(gòu)函數(shù)

~yxyDES();//類析構(gòu)函數(shù)

voidInitializeKey(string);

//功效:產(chǎn)生16個(gè)28位key

//參數(shù):源8位字符串(key)

//結(jié)果:函數(shù)將調(diào)用privateCreateSubKey將結(jié)果存于charSubKeys[16][48]

voidEncryptData(string);

//功效:加密8位字符串

//參數(shù):8位字符串

//結(jié)果:函數(shù)將加密后結(jié)果存放于privateszCiphertext[16]

//

用戶經(jīng)過屬性Ciphertext得到

voidDecryptData(string);

//功效:解密16位十六進(jìn)制字符串

//參數(shù):16位十六進(jìn)制字符串

//結(jié)果:函數(shù)將解密候結(jié)果存放于privateszPlaintext[8]

//

用戶經(jīng)過屬性Plaintext得到

voidEncryptAnyLength(string);

//功效:加密任意長度字符串

//參數(shù):任意長度字符串

//結(jié)果:函數(shù)將加密后結(jié)果存放于privateszFCiphertextAnyLength[8192]

//

用戶經(jīng)過屬性CiphertextAnyLength得到

voidDecryptAnyLength(string);

//功效:解密任意長度十六進(jìn)制字符串

//參數(shù):任意長度字符串

//結(jié)果:函數(shù)將加密后結(jié)果存放于privateszFPlaintextAnyLength[4096]

//

用戶經(jīng)過屬性PlaintextAnyLength得到

voidSetCiphertext(char*value);

//Ciphertextset函數(shù)

char*GetCiphertext();

//Ciphertextget函數(shù)

voidSetPlaintext(char*value);

//Plaintextset函數(shù)

char*GetPlaintext();

//Plaintextget函數(shù)

char*GetCiphertextAnyLength();

//CiphertextAnyLengthget函數(shù)

char*GetPlaintextAnyLength();

//PlaintextAnyLengthget函數(shù)

private:

charSubKeys[16][48];//儲(chǔ)存16組48位密鑰

charszCiphertext[16];//儲(chǔ)存16位密文(十六進(jìn)制字符串)

charszPlaintext[8];//儲(chǔ)存8位明文字符串

charszFCiphertextAnyLength[8192];//任意長度密文(十六進(jìn)制字符串)

charszFPlaintextAnyLength[4096];//任意長度明文字符串

voidCreateSubKey(char*);

//功效:生成子密鑰

//參數(shù):經(jīng)過PC1變換56位二進(jìn)制字符串

//結(jié)果:將保留于charSubKeys[16][48]

voidFunctionF(char*,char*,int);

//功效:DES中F函數(shù),

//參數(shù):左32位,右32位,key序號(hào)(0-15)

//結(jié)果:均在變換左右32位

voidInitialPermuteData(string,char*,bool);

//功效:IP變換

//參數(shù):待處理字符串,處理后結(jié)果存放指針,加密/解密(true加密,false解密)

//結(jié)果:函數(shù)改變第二個(gè)參數(shù)內(nèi)容

voidExpansionR(char*,char*);

//功效:將右32位進(jìn)行擴(kuò)展位48位,

//參數(shù):原32位字符串,擴(kuò)展后結(jié)果存放指針

//結(jié)果:函數(shù)改變第二個(gè)參數(shù)內(nèi)容

voidXOR(char*,char*,int,char*);

//功效:異或函數(shù),

//參數(shù):待異或操作字符串1,字符串2,操作數(shù)長度,處理后結(jié)果存放指針

//結(jié)果:函數(shù)改變第四個(gè)參數(shù)內(nèi)容

stringCompressFuncS(char*);

//功效:S-BOX,數(shù)據(jù)壓縮,

//參數(shù):48位二進(jìn)制字符串,

//結(jié)果:返回結(jié)果:32位字符串

voidPermutationP(string,char*);

//功效:IP逆變換,

//參數(shù):待變換字符串,處理后結(jié)果存放指針

//結(jié)果:函數(shù)改變第二個(gè)參數(shù)內(nèi)容

stringFillToEightBits(string);

//功效:當(dāng)明文不足8

溫馨提示

  • 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)論