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

下載本文檔

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

文檔簡(jiǎn)介

1、論文題目:數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用摘要在競(jìng)爭(zhēng)激烈的信息時(shí)代,信息不僅給我們帶來很大的方便,同樣,信息也可以用來對(duì)他們構(gòu)成威脅、造成破壞。因此,在客觀上就需要一種強(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í)的形式即密文的過程,目的是使不應(yīng)了解該數(shù)據(jù)信息的人不能夠知道和識(shí)別。將密文轉(zhuǎn)變?yōu)槊魑牡倪^程就是解密。加密和解密過程形成加密系統(tǒng),明文與密文統(tǒng)稱為報(bào)文。任何加密系統(tǒng),不論

2、形式如何復(fù)雜,實(shí)現(xiàn)的算法如何不同,但其基本組成部分是相同的。 本文是一篇討論關(guān)于常用文件加密解密算法的畢業(yè)設(shè)計(jì)論文,它詳細(xì)的講述了文件加密解密算法實(shí)現(xiàn)的過程中所用到的方法、技術(shù)。對(duì)公鑰密碼體制和私鑰密碼體制進(jìn)行了分析和研究,并對(duì)公鑰密碼體制和私鑰密碼體制的代表RSA算法和DES算法進(jìn)行了研究和比較。關(guān)鍵詞 解密 文件加密 密碼體制 DES RSAAbstractIn the fierce competition in the information age, information not only bring us a lot of convenience, the same, the in

3、formation can also be used to pose a threat, they cause damage. Therefore, in which they need a strong security measures to protect confidential data is not theft or falsified, data encryption technology is made. The so-called data encryption technology refers to an information encrypted key and enc

4、ryption function conversion, become meaningless ciphertext, and receiving party will the ciphertext after decryption function, decryption key reduction into plaintext. Encryption technology is the foundation of network security technology. The so-called encryption, data is the information that is no

5、t expressly converted to the form of identification is ciphertext process, the purpose is to make should not understand the data information of people cant know and identification. Will ciphertext into plaintext process is decryption. Encryption and decryption process forms encryption system, plaint

6、ext and ciphertext collectively referred to as message. Any encryption system, no matter how complex form, the algorithm is realized how different, but the basic component is the same. This paper is a discussion about the common file encryption decryption algorithm graduation design paper, it detail

7、ed tells the story of file encryption decryption algorithm used in the process of the method and technology. To public key cryptosystems and private key cipher system were analyzed and investigated, and the public key cryptosystem and the private key cipher system on behalf of the RSA algorithm and

8、DES algorithm are studied and compared. KEY WORD ecryption File encryption The password system DES RSA目錄第一章 緒 言.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參考文獻(xiàn)18電子科技大學(xué)畢業(yè)論文(設(shè)計(jì)) 數(shù)據(jù)加密技術(shù)的設(shè)計(jì)與應(yīng)用 第一章 緒 言信息安全是一個(gè)綜合性的交叉學(xué)科領(lǐng)域,廣泛涉及數(shù)

9、學(xué)、密碼學(xué)、計(jì)算機(jī)、通信、控制、人工智能、安全工程、人文科學(xué)等諸多學(xué)科,是近幾年迅速發(fā)展的一個(gè)熱點(diǎn)學(xué)科領(lǐng)域。信息對(duì)抗和網(wǎng)絡(luò)安全是信息安全的核心熱點(diǎn),它的研究和發(fā)展又將刺激、推動(dòng)和促進(jìn)相關(guān)學(xué)科的研究與發(fā)展。至今,密碼技術(shù)是取得信息安全性最有效的一種方法, 密碼技術(shù)是信息安全的核心技術(shù)。通過數(shù)據(jù)加密,人們可以有效地保證通信線路上的內(nèi)容不被泄露,而且還可以檢驗(yàn)傳送信息的完整性。進(jì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)品

10、。相對(duì)于防病毒軟件和防火墻軟件來說,基于密碼技術(shù)密碼類產(chǎn)品、認(rèn)證類產(chǎn)品份額相對(duì)較小,但隨著金融、電信、政府等行業(yè)信息化建設(shè)對(duì)于網(wǎng)絡(luò)安全整體解決方案需求的增加,將會(huì)有較大的增長(zhǎng)。在本次畢業(yè)設(shè)計(jì)中,對(duì)公鑰密碼體制和私鑰密碼體制進(jìn)行了分析和研究,并對(duì)公鑰密碼體制和私鑰密碼體制的代表RSA算法和DES算法進(jìn)行了研究和比較。并且實(shí)現(xiàn)了基本的文件加密解密的處理流程,能提供對(duì)文件的安全、有效的保護(hù)。第二章 需求分析第一節(jié) 概述信息是一種資源,也是一種財(cái)富。在現(xiàn)代社會(huì)中,信息處理和通信技術(shù)日益發(fā)展,保護(hù)信息的安全,特別是保護(hù)重要信息的安全,越來越成受到國(guó)內(nèi)外有關(guān)研究人員的極大重視。當(dāng)前由于信息的保護(hù)不利和失誤

11、,世界各國(guó)遭受的損失是巨大的?,F(xiàn)在,國(guó)際互聯(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è)部分:信息的保密性、信息的完整性、信息的可用性、信息的可控性、信息的不可否認(rèn)性。密碼技術(shù)是保證信息安全

12、的核心。第二節(jié) 密碼學(xué)的發(fā)展認(rèn)證過程中,用戶必須向系統(tǒng)提供能夠證明自己身份的信息,證明用戶身份的信息種類很多,可以是用戶所知道的秘密(口令),也可以是生物特征(如指紋)等,但目前使用最廣泛的仍然是用戶口令(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é)底,用戶用以證明自己身份的是一段信息,不論它是口令還是指紋。而迄今為止,確保信息安全的最重要手段是加密。對(duì)信息的加密、解密、信息的保密傳

13、輸,這正是密碼學(xué)研究的內(nèi)容。密碼學(xué)泛指一切有關(guān)研究密碼通信的學(xué)問,其中包括下面兩個(gè)領(lǐng)域:如何達(dá)成秘密通信,以及如何破譯秘密通信。也就是密碼編碼學(xué):指如何達(dá)到信息的秘密性,鑒別性的科學(xué);密碼分析學(xué):泛指如何破解密碼系統(tǒng),或偽造信息使密碼系統(tǒng)誤以為真的科學(xué)。從密碼學(xué)的發(fā)展來看,它經(jīng)歷了傳統(tǒng)(古典)密碼學(xué)、近代密碼學(xué)、現(xiàn)代密碼學(xué)幾個(gè)階段,計(jì)算機(jī)、數(shù)學(xué)領(lǐng)域的最新成果往往與密碼學(xué)有關(guān)或被應(yīng)用于密碼學(xué)研究中。傳統(tǒng)密碼學(xué)、近代密碼學(xué)的發(fā)展 密碼學(xué)擁有悠久、豐富多彩的歷史。作為古典密碼其中的一種,早期出現(xiàn)的密寫術(shù)形式只需要紙和筆就可以完成。古典密碼學(xué)的兩大范疇是將消息內(nèi)容進(jìn)行重新排列的位移密碼和系統(tǒng)地將字母進(jìn)

14、行替換的替換密碼。古典密碼學(xué)會(huì)透露出與明文統(tǒng)計(jì)學(xué)結(jié)果相關(guān)的大量信息,因此容易被破解,如對(duì)頻率分析可以有效地攻擊古典密碼。盡管保密強(qiáng)度很低,由于實(shí)現(xiàn)難度低,加密解密快,古典密碼至今仍然被廣泛使用。在古典密碼學(xué)中,有四種類型的代替密碼: (一)簡(jiǎn)單代替密碼,或單字母密碼:就是明文的一個(gè)字符用相應(yīng)的一個(gè)密文字符代替。Caesar 密碼就是典型的簡(jiǎn)單替代密碼。(二)多編碼代替密碼:它與簡(jiǎn)單代替密碼系統(tǒng)相似,唯一的不同是單個(gè)字符明文可以映射成密文的幾個(gè)字符之一,例如 A 可能對(duì)應(yīng)于5、13、25 或 56,“B”可能對(duì)應(yīng)于 7、19、31 或 42,等等。(三)字母代替密碼:字符塊被成組加密,例如“AB

15、A”可能對(duì)應(yīng)于“RTQ”,ABB 可能對(duì)應(yīng)于“SLL”等。(四)多表代替密碼:由多個(gè)簡(jiǎn)單的代替密碼構(gòu)成,例如,可能有 5 個(gè)被使用的不同的簡(jiǎn)單代替密碼,單獨(dú)的一個(gè)字符用來改變明文的每個(gè)字符的位置。 20 世紀(jì)初,包括轉(zhuǎn)輪機(jī)在內(nèi)的一些機(jī)械密碼加密裝置被發(fā)明出來,其中最有名的是二次世界大戰(zhàn)中德國(guó)使用的恩尼格碼(Enigma)機(jī)。由這些裝置實(shí)現(xiàn)的密碼顯著提高了密碼分析的復(fù)雜程度,大量的攻擊也僅僅取得了有限的結(jié)果。 古典密碼學(xué)以移位密碼、替換密碼、轉(zhuǎn)輪機(jī)為代表,以替代和置換為基礎(chǔ)的密碼系統(tǒng)在今天看來已經(jīng)不堪一擊,無法保證信息的安全,對(duì)處心積慮的攻擊者來說形同虛設(shè),因?yàn)橐呀?jīng)有成熟的分析方法來破解這一類的

16、加密方法。 借助電子計(jì)算機(jī)的發(fā)展,人們可以實(shí)現(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è)典型代表,美國(guó)國(guó)家標(biāo)準(zhǔn)局于 1977 年公布了由 IBM 公司研制的一種加密算法,批準(zhǔn)把它作為非機(jī)要部門使用的數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)稱 DES,DES 是 Data Encryption Standard 的縮寫。自從公布以來,

17、它一直廣泛用于國(guó)際上商用保密通信和計(jì)算機(jī)通信。但由于弱密鑰的問題和新的攻擊手段不斷出現(xiàn)(差分攻擊、線性攻擊),單純的 DES 加密已經(jīng)很少用于實(shí)際。更多的情況下是采用增加密鑰長(zhǎng)度和多重 DES 加密的辦法。 RSA 作為一種成功的公鑰密碼系統(tǒng),與傳統(tǒng)的對(duì)稱密碼系統(tǒng)(加密、解密使用相同的密鑰)相比,最大的特點(diǎn)就是解決了大量密鑰分配、傳輸?shù)膯栴}。在公鑰密碼系統(tǒng)中,每個(gè)通信者擁有一個(gè)密鑰對(duì),可用其中一個(gè)來加密,用另一個(gè)來解密,公開其中之一(公鑰)而另一半只有自己知道(私鑰)。當(dāng)需要向某人發(fā)送信息時(shí),只需要用他的公開密鑰對(duì)消息進(jìn)行加密,接收者再用自己的私鑰解密即可。而由于公鑰密碼的特性,這種密碼系統(tǒng)也

18、可以用于數(shù)字簽名。與對(duì)稱密碼一樣,公鑰密碼也容易受到攻擊,解決方法是增加密鑰長(zhǎng)度,但密鑰長(zhǎng)度的增長(zhǎng)會(huì)使得加密、解密速度變慢,所以公鑰密碼目前主要僅用于密鑰管理和簽名中。 近代密碼學(xué)的另一個(gè)分支是序列密碼,這種密碼體制采用與明文長(zhǎng)度相同的密鑰,利用模加(異或)的方法來掩蓋明文的內(nèi)容。這種加密方法雖然簡(jiǎn)單,但在使用一次性密鑰的情況下,可獲得極高的安全性,由于密鑰不重復(fù)使用,給破譯帶來了極大的困難。但這種方法也有其缺點(diǎn),由于密鑰只使用一次,不適合對(duì)大量數(shù)據(jù)進(jìn)行加密,尤其是流媒體數(shù)據(jù),而且大量密鑰的分發(fā)、傳送也是一個(gè)問題。這種方法安全性的關(guān)鍵是要保證密鑰序列的隨機(jī)性,然而“真”隨機(jī)數(shù)是不容易通過固定算

19、法來產(chǎn)生的,而使用“偽隨機(jī)數(shù)”則存在著一定的風(fēng)險(xiǎn)。近年來提出的“量子密碼”采用了量子狀態(tài)來傳遞信息?!昂Iy(cè)不準(zhǔn)原理”是量子力學(xué)的基本原理,它表明,在同一時(shí)刻以相同的精度測(cè)定量子的位置與動(dòng)量是不可能的,只能精確測(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)秀的安全特性,但目前仍處于研究階段。第三節(jié)

20、文件機(jī)密解密中密碼體制研究 就整體而言,計(jì)算機(jī)網(wǎng)絡(luò)加密問題應(yīng)包括文件存儲(chǔ)加密、口令存儲(chǔ)加密、數(shù)據(jù)庫(kù)數(shù)據(jù)加密、電子郵件加密等信息加密和數(shù)據(jù)傳輸加密(信道加密)以及密碼體制、密鑰管理中心等三個(gè)方面的內(nèi)容,下面我們通過加密原理、密碼體制和產(chǎn)品功能介紹來概略地講講這三個(gè)方面的內(nèi)容: 一 密碼原理密碼原理。所謂加密,就是將正常情況下可懂的文件數(shù)據(jù)輸入密碼機(jī),由密碼機(jī)變成不可懂的亂碼,即將“明文”變成“密文”;所謂解密,就是上述過程的逆過程,即將“密文” 變成“明文”。密碼機(jī)可看做是一個(gè)用電子元件實(shí)現(xiàn)一種復(fù)雜數(shù)學(xué)運(yùn)算的機(jī)器。復(fù)雜數(shù)學(xué)運(yùn)算選擇范圍大,位數(shù)短的(如56位)選擇范圍小。一個(gè)國(guó)家的密碼政策,通常是

21、用位數(shù)長(zhǎng)的高強(qiáng)度密碼(位數(shù)可達(dá))保護(hù)國(guó)家秘密,其它用于保護(hù)商業(yè)秘密。 在數(shù)據(jù)傳輸加密過程中,收發(fā)雙方線路密碼機(jī)使用的是相同的密碼算法,注入了相同的密鑰,發(fā)方向收方發(fā)出明文,經(jīng)密碼機(jī)變成密文后送上公網(wǎng)通信線路,到達(dá)收方后先經(jīng)密碼機(jī)解密再送到收方電腦上。密文在公用通信網(wǎng)上傳輸時(shí),如果被截收,竊密方收到的是不可懂的亂碼,無法竊取信息內(nèi)容。 在文件存儲(chǔ)加密中,加密解密卡加解密采用同一種算法和同一個(gè)密鑰,工作人員用電腦處理文件后先將文件加密再存入磁盤,以防竊密者盜用磁盤竊取文件。工作人員調(diào)用該文件時(shí),文件先經(jīng)解密再?gòu)娘@示器上顯示出來以供使用。二 密碼體制密碼體制,剛才講密碼原理時(shí),收發(fā)雙方密碼機(jī)的密碼算

22、法一致、密鑰一致,這在密碼體制中叫“秘密密鑰體制”或“單密鑰體制”,這是一種傳統(tǒng)的密碼體制,有系統(tǒng)的理論研究和完善的管理機(jī)制,技術(shù)成熟,性能穩(wěn)定,國(guó)內(nèi)自行研制的產(chǎn)品安全可靠、保密強(qiáng)度高,一般用于文件數(shù)據(jù)加密存儲(chǔ)和傳輸。國(guó)外著名的DES密碼就是美國(guó)政府1977年發(fā)布的密鑰長(zhǎng)度為56位的“秘密密鑰體制”的密碼。這種密碼的缺陷是:僅適用于內(nèi)部的,點(diǎn)對(duì)點(diǎn)方式的,事前雙方已知密鑰的兩點(diǎn)之間的加密傳輸,保守密鑰的秘密十分重要,密鑰一旦丟失,整個(gè)系統(tǒng)都要立即更換密鑰,否則竊密者將可能輕而易舉的破解密文。 隨著近代計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,不同部門、不同單位網(wǎng)上交往增多,“單密鑰體制”顯出了它的局限性,人們很難對(duì)眾多

23、的部門和單位保管好各自不同的密鑰。于是人們又發(fā)明了“公開密鑰體制”或叫“雙密鑰體制”。它是基于一些數(shù)學(xué)問題而發(fā)明出來的密碼體制,這些數(shù)學(xué)問題可記為,其中,寫在一起就是,這個(gè)公式說明有這樣一種數(shù)學(xué)運(yùn)算,它可以將用密鑰k加密的密文用密鑰k解密,國(guó)外1978年公布的RSA密碼就是這種有兩個(gè)密鑰的密碼。這種密碼保密強(qiáng)度不如單密鑰體制的密碼,一般用于通信雙方的身份確認(rèn)和數(shù)字簽名。 在實(shí)用的互聯(lián)網(wǎng)絡(luò)中,各用戶通過加密傳輸可形成一個(gè)虛擬的保密互聯(lián)網(wǎng)。該網(wǎng)要由一個(gè)各用戶認(rèn)可的密鑰管理中心來生成、管理、分發(fā)和銷毀密鑰,同時(shí)各用戶可將自己的“公鑰”也存放在密鑰管理中心。各用戶需進(jìn)行保密通信時(shí),先通過公鑰系統(tǒng)進(jìn)行身

24、份確認(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ì)稱密碼體制,又被成為美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國(guó)IBM公司研制的對(duì)稱密碼體制加密算法。其密鑰長(zhǎng)度為56位,明文按64位進(jìn)行分組,將分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方

25、法。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í)際運(yùn)用中,密鑰只用到了64位中的56位,這樣才具有高的安全性。第二節(jié) RSA算法當(dāng)前最著名、應(yīng)用最廣泛的公鑰系統(tǒng)RSA是在1978年,由美國(guó)麻省理工學(xué)院(MIT)的Ron Rivest, Adi Shamir 和Leonard Adleman在題為獲得數(shù)

26、字簽名和公開鑰密碼系統(tǒng)的方法的論文中提出的。它是一個(gè)基于數(shù)論的非對(duì)稱(公開鑰)密碼體制,是一種分組密碼體制。其名稱來自于三個(gè)發(fā)明者的姓名首字母。 它的安全性是基于大整數(shù)素因子分解的困難性,而大整數(shù)因子分解問題是數(shù)學(xué)上的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA算法的安全性。RSA系統(tǒng)是公鑰系統(tǒng)的最具有典型意義的方法,大多數(shù)使用公鑰密碼進(jìn)行加密和數(shù)字簽名的產(chǎn)品和標(biāo)準(zhǔn)使用的都是RSA算法。RSA算法是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法,因此它為公用網(wǎng)絡(luò)上信息的加密和鑒別提供了一種基本的方法。它通常是先生成一對(duì)RSA 密鑰,其中之一是保密密鑰,由用戶保存;另一個(gè)為公開密鑰,可

27、對(duì)外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè),人們用公鑰加密文件發(fā)送給個(gè)人,個(gè)人就可以用私鑰解密接受。為提高保密強(qiáng)度,RSA密鑰至少為500位長(zhǎng),一般推薦使用1024位。該算法基于下面的兩個(gè)事實(shí),這些事實(shí)保證了RSA算法的安全有效性: (一)已有確定一個(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 = 1 modulo(p - 1

28、)*(q - 1) 根據(jù)e、p和q可以容易地計(jì)算出d。 四、 公開整數(shù)r和e,但是不公開d; 5) 將明文P (假設(shè)P是一個(gè)小于r的整數(shù))加密為密文C,計(jì)算方法為: C = Pe modulo r 6) 將密文C解密為明文P,計(jì)算方法為: P = Cd modulo r 然而只根據(jù)r和e(不是p和q)要計(jì)算出d是不可能的。因此,任何人都可對(duì)明文進(jìn)行加密,但只有授權(quán)用戶(知道d)才可對(duì)密文解密。數(shù)學(xué)原理定理若 p, q 是相異質(zhì)數(shù), rm = 1 mod (p-1)(q-1), a 是任意一個(gè)正整數(shù), b = am mod pq, c = br mod pq, 則 c = a mod pq 證明

29、的過程, 會(huì)用到費(fèi)馬小定理, 敘述如下: m 是任一質(zhì)數(shù), n 是任一整數(shù), 則 nm = n mod m (換另一句話說, 如果 n 和 m 互質(zhì), 則 n(m-1) = 1 mod m) 運(yùn)用一些基本的群論的知識(shí), 就可以很容易地證出費(fèi)馬小定理的. 證明因?yàn)?rm = 1 mod (p-1)(q-1), 所以 rm = k(p-1)(q-1) + 1, 其中 k 是整數(shù) 因?yàn)樵?modulo 中是 preserve 乘法的 (x = y mod zandu = v mod z=xu = yv mod z), 所以, c = br = (am)r = a(rm) = a(k(p-1)(q-1

30、)+1) mod pq 一、 如果 a 不是 p 的倍數(shù), 也不是 q 的倍數(shù)時(shí), 則 a(p-1) = 1 mod p (費(fèi)馬小定理)=a(k(p-1)(q-1) = 1 mod p a(q-1) = 1 mod q (費(fèi)馬小定理) =a(k(p-1)(q-1) = 1 mod q 所以 p, q 均能整除 a(k(p-1)(q-1) - 1= pq | a(k(p-1)(q-1) - 1 即 a(k(p-1)(q-1) = 1 mod pq =c = a(k(p-1)(q-1)+1) = a mod pq 二、如果 a 是 p 的倍數(shù), 但不是 q 的倍數(shù)時(shí), 則 a(q-1) = 1 m

31、od q (費(fèi)馬小定理) =a(k(p-1)(q-1) = 1 mod q =c = a(k(p-1)(q-1)+1) = a mod q =q | c - a 因 p | a =c = a(k(p-1)(q-1)+1) = 0 mod p =p | c - a 所以, pq | c - a=c = a mod pq 三、 如果 a 是 q 的倍數(shù), 但不是 p 的倍數(shù)時(shí), 證明同上 四、 如果 a 同時(shí)是 p 和 q 的倍數(shù)時(shí), 則 pq | a =c = a(k(p-1)(q-1)+1) = 0 mod pq =pq | c - a =c = a mod pq Q.E.D. 這個(gè)定理說明

32、a 經(jīng)過編碼為 b 再經(jīng)過解碼為 c 時(shí), a = c mod n (n = pq). 但我們?cè)谧鼍幋a解碼時(shí), 限制 0 = a n, 0 = c n, 所以這就是說 a 等於 c, 所以這個(gè)過程確實(shí)能做到編碼解碼的功能. 為了說明該算法的工作過程,我們下面給出一個(gè)簡(jiǎn)單例子,顯然我們?cè)谶@只能取很小的數(shù)字,但是如上所述,為了保證安全,在實(shí)際應(yīng)用上我們所用的數(shù)字要大的多得多。例:選取p=3, q=5,則r=15,(p-1)*(q-1)=8。選取e=11(大于p和q的質(zhì)數(shù)),通過d * 11 = 1 modulo 8,計(jì)算出d =3。 假定明文為整數(shù)13。則密文C為 C = Pe modulo r

33、= 1311 modulo 15 = 1,792,160,394,037 modulo 15 = 7 復(fù)原明文P為: P = Cd modulo r = 73 modulo 15 = 343 modulo 15 = 13 因?yàn)閑和d互逆,公開密鑰加密方法也允許采用這樣的方式對(duì)加密信息進(jìn)行簽名,以便接收方能確定簽名不是偽造的。 兩個(gè)在不安全信道中通信的人,假設(shè)為Alice(收信者)和Bob(發(fā)信者),他們希望能夠安全的通信而不被他們的敵手Oscar破壞。Alice 想到了一種辦法,她使用了一種鎖(相當(dāng)于公鑰),這種鎖任何人只要輕輕一按就可以鎖上,但是只有Alice的鑰匙(相當(dāng)于私鑰)才能夠打開。

34、然后 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)為

35、是目前最優(yōu)秀的公鑰方案之一。該算法的加密密鑰和加密算法分開,使得密鑰分配更為方便。它特別符合計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境。對(duì)于 網(wǎng)上的大量用戶,可以將加密密鑰用電話簿的方式印出。如果某用戶想與另一用戶進(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ù)的因子分解,但并沒有從理論上證明破譯RSA的難

36、度與大數(shù)分解難度等價(jià),而且密碼學(xué)界多數(shù)人士?jī)A向于因子分解不是NPC問題。目前,人們已能分解140多個(gè)十進(jìn)制位的大素?cái)?shù),這就要求使用更長(zhǎng)的密鑰,速度更慢;另外,目前人們正在積極尋找攻擊RSA的方法,如選擇密文攻擊,一般攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰的實(shí)體簽署。然后,經(jīng)過計(jì)算就可得到它所想要的信息。實(shí)際上,攻擊利用的都是同一個(gè)弱點(diǎn),即存在這樣一個(gè)事實(shí):乘冪保留了輸入的乘法結(jié)構(gòu): ( XM )d = Xd *Md mod n 前面已經(jīng)提到,這個(gè)固有的問題來自于公鑰密碼系統(tǒng)的最有用的特征-每個(gè)人都能使用公鑰。但從算法上無法解決這一問題,主要措施有兩條:一條是采用好的公鑰協(xié)議,保

37、證工作過程中實(shí)體不對(duì)其他實(shí)體任意產(chǎn)生的信息解密,不對(duì)自己一無所知的信息簽名;另一條是決不對(duì)陌生人送來的隨機(jī)文檔簽名,簽名時(shí)首先使用One-Way Hash Function對(duì)文檔作HASH處理,或同時(shí)使用不同的簽名算法。除了利用公共模數(shù),人們還嘗試一些利用解密指數(shù)或(n)等等攻擊.3)速度太慢,由于RSA 的分組長(zhǎng)度太大,為保證安全性,n 至少也要 600 bitx以上,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對(duì)稱密碼算法慢幾個(gè)數(shù)量級(jí);且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長(zhǎng)度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。目前,SET(Secure Electronic Transaction)協(xié)議中要求CA采用204

38、8比特長(zhǎng)的密鑰,其他實(shí)體使用1024比特的密鑰。為了速度問題,目前人們廣泛使用單,公鑰密碼結(jié)合使用的方法,優(yōu)缺點(diǎn)互補(bǔ):單鑰密碼加密速度快,人們用它來加密較長(zhǎng)的文件,然后用RSA來給文件密鑰加密,極好的解決了單鑰密碼的密鑰分發(fā)問題。公鑰加密算法中使用最廣的是RSA。RSA算法研制的最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,旨在解決DES算法秘密密鑰的利用公開信道傳輸分發(fā)的難題。而實(shí)際結(jié)果不但很好地解決了這個(gè)難題;還可利用RSA來完成對(duì)電文的數(shù)字簽名以抗對(duì)電文的否認(rèn)與抵賴;同時(shí)還可以利用數(shù)字簽名較容易地發(fā)現(xiàn)攻擊者對(duì)電文的非法篡改,以保護(hù)數(shù)據(jù)信息的完整性。目前為止,很多種加密技術(shù)采用了RSA算法,該算法

39、也已經(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)品。但目前RSA算法的專利期限即將結(jié)束,取而代之的是基于橢圓曲線的密碼方案(ECC算法)。較之于RSA算法,ECC有其相對(duì)優(yōu)點(diǎn),這使得ECC的特性更適合當(dāng)今電子商務(wù)需要快速反應(yīng)的發(fā)展潮流。此外,一種全新的量子密碼也正在發(fā)展中。第四節(jié) DES算法實(shí)例演示一、實(shí)例程序 DES TOOL這是DES TOOL 的截圖,MFC寫的,編譯器是VS 2008,見圖3-1、圖3-2圖3-1 加密工具圖3-2 加密結(jié)果二、文件功

40、能描述:DES加密類#ifndef yxyDESH#define yxyDESH#include #include #include #include using namespace std;class yxyDESpublic: yxyDES(); /類構(gòu)造函數(shù) yxyDES(); /類析構(gòu)函數(shù) void InitializeKey(string); /功能:產(chǎn)生16個(gè)28位的key /參數(shù):源8位的字符串(key) /結(jié)果:函數(shù)將調(diào)用private CreateSubKey將結(jié)果存于char SubKeys1648 void EncryptData(string); /功能:加密8位字符串

41、 /參數(shù):8位字符串 /結(jié)果:函數(shù)將加密后結(jié)果存放于private szCiphertext16 / 用戶通過屬性Ciphertext得到 void DecryptData(string ); /功能:解密16位十六進(jìn)制字符串 /參數(shù):16位十六進(jìn)制字符串 /結(jié)果:函數(shù)將解密候結(jié)果存放于private szPlaintext8 / 用戶通過屬性Plaintext得到 void EncryptAnyLength(string); /功能:加密任意長(zhǎng)度字符串 /參數(shù):任意長(zhǎng)度字符串 /結(jié)果:函數(shù)將加密后結(jié)果存放于private szFCiphertextAnyLength8192 / 用戶通過屬性

42、CiphertextAnyLength得到 void DecryptAnyLength(string); /功能:解密任意長(zhǎng)度十六進(jìn)制字符串 /參數(shù):任意長(zhǎng)度字符串 /結(jié)果:函數(shù)將加密后結(jié)果存放于private szFPlaintextAnyLength4096 / 用戶通過屬性PlaintextAnyLength得到 void SetCiphertext(char* value); /Ciphertext的set函數(shù) char* GetCiphertext(); /Ciphertext的get函數(shù) void SetPlaintext(char* value); /Plaintext的set函

43、數(shù) char* GetPlaintext(); /Plaintext的get函數(shù) char* GetCiphertextAnyLength(); /CiphertextAnyLength的get函數(shù) char* GetPlaintextAnyLength(); /PlaintextAnyLength的get函數(shù)private: char SubKeys1648;/儲(chǔ)存16組48位密鑰 char szCiphertext16;/儲(chǔ)存16位密文(十六進(jìn)制字符串) char szPlaintext8;/儲(chǔ)存8位明文字符串 char szFCiphertextAnyLength8192;/任意長(zhǎng)度密文

44、(十六進(jìn)制字符串) char szFPlaintextAnyLength4096;/任意長(zhǎng)度明文字符串 void CreateSubKey(char*); /功能:生成子密鑰 /參數(shù):經(jīng)過PC1變換的56位二進(jìn)制字符串 /結(jié)果:將保存于char SubKeys1648 void FunctionF(char*,char*,int); /功能:DES中的F函數(shù), /參數(shù):左32位,右32位,key序號(hào)(0-15) /結(jié)果:均在變換左右32位 void InitialPermuteData(string,char*,bool); /功能:IP變換 /參數(shù):待處理字符串,處理后結(jié)果存放指針,加密/解

45、密(true加密,false解密) /結(jié)果:函數(shù)改變第二個(gè)參數(shù)的內(nèi)容 void ExpansionR(char* ,char*); /功能:將右32位進(jìn)行擴(kuò)展位48位, /參數(shù):原32位字符串,擴(kuò)展后結(jié)果存放指針 /結(jié)果:函數(shù)改變第二個(gè)參數(shù)的內(nèi)容 void XOR(char* ,char* ,int ,char*); /功能:異或函數(shù), /參數(shù):待異或的操作字符串1,字符串2,操作數(shù)長(zhǎng)度,處理后結(jié)果存放指針 /結(jié)果: 函數(shù)改變第四個(gè)參數(shù)的內(nèi)容 string CompressFuncS(char* ); /功能:S-BOX , 數(shù)據(jù)壓縮, /參數(shù):48位二進(jìn)制字符串, /結(jié)果:返回結(jié)果:32位字符串 void Permutat

溫馨提示

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