畢業(yè)設(shè)計(論文)基于對稱密碼的加密算法設(shè)計_第1頁
畢業(yè)設(shè)計(論文)基于對稱密碼的加密算法設(shè)計_第2頁
畢業(yè)設(shè)計(論文)基于對稱密碼的加密算法設(shè)計_第3頁
畢業(yè)設(shè)計(論文)基于對稱密碼的加密算法設(shè)計_第4頁
畢業(yè)設(shè)計(論文)基于對稱密碼的加密算法設(shè)計_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要 本科畢業(yè)設(shè)計(論文)題目:基于對稱密碼的加密算法設(shè)計院 (系): 電子信息工程學(xué)院 專 業(yè): 電子信息科學(xué)與技術(shù)班 級: 學(xué) 生: 學(xué) 號: 指導(dǎo)教師: 2011年 06月摘要 本科畢業(yè)設(shè)計(論文)題目:基于對稱密碼的加密算法設(shè)計院 (系): 電子信息工程學(xué)院 專 業(yè): 電子信息科學(xué)與技術(shù)班 級: 0 7 0 4 0 5 學(xué) 生: 學(xué) 號: 指導(dǎo)教師: 2011年 06月基于對稱密碼的加密算法設(shè)計摘 要隨著信息技術(shù)的發(fā)展,人們在享受信息資源所帶來的巨大的利益的時,也面臨著信息安全的嚴峻考驗,信息安全已經(jīng)成為世界性的現(xiàn)實問題,同時,信息安全問題也是人們能否護自己的個人隱私的關(guān)鍵,于是,信息

2、加密就變得尤為重要。本文首先介紹了對稱加密算法的研究意義和研究背景,接著說明了密碼原理與des加密原理,著重介紹了des加密算法的原理步驟,核心算法主要分為子密鑰的生成和加密流程循環(huán),其中子密鑰核心為置換和移位,主流程序主要包括16次迭代,f函數(shù),s盒運算等,再次,介紹matlab的使用和基于matlab的算法編程以及matlab gui的生成及界面的友好性和美觀化設(shè)置,最后討論了同類優(yōu)秀作品。 本論文最終實現(xiàn)能在matlab用戶界面上任意輸入加密數(shù)據(jù)和密鑰,經(jīng)加密后輸出16位十六進制密文數(shù)據(jù)。關(guān)鍵詞:加密;數(shù)據(jù)加密;密碼體制;des;rsabased on symmetrical passw

3、ord encryption algorithm design abstractwith the development of information society, people enjoy the great benefits brought information resources about, also faces a severe test of information security, information security has become the worlds real problems, at the same time, the problem of infor

4、mation security is also can protect your personal people, then, the key to privacy information encryption is especially important.this paper first introduced the symmetrical encryption algorithm research significance and research background, and then illustrates the password principle and des encryp

5、tion principle, introduces the principle of the encryption algorithm des steps, main algorithm are divided into the son key generation and encryption process cycle, which key work for replacement and shift, the mainstream procedure is composed of 16 iteration, f function, s box of operation and so o

6、n, another ,is introduced matlab again and use of matlab algorithm based on matlab programming , the generation of gui interface,the friendly and beauty settings, finally discussed the excellent papers with the same topic.this paper finally finish the work which can get any input data and encryption

7、 keys in matlab interface, and output 16 datas with hex plaintext after encryption .keywords: encryption; des encryption; cryptosystem; des; rsa目錄目 錄摘 要iabstractii第一章 課題的研究背景和意義11.1前言11.2密碼學(xué)的發(fā)展與國內(nèi)外研究現(xiàn)狀21.2.1密碼學(xué)的研究背景21.2.2密碼學(xué)的研究發(fā)展21.2.3密碼加密的國內(nèi)外研究41.3本文主要研究內(nèi)容51.4本章小結(jié)5第二章 對稱加密算法理論62.1密碼原理介紹62.1.1密碼原理62

8、.1.2密碼體制62.2分組加密算法72.2.1加密算法des介紹72.2.2加密算法aes介紹92.3本章小結(jié)9第三章 加密算法設(shè)計103.1數(shù)據(jù)加密過程103.2子密鑰的產(chǎn)生過程123.3加密算法步驟解析143.3.1變換密鑰143.3.2數(shù)據(jù)的加密操作153.4優(yōu)點與缺點193.5本章總結(jié)19第四章 設(shè)計實現(xiàn)204.1 論文所涉及的平臺和工具:204.1.1 matlab 介紹:204.1.2 matlab gui工具介紹:224.1.3 使用matlab gui工具生成endes.m,endes.fig文件。234.2 des加密過程圖示:234.2.1 輸入有誤時界面提示234.2.

9、2 輸入無誤時,輸出正確答案254.3 des 加密過程matlab主要函數(shù)274.5 測試分析284.6 相同課題優(yōu)秀成果討論284.7 本章總結(jié)31心得體會32參考文獻33致謝34總結(jié)35畢業(yè)設(shè)計(論文)知識產(chǎn)權(quán)聲明36畢業(yè)設(shè)計(論文)獨創(chuàng)性聲明37附錄:38西安工業(yè)大學(xué)畢業(yè)設(shè)計(論文)第一章 課題的研究背景和意義1.1前言信息安全是一個綜合性的交叉學(xué)科領(lǐng)域,廣泛涉及數(shù)學(xué)、密碼學(xué)、計算機、通信、控制、人工智能、安全工程、人文科學(xué)等諸多學(xué)科,是近幾年迅速發(fā)展的一個熱點學(xué)科領(lǐng)域。信息對抗和網(wǎng)絡(luò)安全是信息安全的核心熱點,它的研究和發(fā)展又將刺激、推動和促進相關(guān)學(xué)科的研究與發(fā)展。至今,密碼技術(shù)是取得

10、信息安全性最有效的一種方法, 密碼技術(shù)是信息安全的核心技術(shù)。1加密技術(shù)包括兩個元素:算法和密鑰。算法是將普通的文本(或者可以理解的信息)與一串?dāng)?shù)字(密鑰)的結(jié)合,產(chǎn)生不可理解的密文的步驟,密鑰是用來對數(shù)據(jù)進行編碼和解碼的一種算法。在安全保密中,可通過適當(dāng)?shù)拿荑€加密技術(shù)和管理機制來保證網(wǎng)絡(luò)的信息通訊安全。密鑰加密技術(shù)的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。相應(yīng)地,對數(shù)據(jù)加密的技術(shù)分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數(shù)據(jù)加密標(biāo)準(zhǔn)(des,data encryption standard)算法為典型代表,非對稱加密通常以rsa(rivest shami

11、r ad1eman)算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。通過數(shù)據(jù)加密,人們可以有效地保證通信線路上的內(nèi)容不被泄露,而且還可以檢驗傳送信息的完整性。進一步,密碼技術(shù)可以應(yīng)用于數(shù)字簽名、身份認證和信息鑒定,這些應(yīng)用對于資源存取控制以及其它安全措施是必須而且有效的。信息安全產(chǎn)品從應(yīng)用類型上可以分為防火墻類產(chǎn)品、防病毒類產(chǎn)品、防攻擊類產(chǎn)品、密碼類產(chǎn)品、認證類產(chǎn)品和訪問控制類產(chǎn)品。相對于防病毒軟件和防火墻軟件來說,基于密碼技術(shù)密碼類產(chǎn)品、認證類產(chǎn)品份額相對較小,但隨著金融、電信、政府等行業(yè)信息化建設(shè)對于網(wǎng)絡(luò)安全整體解決方

12、案需求的增加,將會有較大的增長。其中主要分為對稱和非對稱。對稱加密采用了對稱密碼編碼技術(shù),它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學(xué)中叫做對稱加密算法,對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難,除了數(shù)據(jù)加密標(biāo)準(zhǔn)(des),另一個對稱密鑰加密系統(tǒng)是國際數(shù)據(jù)加密算法(idea),它比des的加密性好,而且對計算機功能要求也沒有那么高。idea加密標(biāo)準(zhǔn)由pgp(pretty good privacy)系統(tǒng)使用。1976年,美國學(xué)者dime和henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協(xié)議,允許在不安全的媒體上的通訊雙方交換信

13、息,安全地達成一致的密鑰,這就是“公開密鑰系統(tǒng)”。相對于“對稱加密算法”這種法48也叫做“非對稱加密算法”。與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密 (privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應(yīng)的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。在本次畢業(yè)設(shè)計中,對公鑰密碼體制進行了分析和研究,并對公鑰密碼體制和私鑰密碼體制的代表rsa算法和des算法進行了研究和比較。并且實現(xiàn)了基本的數(shù)據(jù)加密的處理流

14、程,能提供對數(shù)據(jù)的安全、有效的保護。1.2 密碼學(xué)的發(fā)展與國內(nèi)外研究現(xiàn)狀1.2.1密碼學(xué)的研究背景 密碼學(xué)泛指一切有關(guān)研究密碼通信的學(xué)問,其中包括下面兩個領(lǐng)域:如何達成秘密通信,以及如何破譯秘密通信。也就是密碼編碼學(xué):指如何達到信息的秘密性,鑒別性的科學(xué);密碼分析學(xué):泛指如何破解密碼系統(tǒng),或偽造信息使密碼系統(tǒng)誤以為真的科學(xué)。從密碼學(xué)的發(fā)展來看,它經(jīng)歷了傳統(tǒng)(古典)密碼學(xué)、近代密碼學(xué)、現(xiàn)代密碼學(xué)幾個階段,計算機、數(shù)學(xué)領(lǐng)域的最新成果往往與密碼學(xué)有關(guān)或被應(yīng)用于密碼學(xué)研究中。 認證過程中,用戶必須向系統(tǒng)提供能夠證明自己身份的信息,證明用戶身份的信息種類很多,可以是用戶所知道的秘密(口令),也可以是生物

15、特征(如指紋)等,但目前使用最廣泛的仍然是用戶口令(password)。在認證系統(tǒng)中口令占據(jù)了非常重要的地位,因此對口令的保護就變得至關(guān)重要。人們提出了許多保護口令的方法,力圖保障口令的安全與秘密。這些保護認證信息的方法以及認證系統(tǒng)是隨著密碼學(xué)的發(fā)展一起發(fā)展的,密碼學(xué)為我們提供了保護口令的一個重要方向。歸根結(jié)底,用戶用以證明自己身份的是一段信息,不論它是口令還是指紋。而迄今為止,確保信息安全的最重要手段是加密。對信息的加密、解密、信息的保密傳輸,這正是密碼學(xué)研究的內(nèi)容。1.2.2密碼學(xué)的研究發(fā)展 密碼學(xué)擁有悠久、豐富多彩的歷史。作為古典密碼其中的一種,早期出現(xiàn)的密寫術(shù)形式只需要紙和筆就可以完成

16、。古典密碼學(xué)的兩大范疇是將消息內(nèi)容進行重新排列的位移密碼和系統(tǒng)地將字母進行替換的替換密碼。古典密碼學(xué)會透露出與明文統(tǒng)計學(xué)結(jié)果相關(guān)的大量信息,因此容易被破解,如對頻率分析可以有效地攻擊古典密碼。盡管保密強度很低,由于實現(xiàn)難度低,加密解密快,古典密碼至今仍然被廣泛使用。在古典密碼學(xué)中,有四種類型的代替密碼: 1簡單代替密碼,或單字母密碼:就是明文的一個字符用相應(yīng)的一個密文字符代替。caesar 密碼就是典型的簡單替代密碼。2多編碼代替密碼:它與簡單代替密碼系統(tǒng)相似,唯一的不同是單個字符明文可以映射成密文的幾個字符之一,例如 a 可能對應(yīng)于5、13、25 或 56,“b”可能對應(yīng)于 7、19、31

17、或 42,等等。3母代替密碼:字符塊被成組加密,例如“aba”可能對應(yīng)于“rtq”,abb 可能對應(yīng)于“sll”等。 4多表代替密碼:由多個簡單的代替密碼構(gòu)成,例如,可能有 5 個被使用的不同的簡單代替密碼,單獨的一個字符用來改變明文的每個字符的位置。 20 世紀初,包括轉(zhuǎn)輪機在內(nèi)的一些機械密碼加密裝置被發(fā)明出來,其中最有名的是二次世界大戰(zhàn)中德國使用的恩尼格碼(enigma)機。由這些裝置實現(xiàn)的密碼顯著提高了密碼分析的復(fù)雜程度,大量的攻擊也僅僅取得了有限的結(jié)果。 古典密碼學(xué)以移位密碼、替換密碼、轉(zhuǎn)輪機為代表,以替代和置換為基礎(chǔ)的密碼系統(tǒng)在今天看來已經(jīng)不堪一擊,無法保證信息的安全,對處心積慮的攻

18、擊者來說形同虛設(shè),因為已經(jīng)有成熟的分析方法來破解這一類的加密方法。 借助電子計算機的發(fā)展,人們可以實現(xiàn)更復(fù)雜的密碼系統(tǒng)。與古典密碼和機械密碼對26個字母進行操作不同,計算機密碼的一個顯著特征是對二進制串進行操作。計算機密碼對密碼分析有更強的抵抗力,只有少數(shù)情況下唯密文攻擊才會生效。 密碼學(xué)的大發(fā)展時期是上世紀70年代,以des和rsa算法的提出為代表。一系列的突破創(chuàng)立了新的密碼學(xué)體系。des是對稱密鑰分組密碼的一個典型代表,美國國家標(biāo)準(zhǔn)局于 1977 年公布了由ibm公司研制的一種加密算法,批準(zhǔn)把它作為非機要部門使用的數(shù)據(jù)加密標(biāo)準(zhǔn)簡稱des,des是 data encryption stand

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

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

21、“真”隨機數(shù)是不容易通過固定算法來產(chǎn)生的,而使用“偽隨機數(shù)”則存在著一定的風(fēng)險。 近年來提出的“量子密碼”采用了量子狀態(tài)來傳遞信息?!昂Iy不準(zhǔn)原理”是量子力學(xué)的基本原理,它表明,在同一時刻以相同的精度測定量子的位置與動量是不可能的,只能精確測定兩者之一?!皢瘟孔硬豢蓮?fù)制定理”是“海森堡測不準(zhǔn)原理”的推論,它表明,在不知道量子狀態(tài)的情況下復(fù)制單個量子是不可能的,因為要復(fù)制單個量子就只能先作測量,而測量必然改變量子的狀態(tài),所以說不可能。這樣使用量子狀態(tài)作為“一次性便簽”可以達到無條件保密。因為如果量子在傳輸中被測量,其狀態(tài)就會改變,從而在傳輸中監(jiān)聽者會因此而暴露。雖然量子密碼擁有優(yōu)秀的安全特性

22、,但目前仍處于研究階段。1.2.3密碼加密的國內(nèi)外研究國外目前不僅在密碼基礎(chǔ)理論方面的研究做的很好,而且在實際應(yīng)用方面也做的非常好。制定了一系列的密碼標(biāo)準(zhǔn),特別規(guī)范。算法的征集和討論都已經(jīng)公開化,但密碼技術(shù)作為一種關(guān)鍵技術(shù),各國都不會放棄自主權(quán)和控制權(quán),都在爭奪霸權(quán)地位。美國征集aes的活動就充分體現(xiàn)了這一點,歐洲和日本就不愿意袖手旁觀,他們也采取了相應(yīng)的措施,其計劃比美國更宏大,投資力度更大。2我國在密碼基礎(chǔ)理論的某些方面的研究做的很好,但在實際應(yīng)用方面與國外的差距較大,沒有自己的標(biāo)準(zhǔn),也不規(guī)范。 目前最為人們所關(guān)注的實用密碼技術(shù)是pki技術(shù)。國外的pki應(yīng)用已經(jīng)開始,開發(fā)pki的廠商也有多

23、家。許多廠家,如baltimore,entrust等推出了可以應(yīng)用的pki產(chǎn)品,有些公司如verysign等已經(jīng)開始提供pki服務(wù)。網(wǎng)絡(luò)許多應(yīng)用正在使用pki技術(shù)來保證網(wǎng)絡(luò)的認證、加解密和密鑰管理等。盡管如此,總的說來pki技術(shù)仍在發(fā)展中。按照國外一些調(diào)查公司的說法,pki系統(tǒng)僅僅還是在做示范工程。idc公司的internet安全資深分析家認為:pki技術(shù)將成為所有應(yīng)用的計算基礎(chǔ)結(jié)構(gòu)的核心部件,包括那些越出傳統(tǒng)網(wǎng)絡(luò)界限的應(yīng)用。b2b電子商務(wù)活動需要的認證、不可否認等只有pki產(chǎn)品才有能力提供這些功能。2,3 目前國際上對非數(shù)學(xué)的密碼理論與技術(shù)(包括信息隱形,量子密碼,基于生物特征的識別理論與技

24、術(shù)等)非常關(guān)注,討論也非?;钴S。信息隱藏將在未來網(wǎng)絡(luò)中保護信息免于破壞起到重要作用,信息隱藏是網(wǎng)絡(luò)環(huán)境下把機密信息隱藏在大量信息中不讓對方發(fā)覺的一種方法。特別是圖象疊加、數(shù)字水印、潛信道、隱匿協(xié)議等的理論與技術(shù)的研究已經(jīng)引起人們的重視。1996年以來,國際上召開了多次有關(guān)信息隱藏的專業(yè)研討會?;谏锾卣鳎ū热缡中?、指紋、語音、視網(wǎng)膜、虹膜、臉形、dna等)的識別理論與技術(shù)已有所發(fā)展,形成了一些理論和技術(shù),也形成了一些產(chǎn)品,這類產(chǎn)品往往由于成本高而未被廣泛采用。1969年美國哥倫比亞大學(xué)的wiesner創(chuàng)造性地提出了共軛編碼的概念,遺憾的是他的這一思想當(dāng)時沒有被人們接受。十年后,源于共軛編碼概

25、念的量子密碼理論與技術(shù)才取得了令人驚異的進步,已先后在自由空間和商用光纖中完成了單光子密鑰交換協(xié)議,英國bt實驗室通過30公里的光纖信道實現(xiàn)了每秒20k比特的密鑰分配。近年來,英、美、日等國的許多大學(xué)和研究機構(gòu)競相投入到量子密碼的研究之中,更大的計劃在歐洲進行。到目前為止,主要有三大類量子密碼實現(xiàn)方案:一是基于單光子量子信道中測不準(zhǔn)原理的;二是基于量子相關(guān)信道中bell原理的;三是基于兩個非正交量子態(tài)性質(zhì)的。但有許多問題還有待于研究。比如,尋找相應(yīng)的量子效應(yīng)以便提出更多的量子密鑰分配協(xié)議,量子加密理論的形成和完善,量子密碼協(xié)議的安全性分析方法研究,量子加密算法的開發(fā),量子密碼的實 用化等??偟?/p>

26、來說,非數(shù)學(xué)的密碼理論與技術(shù)還處于探索之中。3,41.3本文主要研究內(nèi)容本文首先介紹了對稱加密算法的研究意義和研究背景,接著說明了密碼原理與des加密原理,著重介紹了des加密算法的原理步驟,核心算法(包括子密鑰生成,16次迭代,f函數(shù),s盒運算)等,再次,介紹matlab的使用和基于matlab的算法編程以及matlab gui的生成及界面的友好性和美觀化設(shè)置,最后討論了同類優(yōu)秀作品和界面的最終生成。具體來講,des加密原理和邏輯關(guān)系順序的理解是基礎(chǔ),只有具體的全面的理解了數(shù)學(xué)原理,并能用較簡單的語言描述,才是后續(xù)編程和一切工作的基礎(chǔ),再次,matlab語言基礎(chǔ)知識的掌握也是本次畢業(yè)設(shè)計的前

27、提,從基本矩陣的了解,到編程語言的靈活編寫,最后,matlab用戶圖形界面設(shè)計,版面設(shè)計,程序調(diào)試,之間,回調(diào)函數(shù)的編寫是難點也是重點,最終實現(xiàn)了能夠任意輸入明文數(shù)據(jù)和密鑰,經(jīng)過加密生成16位十六進制密文數(shù)據(jù)。1.4 本章小結(jié)本章主要討論了本課題的研究背景和現(xiàn)實意義及國內(nèi)外發(fā)展現(xiàn)狀,同時對密碼學(xué)及密碼加密的最新成果作了了解,最后說明了本課題的主要研究內(nèi)容。對稱加密算法理論第二章 對稱加密算法理論2.1密碼原理介紹2.1.1密碼原理所謂加密,就是將正常情況下可懂的文件數(shù)據(jù)輸入密碼機,由密碼機變成不可懂的亂碼,即將“明文”變成“密文”;所謂解密,就是上述過程的逆過程,即將“密文” 變成“明文”。密

28、碼機可看做是一個用電子元件實現(xiàn)一種復(fù)雜數(shù)學(xué)運算的機器。復(fù)雜數(shù)學(xué)運算可記為,這里c=密文,p=明文,k=密鑰,f是密碼算法。k是自變量,c是因變量。不同的k有不同的c,對于某個密碼算法f,k的選擇范圍越大,c的變化就越多,這個密碼算法被人破譯的難度就越大,保密強度就越高。如何評價k的選擇范圍大小呢?一般是看k的位數(shù),位數(shù)長的(如128位以上)選擇范圍大,位數(shù)短的(如56位)選擇范圍小。一個國家的密碼政策,通常是用位數(shù)長的高強度密碼(位數(shù)可達)保護國家秘密,其它用于保護商業(yè)秘密。 在數(shù)據(jù)傳輸加密過程中,收發(fā)雙方線路密碼機使用的是相同的密碼算法,注入了相同的密鑰,發(fā)方向收方發(fā)出明文,經(jīng)密碼機變成密文

29、后送上公網(wǎng)通信線路,到達收方后先經(jīng)密碼機解密再送到收方電腦上。密文在公用通信網(wǎng)上傳輸時,如果被截收,竊密方收到的是不可懂的亂碼,無法竊取信息內(nèi)容。 在文件存儲加密中,加密解密卡加解密采用同一種算法和同一個密鑰,工作人員用電腦處理文件后先將文件加密再存入磁盤,以防竊密者盜用磁盤竊取文件。工作人員調(diào)用該文件時,文件先經(jīng)解密再從顯示器上顯示出來以供使用。2.1.2密碼體制 剛才講密碼原理時,收發(fā)雙方密碼機的密碼算法一致、密鑰一致,這在密碼體制中叫“秘密密鑰體制”或“單密鑰體制”,這是一種傳統(tǒng)的密碼體制,有系統(tǒng)的理論研究和完善的管理機制,技術(shù)成熟,性能穩(wěn)定,國內(nèi)自行研制的產(chǎn)品安全可靠、保密強度高,一般

30、用于文件數(shù)據(jù)加密存儲和傳輸。國外著名的des密碼就是美國政府1977年發(fā)布的密鑰長度為56位的“秘密密鑰體制”的密碼。這種密碼的缺陷是:僅適用于內(nèi)部的,點對點方式的,事前雙方已知密鑰的兩點之間的加密傳輸,保守密鑰的秘密十分重要,密鑰一旦丟失,整個系統(tǒng)都要立即更換密鑰,否則竊密者將可能輕而易舉的破解密文。 隨著近代計算機網(wǎng)絡(luò)的發(fā)展,不同部門、不同單位網(wǎng)上交往增多,“單密鑰體制”顯出了它的局限性,人們很難對眾多的部門和單位保管好各自不同的密鑰。西安工業(yè)大學(xué)畢業(yè)設(shè)計(論文)于是人們又發(fā)明了“公開密鑰體制”或叫“雙密鑰體制”。它是基于一些數(shù)學(xué)問題而發(fā)明出來的密碼體制,這些數(shù)學(xué)問題可記為,其中,寫在一起

31、就是,這個公式說明有這樣一種數(shù)學(xué)運算,它可以將用密鑰k加密的密文用密鑰k解密,國外1978年公布的rsa密碼就是這種有兩個密鑰的密碼。這種密碼保密強度不如單密鑰體制的密碼,一般用于通信雙方的身份確認和數(shù)字簽名。 在實用的互聯(lián)網(wǎng)絡(luò)中,各用戶通過加密傳輸可形成一個虛擬的保密互聯(lián)網(wǎng)。該網(wǎng)要由一個各用戶認可的密鑰管理中心來生成、管理、分發(fā)和銷毀密鑰,同時各用戶可將自己的“公鑰”也存放在密鑰管理中心。各用戶需進行保密通信時,先通過公鑰系統(tǒng)進行身份確認(這個過程中密鑰管理中心可起到仲裁鑒別作用),雙方確認身份后由密鑰管理中心分發(fā)秘密密鑰,雙方用得到秘密密鑰進行數(shù)據(jù)或文件的加密傳輸。這種工作方式不但適用于黨

32、政機關(guān)內(nèi)部,也同樣適用于電子商務(wù),但電子商務(wù)和黨政機關(guān)不能使用同一個級別的密碼設(shè)備,黨政機關(guān)用的是“普密”設(shè)備,電子商務(wù)只能用“商密”設(shè)備,二者的保密強度是不一樣的。2.2、分組加密算法2.2.1加密算法des介紹數(shù)據(jù)加密算法(data encryption algorithm,dea)的數(shù)據(jù)加密標(biāo)準(zhǔn)(data encryption standard,des)是規(guī)范的描述,它出自 ibm 的研究工作,并在 1997 年被美國政府正式采納。它很可能是使用最廣泛的秘鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的 des 是嵌入硬 件中的。通常,自動取款機(automated teller mac

33、hine,atm)都使用 des。8des 使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產(chǎn)生最大 64 位的分組大小。這是一個迭代的分組密碼,使用稱為 feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。des 使用 16 個循環(huán)。9,11攻擊 des 的主要形式被稱為蠻力的或徹底密鑰搜索,即重復(fù)嘗試各種密鑰直到有一個符合為止。如果 des 使用 56 位的密鑰,則可能的密鑰數(shù)量是 2 的 56 次方個。隨著計算機系統(tǒng)能力的不斷發(fā)展,des 的安全性比它剛出

34、現(xiàn)時會弱得多,然而從非關(guān)鍵性質(zhì)的實際出發(fā),仍可以認為它是足夠的。12流程圖如圖1所示1.2.9.16次循環(huán)一位,其余兩位begin(64bit)密文輸出逆置換循環(huán)生成密鑰ki(i=1:16)初始置換l0(32),r0(32)初始明文 i=1:64li=ri-1ri=li-1xorf(ri-1,ki)以字符串形式接收明文,并且轉(zhuǎn)換成二進制的ascii碼i=1:16置換2,形成48位子密鑰k1形成左右28位ci,di合并56位f函數(shù)(32)f(ri-1,ki)64位初始密鑰選擇置換56c0(28),d0(28)s1s8(64)(4832)s_boxsi盒6輸入(b1,b2,b3,b4,b5,b6)

35、,4輸出(b1,b6行,b2b3b4b5列)p置換 p_table()經(jīng)過e置換表e_table()r0(3248)異或xor()輸出轉(zhuǎn)化bytetobit()與l0異或生成r1 圖1. des加密算法結(jié)構(gòu)框圖2.2.2加密算法aes介紹aes是美國聯(lián)邦政府采用的商業(yè)及政府?dāng)?shù)據(jù)加密標(biāo)準(zhǔn),預(yù)計將在未來幾十年里代替des在各個領(lǐng)域中得到廣泛應(yīng)用。aes提供128位密鑰,因此,128位aes的加密強度是56位des加密強度的1021倍還多。假設(shè)可以制造一部可以在1秒內(nèi)破解des密碼的機器,那么使用這臺機器破解一個128位aes密碼需要大約149億萬年的時間。(更深一步比較而言,宇宙一般被認為存在了還

36、不到200億年)因此可以預(yù)計,美國國家標(biāo)準(zhǔn)局倡導(dǎo)的aes即將作為新標(biāo)準(zhǔn)取代des。13,14常用的對稱加密有:des、idea、rc2、rc4、skipjack算法等。2.3本章小結(jié)本章主要對對稱加密算法理論作了系統(tǒng)說明,包括密碼原理,分組加密原理重點討論了對稱加密算法des的基本原理,用原理框圖來詳細說明整個加密流程。 加密算法設(shè)計第三章 加密算法設(shè)計3.1 數(shù)據(jù)加密過程1. 對于任意長度的明文,des首先對其進行分組,使得每一組的長度為64位,然后分別對每個64位的明文分組進行加密。2. 初始置換:輸入分組按照初始置換表重排次序,進行初始置換。3. 16輪循環(huán):des對經(jīng)過初始置換的64位

37、明文進行16輪類似的子加密過程。每一輪的加密過程步驟如下: 將64位明文在中間分開,劃分為2部分,每部分32位,左半部分記為l,右半部分記為r,以下的操作都是對右半部數(shù)據(jù)分進行的。 擴展置換:擴展置換將32位的輸入數(shù)據(jù)根據(jù)擴展置換表擴展成為48位的輸出數(shù)據(jù)。 異或運算:將48位的明文數(shù)據(jù)與48位的子密鑰進行異或運算。 s盒置換:s盒置換是非線性的,48位輸入數(shù)據(jù)根據(jù)s盒置換表置換成為32位輸出數(shù)據(jù)。 直接置換:s盒置換后的32位輸出根據(jù)直接置換表進行直接置換。經(jīng)過直接置換的32位輸出數(shù)據(jù)作為下一輪子加密過程的l部分,這32位輸出數(shù)據(jù)與本輪的l部分進行異或操作,結(jié)果作為下一輪子加密過程的r部分。

38、然后進入下一輪子加密過程,直到16輪全部完成。4. 終結(jié)置換:按照終結(jié)置換表進行終結(jié)置換,64位輸出就是密文。數(shù)據(jù)加密流程圖如圖2所示西安工業(yè)大學(xué)畢業(yè)設(shè)計(論文) 明 文 分 組初始置換 l0 r0 l1=r0r1=l0f(r0,k1)l15=r14r15=l14f(r14,k15)l16=r15r16=l15f(r15,k16)組成64位數(shù)據(jù)終結(jié)置換 圖2. 數(shù)據(jù)加密過程流程圖3.2子密鑰的產(chǎn)生過程在每一輪的子加密過程中,48位的明文數(shù)據(jù)要與48位的子密鑰進行異或運算,子密鑰的產(chǎn)生過程如下:1. 壓縮型換位1:64位密鑰根據(jù)壓縮型換位1置換表進行置換,輸出的結(jié)果為56位。2. 將經(jīng)過壓縮型換

39、位1的56位密鑰數(shù)據(jù)在中間分開,每部分28位,左半部分記為c,右半部分記為d。3. 16輪循環(huán):c和d要經(jīng)過16輪類似的操作產(chǎn)生16份子密鑰,每一輪子密鑰的產(chǎn)生過程如下:循環(huán)左移:根據(jù)循環(huán)左移表對c和d進行循環(huán)左移。循環(huán)左移后的c和d部分作為下一輪子密鑰的輸入數(shù)據(jù),直到16輪全部完成。將c和d部分合并成為56位的數(shù)據(jù)。16位子密鑰生成流程圖如圖3壓縮型換位1初始密鑰輸入 c0 d0 循環(huán)左移 循環(huán)左移 c1 d1 循環(huán)左移 循環(huán)左移 ci di 循環(huán)左移 循環(huán)左移 c16 d16壓縮型換位2 壓縮型換位2壓縮型換位2 1,2.,364 1,2.,3 1,2.,32828 圖3. 子密鑰生成流程

40、圖3.3加密算法步驟解析3.3.1變換密鑰1.取得密鑰從輸入密碼中取得一個字符串長為7的密碼,經(jīng)過字符與二進制之間的轉(zhuǎn)變,并加入偶校驗位,組成64位密碼key= 2.等分密鑰去除64位密碼中作為奇偶校驗位的第8、16、24、32、40、48、56、64位,剩下的56位作為有效輸入密鑰。分成均等的a,b兩部分,每部分為28位,參照下表把輸入密鑰的位值填入相應(yīng)的位置. 按照表所示a的第一位為輸入的64位密鑰的第57位,a的第2位為64位密鑰的第49位,.,依此類推,a的最后一位最后一位是64位密鑰的第36位。密鑰初始置換表:a:57,49,41,33,25,17,9,1,58,50,42,34,2

41、6,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,b:63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,43.密鑰移位次數(shù):1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16左移:1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1des算法的密鑰是經(jīng)過16次迭代得到一組密鑰的,上表顯示在第幾次迭代時密鑰循環(huán)左移的位數(shù)。比如在第1次迭代時密鑰循環(huán)左移1位,第3次迭代時密鑰循環(huán)左移2位. 第9次迭代時密鑰循環(huán)左移1位

42、,第14次迭代時密鑰循環(huán)左移2位.4.密鑰的選取密鑰56位到48位壓縮置換表:14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32在1.1.3步中第i次迭代生成的兩個28位長的密鑰為, =把 合并以。按照上表所示k的第一位為56位密鑰的第14位,k的第2位為56位密鑰的第17位,.,依此

43、類推,k的最后一位是56位密鑰的第32位。生成與進行第i次迭代加密的數(shù)據(jù)進行按位異或的48位使用密鑰:迭代des算法密鑰生成需要進行16次迭代,在完成16次迭代前,循環(huán)執(zhí)行2,3,4步.最終形成16套加密密鑰:key0 , key1 , key2 ,. key14 , key15。3.3.2數(shù)據(jù)的加密操作1.取得數(shù)據(jù)明文數(shù)據(jù)分成64位的數(shù)據(jù)塊,不夠64位的數(shù)據(jù)塊以補“0”的方式填充。 2.初始換位 明文初始置換表:58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4, 62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,

44、8, 57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3, 61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7, 按照上表所示把輸入的64位數(shù)據(jù)的原第58位換到第一位,原第50位換到第二位,.,依此類推,最后的得到新的64位數(shù)據(jù)。3.數(shù)據(jù)擴展明文擴展置換表:32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1第一次迭代

45、以1.2.2步中生成的newdata作為輸入數(shù)據(jù),第i (i 1)次迭代以第i-1次的64位輸出數(shù)據(jù)為輸入數(shù)據(jù),把64位數(shù)據(jù)按位置等分成左右兩部分:.保持left不變,根據(jù)上表把right由32位擴展成48位把擴展后的48位right與第i次迭代生成的48位加密密鑰進行按位異或操作( rightixor keyi)形成一個新的48位的right.4.數(shù)據(jù)壓縮選擇函數(shù)s盒函數(shù)表:s1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,

46、10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,s2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,s3:10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,

47、1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,s4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,s5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10

48、,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3,s6:12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,s7:4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1

49、,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12,s8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,在1.2.3步中形成了48位的right值,需要把48位的right值轉(zhuǎn)換成32位的right值.把right視為由8個6位二進制塊組成 a

50、,b.h都是6位,強制轉(zhuǎn)換成10進制整數(shù)的值都不大于64 ,a,bh轉(zhuǎn)成10進制整數(shù)后,在對應(yīng)的表中根據(jù)轉(zhuǎn)換后整數(shù)值取得對應(yīng)位置的替代值:a對應(yīng)表s1,b對應(yīng)表s2,c對應(yīng)表s3d對應(yīng)表s4,e對應(yīng)表s5,f對應(yīng)表s6g對應(yīng)表s7,h對應(yīng)表s8在此以s1為例說明其功能,我們可以看到:在s1中,共有4行數(shù)據(jù),命名為0,1、2、3行;每行有16列,命名為0、1、2、3,.,14、15列?,F(xiàn)設(shè)輸入為: 令: 列 行然后在s1表中查得對應(yīng)的數(shù),以4位二進制表示,此即為選擇函數(shù)s1的輸出,每6位用一個4位替換這樣就完成了從48位向32位數(shù)據(jù)的轉(zhuǎn)換。5.數(shù)據(jù)換位 p盒置換表16, 7, 20, 21, 2

51、9, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25把1.2.4步形成的32位right根據(jù)上表進行轉(zhuǎn)換:數(shù)據(jù)的原第16位換到第一位,原第7位換到第二位,.,依此類推,最后得到新的32位數(shù)據(jù)。6.交換數(shù)據(jù)把right 和left按位異或后的值賦給right,然后將本輪輸入的原始right值賦給left。7.迭代des算法需要進行16次迭代,在完成16次迭代前,把第i-1次得到的的left和right的值作為第i次的輸入數(shù)據(jù),重復(fù)1.2.3-1.2

52、.6的步驟,但是有一點要記住:在步驟1.2.3中第i次迭代要選擇第i次迭代生成的密鑰與數(shù)據(jù)進行按位異或。8.數(shù)據(jù)整理明文末置換表40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26,33,1,41,9,49,17,57,25為保證加密和解密的對稱性,des算法的前15次迭代每完成一次迭代都要交換left和right的值,第16次迭

53、代不交換兩者的數(shù)值. 到此把32位的left和right合并成64位的data根據(jù)上表重新調(diào)整data的位值數(shù)據(jù)的原第40位換到第一位,原第8位換到第二位,.,依此類推,最后的得到新的64位。data即為密文。3.4優(yōu)點與缺點1.產(chǎn)生密鑰簡單,但密鑰必須高度保密,因而難以做到一次一密。2.安全性,des的安全性依賴于密鑰的保密。攻擊 des 的主要形式被稱為蠻力的或徹底密鑰搜索,即重復(fù)嘗試各種密鑰直到有一個符合為止。如果 des 使用 56 位的密鑰,則可能的密鑰數(shù)量是 2 的 56 次方個。隨著計算機系統(tǒng)能力的不斷發(fā)展,des 的安全性比它剛出現(xiàn)時會弱得多,然而從非關(guān)鍵性質(zhì)的實際出發(fā),仍可以

54、認為它是足夠的。3速度較快,但密鑰位數(shù)少,為保證安全性,使運算代價很高,尤其是速度較rsa算法快幾個數(shù)量級,論文核心內(nèi)容aes是美國國家標(biāo)準(zhǔn)技術(shù)研究所nist旨在取代des的21世紀的加密標(biāo)準(zhǔn)。基本要求是,采用對稱分組密碼體制,密鑰長度的最少支持為128、192、256,分組長度128位, aes加密數(shù)據(jù)塊大小最大是256bit,但是密鑰大小在理論上沒有上限。aes加密有很多輪的重復(fù)和變換。對稱加密算法的優(yōu)點:加密效率高,密鑰比較短,可以用來構(gòu)造各種密碼機制,可以用來建造安全性更強的密碼。對稱加密算法的缺點:通信雙方都要保持密鑰的秘密性,在大型網(wǎng)絡(luò)中,每個人需持有許多密鑰,為了安全,需要經(jīng)常更換密鑰。3.5本章總結(jié) 本章詳細列出了des加密算法的步驟:主要包括子密鑰的生成過程和加密算法的主流過程。其中,子密鑰的生成主要依靠置換和移位完成,最終生成16個子密鑰,為主流程的加密實現(xiàn)做準(zhǔn)備。主流程加密算法主要包括置換,擴展,壓縮,16次循環(huán),逆置換等實現(xiàn)整個流程,最后,對此加密算法的優(yōu)點和缺點作了討論。 西安工業(yè)大學(xué)畢業(yè)設(shè)計(論文)第四章 設(shè)計實現(xiàn)4.1 論文所涉及的平臺和工具:4.1.1matlab 介紹: matlab是矩陣實驗室(matrix laboratory)的簡稱

溫馨提示

  • 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

提交評論