版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 密碼學(xué)課程設(shè)計(jì)報(bào)告</b></p><p> 院系: 計(jì)算機(jī)學(xué)院 </p><p> 專業(yè): 信息安全 </p><p> 班級(jí): 信安08-3班 </p><p> 姓名:
2、 </p><p> 學(xué)號(hào): </p><p> 指導(dǎo)老師: </p><p><b> 2011年6月 </b></p><p><b> 1緒論</b></p>&
3、lt;p> 密碼技術(shù)是一門古老而十分有用的技術(shù),隨著計(jì)算機(jī)通信技術(shù)的迅猛發(fā)展,大量的敏感信息通過公共設(shè)施或計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行交換。特別是Internet的廣泛應(yīng)用、電子商務(wù)和電子政務(wù)的迅速發(fā)展,越來越多的信息需要嚴(yán)格的保密,如:銀行賬號(hào)、個(gè)人隱私等。正是這種對(duì)信息的機(jī)密性和真實(shí)性的需求,密碼學(xué)才逐成為比較熱門的學(xué)科。</p><p> 近幾年來,信息安全成為全社會(huì)的需求,信息安全保障成為國際社會(huì)關(guān)注的焦點(diǎn)。
4、而密碼學(xué)是信息安全的核心,應(yīng)用密碼學(xué)技術(shù)是實(shí)現(xiàn)安全系統(tǒng)的核心技術(shù)。應(yīng)用密碼學(xué)研究如何實(shí)現(xiàn)信息的機(jī)密性、完整性和不可否認(rèn)性。隨著信息系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)的爆炸性增長(zhǎng),形形色色的安全威脅嚴(yán)重阻礙了當(dāng)前的信息化進(jìn)程,因此,亟待使用密碼學(xué)來增強(qiáng)系統(tǒng)的安全性。而密碼學(xué)課程設(shè)計(jì)正是為這方面做出了具體的實(shí)踐。</p><p> 經(jīng)過前一段時(shí)間的學(xué)習(xí),我們對(duì)于密碼學(xué)這門課程有了更深的認(rèn)識(shí)和了解,對(duì)于一般的密碼學(xué)算法學(xué)會(huì)了怎么樣使用。
5、因此,通過密碼學(xué)課程設(shè)計(jì)這么課程,對(duì)前一段的學(xué)習(xí)進(jìn)行了檢查。在設(shè)計(jì)中,我們選擇做了古典密碼算法,分組密碼算法DES,公鑰密碼算法RSA。這幾種經(jīng)典的密碼算法是我們學(xué)習(xí)密碼學(xué)課程設(shè)計(jì)所必須掌握的,也是學(xué)習(xí)信息安全的基礎(chǔ)。在接下來的部分,我將詳細(xì)介紹我設(shè)計(jì)的過程以及思路。</p><p><b> 2 古典密碼算法</b></p><p> 2.1 古典密碼Hill&
6、lt;/p><p> 2.11 古典密碼Hill概述</p><p> Hill體制是1929年由Lester S.Hill發(fā)明的,它實(shí)際上就是利用了我們熟知的線性變換方法,是在Z26上進(jìn)行的。Hill體制的基本思想是將n個(gè)明文字母通過線性變換轉(zhuǎn)化為n個(gè)密文字母,解密時(shí)只需要做一次逆變換即可,密鑰就是變換矩陣。</p><p> 2.12算法原理與設(shè)計(jì)思路<
7、/p><p> 1.假設(shè)要加密的明文是由26個(gè)字母組成,其他字符省略。將每個(gè)字符與0-25的一個(gè)數(shù)字一一對(duì)應(yīng)起來。(例如:a/A—0,b/B—1,……z/Z—25)。</p><p> 2.選擇一個(gè)加密矩陣,其中矩陣A必須是可逆矩陣,例如</p><p> 3.將明文字母分別依照次序每n個(gè)一組(如果最后一組不足n個(gè)的話,就將其補(bǔ)成n個(gè)),依照字符與數(shù)字的對(duì)應(yīng)關(guān)系得
8、到明文矩陣ming。</p><p> 4.通過加密矩陣A,利用矩陣乘法得到密文矩陣mi= mingmod 26;</p><p> 將密文矩陣的數(shù)字與字符對(duì)應(yīng)起來,得到密文。</p><p> 5.解密時(shí)利用加密矩陣的逆矩陣和密文,可得到明文。</p><p> 6. 設(shè)明文為,密文,密鑰為上的n*n階可逆方陣,則</p>
9、;<p> 2.13 關(guān)鍵算法分析</p><p> 歐幾里德算法又稱輾轉(zhuǎn)相除法,用于計(jì)算兩個(gè)整數(shù)a,b的最大公約數(shù)。</p><p> 產(chǎn)生公約數(shù)的目的是為了下一步求逆矩陣和矩陣時(shí)方便運(yùn)算。</p><p> 這段代碼是加密的過程,主要設(shè)計(jì)思想是輸入的明文與矩陣做乘法,當(dāng)明文長(zhǎng)度為矩陣階數(shù)的倍數(shù)時(shí),自動(dòng)將明文變?yōu)榱袛?shù)與矩陣階數(shù)相同,然后進(jìn)行計(jì)
10、算。當(dāng)明文長(zhǎng)度不是矩陣階數(shù)的倍數(shù)時(shí),則會(huì)出現(xiàn)無關(guān)字符。</p><p> 代碼中的利用矩陣乘法得到的密文輸出即可,而解密的過程只需要利用矩陣的逆矩陣,也就是我們?cè)谧龀朔ǖ臅r(shí)候?qū)⒕仃嚀Q為它的逆矩陣即可得到明文。</p><p><b> 2.14 運(yùn)行結(jié)果</b></p><p> 2.15 密碼安全性分析</p><p
11、> 經(jīng)過算法分析和設(shè)計(jì),我們可以知道它的安全強(qiáng)度(m是素?cái)?shù),模數(shù)為合數(shù),不是任意矩陣可逆) 為 26的m*m次方。例如,當(dāng)m=5時(shí),得出它的安全強(qiáng)度為2的117次方。通過矩陣,將信息均勻分布到每個(gè)m長(zhǎng)向量的每個(gè)分向量中,具有比較好的隨機(jī)性,相對(duì)于其他的古典密碼來說,Hill是比較安全的。</p><p> 但是在已知m組明文、密文和解密算法的情況下,我們需要解M組同余方程組,因此,密鑰是可以恢復(fù)的。關(guān)鍵
12、是求得加密矩陣的逆—解密矩陣。只要分析出兩個(gè)明文向量(線性無關(guān))與相應(yīng)的密文向量。若有</p><p> 如果甲方截獲了一段密文:OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH經(jīng)分析這段密文是用HILL2密碼編譯的,且這段密文的字母 UCRS 依次代表了字母 TACO,我們接著將要進(jìn)行破譯。</p><p><b> 關(guān)系如下:
13、</b></p><p><b> 計(jì)算矩陣的逆</b></p><p><b> 破譯</b></p><p><b> 密文向量</b></p><p><b> 明文向量</b></p><p> 明文:
14、Clinton is going to visit a country in Middle East</p><p> 2.2 古典密碼 Vignere</p><p> 2.21古典密碼 Vignere概述</p><p> 1858年法國密碼學(xué)家維吉尼亞提出一種以移位替換為基礎(chǔ)的周期替換密碼。這種密碼是多表替換密碼的一種。是一系列(兩個(gè)以上)替換表依次對(duì)明
15、文消息的字母進(jìn)行替換的加密方法。</p><p> 2.22 算法原理與設(shè)計(jì)思路</p><p> 1.首先使用維吉尼亞方陣,它的基本方陣是26列26行。方陣的第一行是a到z按正常順序排列的字母表,第二行是第一行左移循環(huán)一位得到得,其他各行依次類推。</p><p> 2.加密時(shí),按照密鑰字的指示,決定采用哪一個(gè)單表。例如密鑰字是bupt,加密時(shí),明文的第一個(gè)
16、字母用與附加列上字母b相對(duì)應(yīng)的密碼表進(jìn)行加密,明文的第二個(gè)字母用與附加列的字母u相對(duì)應(yīng)的密碼表進(jìn)行加密,依次類推。</p><p> 3.令英文字母a,b,…,z對(duì)應(yīng)于從0到25的整數(shù)。設(shè)明文是n個(gè)字母組成的字符串,即 m=m1m2m3m4…mn</p><p> 密鑰字周期性地延伸就給出了明文加密所需的工作密鑰</p><p> K=k1k2…kn,E(m)
17、=C=c1c2…cn</p><p> 加密:Ci=mi+kimod26</p><p> 解密:mi=ci-kimod26,i=1,2,3,…,n</p><p> 2.23關(guān)鍵算法分析</p><p> 加密算法的關(guān)鍵是給出初始密鑰,例如第一個(gè)密鑰字母是e,對(duì)第一個(gè)明文字母p進(jìn)行加密時(shí),選用左邊附加列上的字母e對(duì)應(yīng)的那一行作為代替
18、密碼表,查處與p相對(duì)應(yīng)的密文字母是T,依次類推即可得出明文。上述代碼中的生成密鑰部分為核心代碼,只有密鑰更長(zhǎng),才能保證密碼算法的可靠性。解密算法和加密算法只需要減去密鑰繼續(xù)模26即可得到。</p><p><b> 2.24 運(yùn)行結(jié)果</b></p><p> 2.25密碼安全性分析</p><p> 首先,破譯的第一步就是尋找密文中出現(xiàn)
19、超過一次的字母。有兩種情況可能導(dǎo)致這樣的重復(fù)發(fā)生。最有可能的是明文中同樣的字母序列使用密鑰中同樣的字母加了密;另外還有一種較小的可能性是明文中兩個(gè)不同的字母序列通過密鑰中不同部分加了密,碰巧都變成了密文中完全一樣的序列。假如我們限制在長(zhǎng)序列的范圍內(nèi),那么第二種可能性可以很大程序地被排除,這種情況下,我們多數(shù)考慮到4個(gè)字母或4個(gè)以上的重復(fù)序列。 </p><p> 其次,破譯的第二步是確定密鑰的長(zhǎng)度,又看看這一段
20、先: 密鑰 F O R E S T F O R E S T F O R E S T F O R E S T F O R 明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l 密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C 第一個(gè)YC出現(xiàn)后到第二個(gè)YC的結(jié)尾一共有12個(gè)字母(U S O X Q Z K L S
21、G Y C) 那么密鑰的長(zhǎng)度應(yīng)是12的約數(shù)---1,2,3,4,6,12之中的一個(gè)(其中,1可排除)。 </p><p> 第三, 破譯的時(shí)候,可以從一下幾個(gè)方面進(jìn)行考慮。1.A-E段,U-Z段以及O-T段的特征比較顯著,可先從這些方面著手; 2.如果一些字符串出現(xiàn)的頻率較多,不妨猜猜,特別要注意THE,-ING等的出現(xiàn);3.要留意那些圖表中沒有出現(xiàn)的字母,很多時(shí)候也會(huì)是突破點(diǎn),如X與Z的空缺;4.圖表最好還是
22、做一下,畢竟比較直觀,好看 。</p><p> 因此,利用單純的數(shù)學(xué)統(tǒng)計(jì)方法就可以攻破維吉尼亞密碼,所以在使用這種密碼的過程中,我們盡量增加密鑰的長(zhǎng)度,只有密鑰長(zhǎng)度的足夠長(zhǎng)時(shí),密碼的使用才會(huì)越安全。</p><p> 2.3古典密碼Vernam</p><p> 2.31古典密碼Vernam概述</p><p> Vernam加密法
23、也稱一次性板(One-Time-Pad),用隨機(jī)的非重復(fù)的字符集合作為輸出密文.這里最重要的是,一旦使用了變換的輸入密文,就不再在任何其他消息中使用這個(gè)輸入密文(因此是一次性的).輸入密文的長(zhǎng)度等于原消息明文的長(zhǎng)度。</p><p> 2.32 算法原理與設(shè)計(jì)思路</p><p> Vernam的加密過程 </p&
24、gt;<p> 1.按遞增順序把每個(gè)明文字母作為一個(gè)數(shù)字,A=0,B=1等等。 </p><p> 2.對(duì)輸入密文中每一個(gè)字母做相同的處理。</p><p> 3.將明文中的每個(gè)字母與密鑰中的相應(yīng)字母相加。 </p><p> 4.如果得到的和大于26,則從中減去26。</p><p> 5.將和轉(zhuǎn)化為字母,從而得到密
25、文。</p><p> 顯然,由于一次性板用完就要放棄,因此這個(gè)技術(shù)相當(dāng)安全,適合少量明文消息,但是對(duì)大消息是行不通的(一次性板稱為密鑰(Key),并且明文有多長(zhǎng),密鑰就有多長(zhǎng),因此對(duì)于大消息行不通).Vernam加密法最初是AT&T公司借助所謂的Vernam機(jī)實(shí)現(xiàn)的. </p><p> 假設(shè)對(duì)明文消息HOW ARE YOU進(jìn)行Verman加密,一次性板為NCBTZQARX得
26、到的密文消息UQXTUYFR.以下是圖解 </p><p> 1.明文: H O W A R E Y O U </p><p> 7 14 22 0 17 4 24 14 20 </p><p><b> + </b></p><p> 2.密鑰 N C B T Z Q A R X </p><
27、;p> 13 2 1 19 25 16 0 17 23 </p><p> 3.初始和 20 16 23 19 42 20 24 31 43 </p><p> 4.大于25則減去26 20 16 23 19 16 20 24 5 17 </p><p> 5.密文 U Q X T Q U Y F R</p><p> 2.3
28、3 關(guān)鍵算法分析</p><p> 加密和解密的關(guān)鍵實(shí)現(xiàn)上是一個(gè)對(duì)應(yīng)位相加的過程。在加密和解密之前還要做輔助工作,就是字符的轉(zhuǎn)換問題,注意變量的傳遞。</p><p><b> 2.34 運(yùn)行結(jié)果</b></p><p> 3 數(shù)據(jù)加密算法DES</p><p><b> 3.1 概述</b>
29、;</p><p> 數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA)是一種對(duì)稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動(dòng)取款機(jī)(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對(duì)它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可
30、以免除專利使用費(fèi)而使用。1977年被美國政府正式采納。</p><p> 數(shù)據(jù)加密標(biāo)準(zhǔn)DES </p><p> DES的原始思想可以參照二戰(zhàn)德國的恩格瑪機(jī),其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機(jī)在這個(gè)基礎(chǔ)之上進(jìn)行了擴(kuò)散模糊。但是本質(zhì)原理都是一樣的?,F(xiàn)代DES在二進(jìn)制級(jí)別做著同樣的事:替代模糊,增加分析的難度。 </p><p>
31、;<b> 3.2加密原理</b></p><p> DES 使用一個(gè) 56 位的密鑰以及附加的 8 位奇偶校驗(yàn)位,產(chǎn)生最大 64 位的分組大小。這是一個(gè)迭代的分組密碼,使用稱為 Feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對(duì)其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進(jìn)行“異或”運(yùn)算;接著交換這兩半,這一過程會(huì)繼續(xù)下去,但最后一個(gè)循環(huán)不交換。DES 使用 16 個(gè)循環(huán),使
32、用異或,置換,代換,移位操作四種基本運(yùn)算。</p><p> 3.3 關(guān)鍵算法分析</p><p> 3.4 DES算法的安全性</p><p> 一、安全性比較高的一種算法,目前只有一種方法可以破解該算法,那就是窮舉法。</p><p> 二、采用64位密鑰技術(shù),實(shí)際只有56位有效,8位用來校驗(yàn)的.譬如,有這樣的一臺(tái)PC機(jī)器,它能每
33、秒計(jì)算一百萬次,那么256位空間它要窮舉的時(shí)間為2285年.所以這種算法還是比較安全的一種算法。 </p><p> TripleDES。該算法被用來解決使用 DES 技術(shù)的 56 位時(shí)密鑰日益減弱的強(qiáng)度,其方法是:使用兩個(gè)獨(dú)立密鑰對(duì)明文運(yùn)行 DES 算法三次,從而得到 112 位有效密鑰強(qiáng)度。TripleDES 有時(shí)稱為 DESede(表示加密、解密和加密這三個(gè)階段)。</p><p>
34、;<b> 3.5運(yùn)行結(jié)果</b></p><p> 4 公鑰加密算法RSA</p><p><b> 4.1 概述</b></p><p> RSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿帧SA是目
35、前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。</p><p> 4.2 RSA算法描述</p><p> RSA密碼是一種應(yīng)用廣泛的公鑰密碼,它的安全性基于大整數(shù)分解的困難性,RSA密碼既可用
36、于加密,又可用于數(shù)字簽名。對(duì)RSA的加解密算法描述如下:</p><p><b> (1)密鑰的產(chǎn)生</b></p><p> 獨(dú)立地選取兩大素?cái)?shù)p和q(各100~200位十進(jìn)制數(shù)字);</p><p> 計(jì)算 n=p×q,其歐拉函數(shù)值(n)=(p-1)(q-1);</p><p> 隨機(jī)選一整數(shù)e,1
37、e<(n),gcd((n), e)=1;</p><p> 在模(n)下,計(jì)算e的有逆元d=e -1 mod (n);</p><p> 以n,e為公鑰。私鑰為d。(p, q)不再需要,可以銷毀。 </p><p><b> (2)加密</b></p><p> 將明文分組,各組對(duì)應(yīng)的十進(jìn)制數(shù)小于n,對(duì)每
38、個(gè)明文分組m,做加密運(yùn)算:c=me mod n。</p><p><b> (3)解密</b></p><p> 對(duì)密文分組的解密運(yùn)算: m=cd mod n</p><p> 3.2.2安全性分析</p><p> RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆]有證明破解
39、RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前, RSA 的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法。現(xiàn)在,人們已能分解多個(gè)十進(jìn)制位的大素?cái)?shù)。因此,模數(shù)n 必須選大一些,因具體適用情況而定。</p><p> RSA的安全性是基于分解大整數(shù)的困難性假定(尚未證明分解大整數(shù)是NP問題);</p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 密碼學(xué)課程設(shè)計(jì)報(bào)告
- 密碼學(xué)課程設(shè)計(jì)報(bào)告
- 密碼學(xué)課程設(shè)計(jì)報(bào)告
- 應(yīng)用密碼學(xué)課程設(shè)計(jì)報(bào)告
- 密碼學(xué)課程設(shè)計(jì)—網(wǎng)頁加密技術(shù)
- 密碼學(xué)課程設(shè)計(jì)-- 簡(jiǎn)單的保密通信系統(tǒng)
- 應(yīng)用密碼學(xué)課程設(shè)計(jì)-rsa加密解密的設(shè)計(jì)與實(shí)現(xiàn)
- 《應(yīng)用密碼學(xué)》課程教學(xué)大綱
- 密碼學(xué)實(shí)驗(yàn)----
- 密碼學(xué)答案
- 數(shù)字簽名系統(tǒng)-現(xiàn)代密碼學(xué)課程設(shè)計(jì)任務(wù)書
- 古典密碼學(xué)之希爾密碼
- aes密碼學(xué)課程設(shè)計(jì)(c語言實(shí)現(xiàn))--aes加密解密軟件的實(shí)現(xiàn)
- 現(xiàn)代密碼學(xué)論文
- 現(xiàn)代密碼學(xué)基礎(chǔ)課程教學(xué)大綱
- 天津大學(xué)密碼學(xué)課程教學(xué)大綱
- 密碼學(xué)復(fù)習(xí)題
- 《密碼學(xué)》教學(xué)大綱
- 密碼學(xué)復(fù)習(xí)題
- 密碼學(xué)實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論