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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、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 informati

4、on 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 encryption

5、 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 on, a

6、nother ,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 key

7、s 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ā)展與國(guó)內(nèi)外研究現(xiàn)狀21.2.1密碼學(xué)的研究背景21.2.2密碼學(xué)的研究發(fā)展21.2.3密碼加密的國(guó)內(nèi)外研究41.3本文主要研究?jī)?nèi)容51.4本章小結(jié)5第二章 對(duì)稱加密算法理論62.1密碼原理介紹62.1.1密碼原理62.1.2密碼

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

9、時(shí),輸出正確答案254.3 des 加密過(guò)程matlab主要函數(shù)274.5 測(cè)試分析284.6 相同課題優(yōu)秀成果討論284.7 本章總結(jié)31心得體會(huì)32參考文獻(xiàn)33致謝34總結(jié)35畢業(yè)設(shè)計(jì)(論文)知識(shí)產(chǎn)權(quán)聲明36畢業(yè)設(shè)計(jì)(論文)獨(dú)創(chuàng)性聲明37附錄:38第一章 課題的研究背景和意義1.1前言信息安全是一個(gè)綜合性的交叉學(xué)科領(lǐng)域,廣泛涉及數(shù)學(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ù)是

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

11、的加密密鑰和解密密鑰相同,而非對(duì)稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開(kāi)而解密密鑰需要保密。通過(guò)數(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)品和訪問(wèn)控制類產(chǎn)品。相對(duì)于防病毒軟件和防火墻軟件來(lái)說(shuō),基于密碼技術(shù)密碼類產(chǎn)品、認(rèn)證類產(chǎn)品份額相對(duì)較小,但隨著金融、電信、政府等行業(yè)信息化建設(shè)對(duì)于網(wǎng)絡(luò)安全整體解決方案需求的增加,將會(huì)有較大的增長(zhǎng)。其中主要

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

13、鑰系統(tǒng)”。相對(duì)于“對(duì)稱加密算法”這種法也叫做“非對(duì)稱加密算法”。與對(duì)稱加密算法不同,非對(duì)稱加密算法需要兩個(gè)密鑰:公開(kāi)密鑰(publickey)和私有密 (privatekey)。公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。在本次畢業(yè)設(shè)計(jì)中,對(duì)公鑰密碼體制進(jìn)行了分析和研究,并對(duì)公鑰密碼體制和私鑰密碼體制的代表rsa算法和des算法進(jìn)行了研究和比較。并且實(shí)現(xiàn)了基本的數(shù)據(jù)加密的處理流程,能提供對(duì)數(shù)據(jù)的安全、有效的保護(hù)。1.2

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

15、戶口令(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ì)信息的加密、解密、信息的保密傳輸,這正是密碼學(xué)研究的內(nèi)容。1.2.2密碼學(xué)的研究發(fā)展 密碼學(xué)擁有悠久、豐富多彩的歷史。作為古典密碼其中的一種,早期出現(xiàn)的密寫(xiě)術(shù)形式只需要紙和筆就可以完成。古典密碼學(xué)的兩大范疇是將消息內(nèi)容進(jìn)行重新排

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

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

18、破解這一類的加密方法。 借助電子計(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ī)要部門(mén)使用的數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)稱des,des是 data encryption standard 的縮寫(xiě)。自從公布以來(lái),它一直廣泛用于

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

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

21、使用“偽隨機(jī)數(shù)”則存在著一定的風(fēng)險(xiǎn)。 近年來(lái)提出的“量子密碼”采用了量子狀態(tài)來(lái)傳遞信息。“海森堡測(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),所以說(shuō)不可能。這樣使用量子狀態(tài)作為“一次性便簽”可以達(dá)到無(wú)條件保密。因?yàn)槿绻孔釉趥鬏斨斜粶y(cè)量,其狀態(tài)就會(huì)改變,從而在傳輸中監(jiān)聽(tīng)者會(huì)因此而暴露。雖然量子密碼擁有優(yōu)秀的安全特性,但目前仍處于研究階段。1.2.3密碼加密的

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

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

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

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

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

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

28、學(xué)運(yùn)算可記為,這里c=密文,p=明文,k=密鑰,f是密碼算法。k是自變量,c是因變量。不同的k有不同的c,對(duì)于某個(gè)密碼算法f,k的選擇范圍越大,c的變化就越多,這個(gè)密碼算法被人破譯的難度就越大,保密強(qiáng)度就越高。如何評(píng)價(jià)k的選擇范圍大小呢?一般是看k的位數(shù),位數(shù)長(zhǎng)的(如128位以上)選擇范圍大,位數(shù)短的(如56位)選擇范圍小。一個(gè)國(guó)家的密碼政策,通常是用位數(shù)長(zhǎng)的高強(qiáng)度密碼(位數(shù)可達(dá))保護(hù)國(guó)家秘密,其它用于保護(hù)商業(yè)秘密。 在數(shù)據(jù)傳輸加密過(guò)程中,收發(fā)雙方線路密碼機(jī)使用的是相同的密碼算法,注入了相同的密鑰,發(fā)方向收方發(fā)出明文,經(jīng)密碼機(jī)變成密文后送上公網(wǎng)通信線路,到達(dá)收方后先經(jīng)密碼機(jī)解密再送到收方電腦上

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

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

31、8年公布的rsa密碼就是這種有兩個(gè)密鑰的密碼。這種密碼保密強(qiáng)度不如單密鑰體制的密碼,一般用于通信雙方的身份確認(rèn)和數(shù)字簽名。 在實(shí)用的互聯(lián)網(wǎng)絡(luò)中,各用戶通過(guò)加密傳輸可形成一個(gè)虛擬的保密互聯(lián)網(wǎng)。該網(wǎng)要由一個(gè)各用戶認(rèn)可的密鑰管理中心來(lái)生成、管理、分發(fā)和銷毀密鑰,同時(shí)各用戶可將自己的“公鑰”也存放在密鑰管理中心。各用戶需進(jìn)行保密通信時(shí),先通過(guò)公鑰系統(tǒng)進(jìn)行身份確認(rèn)(這個(gè)過(guò)程中密鑰管理中心可起到仲裁鑒別作用),雙方確認(rèn)身份后由密鑰管理中心分發(fā)秘密密鑰,雙方用得到秘密密鑰進(jìn)行數(shù)據(jù)或文件的加密傳輸。這種工作方式不但適用于黨政機(jī)關(guān)內(nèi)部,也同樣適用于電子商務(wù),但電子商務(wù)和黨政機(jī)關(guān)不能使用同一個(gè)級(jí)別的密碼設(shè)備,黨政

32、機(jī)關(guān)用的是“普密”設(shè)備,電子商務(wù)只能用“商密”設(shè)備,二者的保密強(qiáng)度是不一樣的。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 年被美國(guó)政府正式采納。它很可能是使用最廣泛的秘鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中,最初開(kāi)發(fā)的 des 是嵌入硬 件中的。通常,自動(dòng)取款機(jī)(automated teller machine,atm)都使用 des。8des 使用一個(gè) 56 位的密鑰以及附加的 8 位奇

33、偶校驗(yàn)位,產(chǎn)生最大 64 位的分組大小。這是一個(gè)迭代的分組密碼,使用稱為 feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對(duì)其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進(jìn)行“異或”運(yùn)算;接著交換這兩半,這一過(guò)程會(huì)繼續(xù)下去,但最后一個(gè)循環(huán)不交換。des 使用 16 個(gè)循環(huán)。9,11攻擊 des 的主要形式被稱為蠻力的或徹底密鑰搜索,即重復(fù)嘗試各種密鑰直到有一個(gè)符合為止。如果 des 使用 56 位的密鑰,則可能的密鑰數(shù)量是 2 的 56 次方個(gè)。隨著計(jì)算機(jī)系統(tǒng)能力的不斷發(fā)展,des 的安全性比它剛出現(xiàn)時(shí)會(huì)弱得多,然而從非關(guān)鍵性質(zhì)的實(shí)際出發(fā),仍可以認(rèn)為它是足夠的。12流程圖如圖1所示1.

34、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)換成二進(jì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),4輸出(b1,b6行,b2b3b4b5列)p置換 p_table()經(jīng)過(guò)e置換表e_t

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

36、14常用的對(duì)稱加密有:des、idea、rc2、rc4、skipjack算法等。2.3本章小結(jié)本章主要對(duì)對(duì)稱加密算法理論作了系統(tǒng)說(shuō)明,包括密碼原理,分組加密原理重點(diǎn)討論了對(duì)稱加密算法des的基本原理,用原理框圖來(lái)詳細(xì)說(shuō)明整個(gè)加密流程。 第三章 加密算法設(shè)計(jì)3.1 數(shù)據(jù)加密過(guò)程1. 對(duì)于任意長(zhǎng)度的明文,des首先對(duì)其進(jìn)行分組,使得每一組的長(zhǎng)度為64位,然后分別對(duì)每個(gè)64位的明文分組進(jìn)行加密。2. 初始置換:輸入分組按照初始置換表重排次序,進(jìn)行初始置換。3. 16輪循環(huán):des對(duì)經(jīng)過(guò)初始置換的64位明文進(jìn)行16輪類似的子加密過(guò)程。每一輪的加密過(guò)程步驟如下: 將64位明文在中間分開(kāi),劃分為2部分,每

37、部分32位,左半部分記為l,右半部分記為r,以下的操作都是對(duì)右半部數(shù)據(jù)分進(jìn)行的。 擴(kuò)展置換:擴(kuò)展置換將32位的輸入數(shù)據(jù)根據(jù)擴(kuò)展置換表擴(kuò)展成為48位的輸出數(shù)據(jù)。 異或運(yùn)算:將48位的明文數(shù)據(jù)與48位的子密鑰進(jìn)行異或運(yùn)算。 s盒置換:s盒置換是非線性的,48位輸入數(shù)據(jù)根據(jù)s盒置換表置換成為32位輸出數(shù)據(jù)。 直接置換:s盒置換后的32位輸出根據(jù)直接置換表進(jìn)行直接置換。經(jīng)過(guò)直接置換的32位輸出數(shù)據(jù)作為下一輪子加密過(guò)程的l部分,這32位輸出數(shù)據(jù)與本輪的l部分進(jìn)行異或操作,結(jié)果作為下一輪子加密過(guò)程的r部分。然后進(jìn)入下一輪子加密過(guò)程,直到16輪全部完成。4. 終結(jié)置換:按照終結(jié)置換表進(jìn)行終結(jié)置換,64位輸出

38、就是密文。數(shù)據(jù)加密流程圖如圖2所示 明 文 分 組初始置換 l0 r0 l1=r0r1=l0f(r0,k1)l15=r14r15=l14f(r14,k15)l16=r15r16=l15f(r15,k16)組成64位數(shù)據(jù)終結(jié)置換 圖2. 數(shù)據(jù)加密過(guò)程流程圖3.2子密鑰的產(chǎn)生過(guò)程在每一輪的子加密過(guò)程中,48位的明文數(shù)據(jù)要與48位的子密鑰進(jìn)行異或運(yùn)算,子密鑰的產(chǎn)生過(guò)程如下:1. 壓縮型換位1:64位密鑰根據(jù)壓縮型換位1置換表進(jìn)行置換,輸出的結(jié)果為56位。2. 將經(jīng)過(guò)壓縮型換位1的56位密鑰數(shù)據(jù)在中間分開(kāi),每部分28位,左半部分記為c,右半部分記為d。3. 16輪循環(huán):c和d要經(jīng)過(guò)16輪類似的操作產(chǎn)生

39、16份子密鑰,每一輪子密鑰的產(chǎn)生過(guò)程如下:循環(huán)左移:根據(jù)循環(huán)左移表對(duì)c和d進(jìn)行循環(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. 子密鑰生成流程圖3.3加密算法步驟解析3.3.1變換密鑰1.取得密鑰從輸入密碼中取得一個(gè)字符串長(zhǎng)為7的密碼,經(jīng)過(guò)字符與二進(jìn)制之間的轉(zhuǎn)變,并加入

40、偶校驗(yàn)位,組成64位密碼key= 2.等分密鑰去除64位密碼中作為奇偶校驗(yàn)位的第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,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,b:63,55,47,39,31,23

41、,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)過(guò)16次迭代得到一組密鑰的,上表顯示在第幾次迭代時(shí)密鑰循環(huán)左移的位數(shù)。比如在第1次迭代時(shí)密鑰循環(huán)左移1位,第3次迭代時(shí)密鑰循環(huán)左移2位. 第9次迭代時(shí)密鑰循環(huán)左移1位,第14次迭代時(shí)密鑰循環(huán)左移2位.4.密鑰的選取密鑰56位到48位壓縮置換表:14, 17, 11, 24, 1, 5, 3,

42、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次迭代生成的兩個(gè)28位長(zhǎng)的密鑰為, =把 合并以。按照上表所示k的第一位為56位密鑰的第14位,k的第2位為56位密鑰的第17位,.,依此類推,k的最后一位是56位密鑰的第32位。生成與進(jìn)行第i次迭代加密的數(shù)據(jù)進(jìn)行按位異或的48位使用密鑰:迭代des算法密鑰生成需要

43、進(jìn)行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ù)塊以補(bǔ)“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,8, 57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3, 61,53,45,37,29

44、,21,13,5,63,55,47,39,31,23,15,7, 按照上表所示把輸入的64位數(shù)據(jù)的原第58位換到第一位,原第50位換到第二位,.,依此類推,最后的得到新的64位數(shù)據(jù)。3.數(shù)據(jù)擴(kuò)展明文擴(kuò)展置換表: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第一次迭代以1.2.2步中生成的newdata作為輸入數(shù)據(jù),第i (i 1)次迭代以第i-1次的64位輸出數(shù)據(jù)為輸入數(shù)據(jù),把64位數(shù)據(jù)按位

45、置等分成左右兩部分:.保持left不變,根據(jù)上表把right由32位擴(kuò)展成48位把擴(kuò)展后的48位right與第i次迭代生成的48位加密密鑰進(jìn)行按位異或操作( rightixor keyi)形成一個(gè)新的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,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

46、,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,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,1

47、4,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,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

48、,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,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

49、,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個(gè)6位二進(jìn)制塊組成 a,b.h都是6位,強(qiáng)制轉(zhuǎn)換成10進(jìn)制整數(shù)的值都不大于64 ,a,bh轉(zhuǎn)成10進(jìn)制整數(shù)后,在對(duì)應(yīng)的表中根據(jù)轉(zhuǎn)換后整數(shù)值取得對(duì)應(yīng)位置

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

51、7, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25把1.2.4步形成的32位right根據(jù)上表進(jìn)行轉(zhuǎn)換:數(shù)據(jù)的原第16位換到第一位,原第7位換到第二位,.,依此類推,最后得到新的32位數(shù)據(jù)。6.交換數(shù)據(jù)把right 和left按位異或后的值賦給right,然后將本輪輸入的原始right值賦給left。7.迭代des算法需要進(jìn)行16次迭代,在完成16次迭代前,把第i-1次得到的的left和right的值作為第i次的輸入數(shù)據(jù),重復(fù)1.2.3-1.2.6的步驟,但是有一點(diǎn)要記住:在步驟1.2.3中第i次迭代要選擇第i次迭代生成的密鑰與數(shù)據(jù)進(jìn)行按位異或。8.數(shù)據(jù)整理明文末置換表

52、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為保證加密和解密的對(duì)稱性,des算法的前15次迭代每完成一次迭代都要交換left和right的值,第16次迭代不交換兩者的數(shù)值. 到此把32位的left和right合并成64位的data根據(jù)上表重新調(diào)整data的位值數(shù)據(jù)的原第40位換到

53、第一位,原第8位換到第二位,.,依此類推,最后的得到新的64位。data即為密文。3.4優(yōu)點(diǎn)與缺點(diǎn)1.產(chǎn)生密鑰簡(jiǎn)單,但密鑰必須高度保密,因而難以做到一次一密。2.安全性,des的安全性依賴于密鑰的保密。攻擊 des 的主要形式被稱為蠻力的或徹底密鑰搜索,即重復(fù)嘗試各種密鑰直到有一個(gè)符合為止。如果 des 使用 56 位的密鑰,則可能的密鑰數(shù)量是 2 的 56 次方個(gè)。隨著計(jì)算機(jī)系統(tǒng)能力的不斷發(fā)展,des 的安全性比它剛出現(xiàn)時(shí)會(huì)弱得多,然而從非關(guān)鍵性質(zhì)的實(shí)際出發(fā),仍可以認(rèn)為它是足夠的。3速度較快,但密鑰位數(shù)少,為保證安全性,使運(yùn)算代價(jià)很高,尤其是速度較rsa算法快幾個(gè)數(shù)量級(jí),論文核心內(nèi)容aes是

54、美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所nist旨在取代des的21世紀(jì)的加密標(biāo)準(zhǔn)。基本要求是,采用對(duì)稱分組密碼體制,密鑰長(zhǎng)度的最少支持為128、192、256,分組長(zhǎng)度128位, aes加密數(shù)據(jù)塊大小最大是256bit,但是密鑰大小在理論上沒(méi)有上限。aes加密有很多輪的重復(fù)和變換。對(duì)稱加密算法的優(yōu)點(diǎn):加密效率高,密鑰比較短,可以用來(lái)構(gòu)造各種密碼機(jī)制,可以用來(lái)建造安全性更強(qiáng)的密碼。對(duì)稱加密算法的缺點(diǎn):通信雙方都要保持密鑰的秘密性,在大型網(wǎng)絡(luò)中,每個(gè)人需持有許多密鑰,為了安全,需要經(jīng)常更換密鑰。3.5本章總結(jié) 本章詳細(xì)列出了des加密算法的步驟:主要包括子密鑰的生成過(guò)程和加密算法的主流過(guò)程。其中,子密鑰的生成主要依靠置換和移位完成,最終生成16個(gè)子密鑰,為主流程的加密實(shí)現(xiàn)做準(zhǔn)備。主流程加密算法主要包括置換,擴(kuò)展,壓縮,16次循環(huán),逆置換等實(shí)現(xiàn)整個(gè)流程,最后,對(duì)此加密算法的優(yōu)點(diǎn)和缺點(diǎn)作了討論。 第四章 設(shè)計(jì)實(shí)現(xiàn)4.1 論文所涉及的平臺(tái)和工具:4.1.1matlab 介紹: matlab是矩陣實(shí)驗(yàn)室(matrix laboratory)的簡(jiǎn)稱,是美國(guó)mathworks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括matlab和simulink兩大部分?;竟δ埽簃atlab是由美國(guó)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論