




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
中國礦業(yè)大學(xué)密碼學(xué)課程設(shè)計報告院系:計算機學(xué)院專業(yè):信息安全班級:信安08-3班姓名:許多學(xué)號:08083701指導(dǎo)老師:汪楚嬌2011年6月1緒論密碼技術(shù)是一門古老而十分有用的技術(shù),隨著計算機通信技術(shù)的迅猛發(fā)展,大量的敏感信息通過公共設(shè)施或計算機網(wǎng)絡(luò)進行交換。特別是Internet的廣泛應(yīng)用、電子商務(wù)和電子政務(wù)的迅速發(fā)展,越來越多的信息需要嚴格的保密,如:銀行賬號、個人隱私等。正是這種對信息的機密性和真實性的需求,密碼學(xué)才逐成為比較熱門的學(xué)科。近幾年來,信息安全成為全社會的需求,信息安全保障成為國際社會關(guān)注的焦點。而密碼學(xué)是信息安全的核心,應(yīng)用密碼學(xué)技術(shù)是實現(xiàn)安全系統(tǒng)的核心技術(shù)。應(yīng)用密碼學(xué)研究如何實現(xiàn)信息的機密性、完整性和不可否認性。隨著信息系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)的爆炸性增長,形形色色的安全威脅嚴重阻礙了當(dāng)前的信息化進程,因此,亟待使用密碼學(xué)來增強系統(tǒng)的安全性。而密碼學(xué)課程設(shè)計正是為這方面做出了具體的實踐。經(jīng)過前一段時間的學(xué)習(xí),我們對于密碼學(xué)這門課程有了更深的認識和了解,對于一般的密碼學(xué)算法學(xué)會了怎么樣使用。因此,通過密碼學(xué)課程設(shè)計這么課程,對前一段的學(xué)習(xí)進行了檢查。在設(shè)計中,我們選擇做了古典密碼算法,分組密碼算法DES,公鑰密碼算法RSA。這幾種經(jīng)典的密碼算法是我們學(xué)習(xí)密碼學(xué)課程設(shè)計所必須掌握的,也是學(xué)習(xí)信息安全的基礎(chǔ)。在接下來的部分,我將詳細介紹我設(shè)計的過程以及思路。2古典密碼算法2.1古典密碼Hill2.11古典密碼Hill概述Hill體制是1929年由LesterS.Hill發(fā)明的,它實際上就是利用了我們熟知的線性變換方法,是在Z26上進行的。Hill體制的基本思想是將n個明文字母通過線性變換轉(zhuǎn)化為n個密文字母,解密時只需要做一次逆變換即可,密鑰就是變換矩陣。2.12算法原理與設(shè)計思路1.假設(shè)要加密的明文是由26個字母組成,其他字符省略。將每個字符與0-25的一個數(shù)字一一對應(yīng)起來。(例如:a/A—0,b/B—1,……z/Z—25)。2.選擇一個加密矩陣,其中矩陣A必須是可逆矩陣,例如3.將明文字母分別依照次序每n個一組(如果最后一組不足n個的話,就將其補成n個),依照字符與數(shù)字的對應(yīng)關(guān)系得到明文矩陣ming。4.通過加密矩陣A,利用矩陣乘法得到密文矩陣mi=mingmod26;將密文矩陣的數(shù)字與字符對應(yīng)起來,得到密文。5.解密時利用加密矩陣的逆矩陣和密文,可得到明文。6.設(shè)明文為,密文,密鑰為上的n*n階可逆方陣,則2.13關(guān)鍵算法分析歐幾里德算法又稱輾轉(zhuǎn)相除法,用于計算兩個整數(shù)a,b的最大公約數(shù)。產(chǎn)生公約數(shù)的目的是為了下一步求逆矩陣和矩陣時方便運算。這段代碼是加密的過程,主要設(shè)計思想是輸入的明文與矩陣做乘法,當(dāng)明文長度為矩陣階數(shù)的倍數(shù)時,自動將明文變?yōu)榱袛?shù)與矩陣階數(shù)相同,然后進行計算。當(dāng)明文長度不是矩陣階數(shù)的倍數(shù)時,則會出現(xiàn)無關(guān)字符。代碼中的利用矩陣乘法得到的密文輸出即可,而解密的過程只需要利用矩陣的逆矩陣,也就是我們在做乘法的時候?qū)⒕仃嚀Q為它的逆矩陣即可得到明文。2.14運行結(jié)果2.15密碼安全性分析經(jīng)過算法分析和設(shè)計,我們可以知道它的安全強度(m是素數(shù),模數(shù)為合數(shù),不是任意矩陣可逆)為26的m*m次方。例如,當(dāng)m=5時,得出它的安全強度為2的117次方。通過矩陣,將信息均勻分布到每個m長向量的每個分向量中,具有比較好的隨機性,相對于其他的古典密碼來說,Hill是比較安全的。但是在已知m組明文、密文和解密算法的情況下,我們需要解M組同余方程組,因此,密鑰是可以恢復(fù)的。關(guān)鍵是求得加密矩陣的逆—解密矩陣。只要分析出兩個明文向量(線性無關(guān))與相應(yīng)的密文向量。若有如果甲方截獲了一段密文:OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH經(jīng)分析這段密文是用HILL2密碼編譯的,且這段密文的字母UCRS依次代表了字母TACO,我們接著將要進行破譯。關(guān)系如下:計算矩陣的逆破譯密文向量明文向量明文:ClintonisgoingtovisitacountryinMiddle2.2古典密碼Vignere2.21古典密碼Vignere概述1858年法國密碼學(xué)家維吉尼亞提出一種以移位替換為基礎(chǔ)的周期替換密碼。這種密碼是多表替換密碼的一種。是一系列(兩個以上)替換表依次對明文消息的字母進行替換的加密方法。2.22算法原理與設(shè)計思路1.首先使用維吉尼亞方陣,它的基本方陣是26列26行。方陣的第一行是a到z按正常順序排列的字母表,第二行是第一行左移循環(huán)一位得到得,其他各行依次類推。2.加密時,按照密鑰字的指示,決定采用哪一個單表。例如密鑰字是bupt,加密時,明文的第一個字母用與附加列上字母b相對應(yīng)的密碼表進行加密,明文的第二個字母用與附加列的字母u相對應(yīng)的密碼表進行加密,依次類推。3.令英文字母a,b,…,z對應(yīng)于從0到25的整數(shù)。設(shè)明文是n個字母組成的字符串,即m=m1m2m3密鑰字周期性地延伸就給出了明文加密所需的工作密鑰K=k1k2…kn,E(m)=C=c1c2…cn加密:Ci=mi+kimod26解密:mi=ci-kimod26,i=1,2,3,…,n2.23關(guān)鍵算法分析加密算法的關(guān)鍵是給出初始密鑰,例如第一個密鑰字母是e,對第一個明文字母p進行加密時,選用左邊附加列上的字母e對應(yīng)的那一行作為代替密碼表,查處與p相對應(yīng)的密文字母是T,依次類推即可得出明文。上述代碼中的生成密鑰部分為核心代碼,只有密鑰更長,才能保證密碼算法的可靠性。解密算法和加密算法只需要減去密鑰繼續(xù)模26即可得到。2.24運行結(jié)果2.25密碼安全性分析首先,破譯的第一步就是尋找密文中出現(xiàn)超過一次的字母。有兩種情況可能導(dǎo)致這樣的重復(fù)發(fā)生。最有可能的是明文中同樣的字母序列使用密鑰中同樣的字母加了密;另外還有一種較小的可能性是明文中兩個不同的字母序列通過密鑰中不同部分加了密,碰巧都變成了密文中完全一樣的序列。假如我們限制在長序列的范圍內(nèi),那么第二種可能性可以很大程序地被排除,這種情況下,我們多數(shù)考慮到4個字母或4個以上的重復(fù)序列。其次,破譯的第二步是確定密鑰的長度,又看看這一段先:密鑰FORESTFORESTFORESTFORESTFOR明文bettertodowellthantosaywell密文GSKXWKYCUSOXQZKLSGYCJEQPJZC第一個YC出現(xiàn)后到第二個YC的結(jié)尾一共有12個字母(USOXQZKLSGYC)那么密鑰的長度應(yīng)是12的約數(shù)---1,2,3,4,6,12之中的一個(其中,1可排除)。第三,破譯的時候,可以從一下幾個方面進行考慮。1.A-E段,U-Z段以及O-T段的特征比較顯著,可先從這些方面著手;2.如果一些字符串出現(xiàn)的頻率較多,不妨猜猜,特別要注意THE,-ING等的出現(xiàn);3.要留意那些圖表中沒有出現(xiàn)的字母,很多時候也會是突破點,如X與Z的空缺;4.圖表最好還是做一下,畢竟比較直觀,好看。因此,利用單純的數(shù)學(xué)統(tǒng)計方法就可以攻破維吉尼亞密碼,所以在使用這種密碼的過程中,我們盡量增加密鑰的長度,只有密鑰長度的足夠長時,密碼的使用才會越安全。2.3古典密碼Vernam2.31古典密碼Vernam概述Vernam加密法也稱一次性板(One-Time-Pad),用隨機的非重復(fù)的字符集合作為輸出密文.這里最重要的是,一旦使用了變換的輸入密文,就不再在任何其他消息中使用這個輸入密文(因此是一次性的).輸入密文的長度等于原消息明文的長度。2.32算法原理與設(shè)計思路Vernam的加密過程1.按遞增順序把每個明文字母作為一個數(shù)字,A=0,B=1等等。2.對輸入密文中每一個字母做相同的處理。3.將明文中的每個字母與密鑰中的相應(yīng)字母相加。4.如果得到的和大于26,則從中減去26。5.將和轉(zhuǎn)化為字母,從而得到密文。顯然,由于一次性板用完就要放棄,因此這個技術(shù)相當(dāng)安全,適合少量明文消息,但是對大消息是行不通的(一次性板稱為密鑰(Key),并且明文有多長,密鑰就有多長,因此對于大消息行不通).Vernam加密法最初是AT&T公司借助所謂的Vernam機實現(xiàn)的.假設(shè)對明文消息HOWAREYOU進行Verman加密,一次性板為NCBTZQARX得到的密文消息UQXTUYFR.以下是圖解1.明文:HOWAREYOU714220174241420+2.密鑰NCBTZQARX1321192516017233.初始和2016231942202431434.大于25則減去26201623191620245175.密文UQXTQUYFR2.33關(guān)鍵算法分析加密和解密的關(guān)鍵實現(xiàn)上是一個對應(yīng)位相加的過程。在加密和解密之前還要做輔助工作,就是字符的轉(zhuǎn)換問題,注意變量的傳遞。2.34運行結(jié)果3數(shù)據(jù)加密算法DES3.1概述數(shù)據(jù)加密算法(DataEncryptionAlgorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動取款機(AutomatedTellerMachine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。數(shù)據(jù)加密標(biāo)準DESDES的原始思想可以參照二戰(zhàn)德國的恩格瑪機,其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機在這個基礎(chǔ)之上進行了擴散模糊。但是本質(zhì)原理都是一樣的?,F(xiàn)代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度。3.2加密原理DES使用一個56位的密鑰以及附加的8位奇偶校驗位,產(chǎn)生最大64位的分組大小。這是一個迭代的分組密碼,使用稱為Feistel的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES使用16個循環(huán),使用異或,置換,代換,移位操作四種基本運算。3.3關(guān)鍵算法分析3.4DES算法的安全性一、安全性比較高的一種算法,目前只有一種方法可以破解該算法,那就是窮舉法。二、采用64位密鑰技術(shù),實際只有56位有效,8位用來校驗的.譬如,有這樣的一臺PC機器,它能每秒計算一百萬次,那么256位空間它要窮舉的時間為2285年.所以這種算法還是比較安全的一種算法。TripleDES。該算法被用來解決使用DES技術(shù)的56位時密鑰日益減弱的強度,其方法是:使用兩個獨立密鑰對明文運行DES算法三次,從而得到112位有效密鑰強度。TripleDES有時稱為DESede(表示加密、解密和加密這三個階段)。3.5運行結(jié)果4公鑰加密算法RSA4.1概述RSA公鑰加密算法是1977年由RonRivest、AdiShamirh和LenAdleman在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿?。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準。RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。4.2RSA算法描述RSA密碼是一種應(yīng)用廣泛的公鑰密碼,它的安全性基于大整數(shù)分解的困難性,RSA密碼既可用于加密,又可用于數(shù)字簽名。對RSA的加解密算法描述如下:(1)密鑰的產(chǎn)生獨立地選取兩大素數(shù)p和q(各100~200位十進制數(shù)字);計算n=p×q,其歐拉函數(shù)值j(n)=(p-1)(q-1);隨機選一整數(shù)e,1£e<j(n),gcd(j(n),e)=1;在模j(n)下,計算e的有逆元d=e-1modj(n);以n,e為公鑰。私鑰為d。(p,q)不再需要,可以銷毀。(2)加密將明文分組,各組對應(yīng)的十進制數(shù)小于n,對每個明文分組m,做加密運算:c=memodn。(3)解密對密文分組的解密運算:m=cdmodn3.2.2安全性分析
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 場地帳篷租賃合同范本
- 2021-2026年中國主蒸汽隔離閥市場全面調(diào)研及行業(yè)投資潛力預(yù)測報告
- 固定資產(chǎn)投資項目節(jié)能評估報告表
- 補簽建筑合同范本
- 焊盤和過孔的區(qū)別是什么
- 中國其他酒制造市場前景及投資研究報告
- 渠道招商合同范本
- 面向特定主題的開放式事件抽取關(guān)鍵技術(shù)研究
- 基于深度學(xué)習(xí)的偽造語音檢測算法研究
- 生命史策略對生育意愿的影響-性別偏見的中介和生育年齡限制感的調(diào)節(jié)作用
- 祖沖之的平生與貢獻
- 2025年版護理法律法規(guī)
- 統(tǒng)編版(2024新版)七年級下冊道德與法治期末復(fù)習(xí)背誦知識點提綱
- 健康體檢報告解讀頁課件
- (高清版)DB43∕T 1147-2015 太陽能果蔬烘干機
- 《安防監(jiān)控培訓(xùn)》課件
- 2025年中國艾草行業(yè)市場現(xiàn)狀、發(fā)展概況、未來前景分析報告
- 高中 人音版 音樂鑒賞 第二單元《漢族民歌》課件
- 2024國家安全人人有責(zé)
- 《檔案管理培訓(xùn)》課件
- 承包送貨合同模板
評論
0/150
提交評論