第二章-簡單密碼學(xué)(補(bǔ)充古典密碼學(xué))_第1頁
第二章-簡單密碼學(xué)(補(bǔ)充古典密碼學(xué))_第2頁
第二章-簡單密碼學(xué)(補(bǔ)充古典密碼學(xué))_第3頁
第二章-簡單密碼學(xué)(補(bǔ)充古典密碼學(xué))_第4頁
第二章-簡單密碼學(xué)(補(bǔ)充古典密碼學(xué))_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)加密與PKI技術(shù)

第2單元

簡單密碼學(xué)

(補(bǔ)充——古典密碼學(xué))湖南公安高等??茖W(xué)校

計(jì)算機(jī)信息安全教研室歐陽偉

學(xué)習(xí)目標(biāo)了解密碼學(xué)的相關(guān)術(shù)語√理解古典加密和加密算法及分類√掌握DES算法的加密原理、過程理解非對稱算法及分類掌握RSA算法的加密原理、過程掌握RSA與DES結(jié)合使用理解Hash函數(shù)了解AES算法掌握密鑰管理相關(guān)知識(shí)簡單密碼學(xué)

密碼學(xué)基礎(chǔ)知識(shí)安全算法設(shè)計(jì):對稱算法安全算法設(shè)計(jì):非對稱算法安全算法設(shè)計(jì):Hash函數(shù)安全算法設(shè)計(jì):AES算法密鑰的管理

密碼學(xué)基礎(chǔ)知識(shí)密碼學(xué)的發(fā)展歷程大致經(jīng)歷了三個(gè)階段:古代加密方法(手工階段)古典密碼(機(jī)械階段)近代密碼(計(jì)算機(jī)階段)密碼學(xué)的發(fā)展歷史古代加密方法:隱寫術(shù)和古代行幫暗語及一些文字猜謎游戲,如Caesar密碼表,“風(fēng)緊,扯乎?”等等。古典密碼:分為單表代替密碼、多表代替密碼以及輪轉(zhuǎn)密碼。如Playfair密碼表、Vigenere密碼和Hill密碼、著名的Enigma是輪轉(zhuǎn)密碼。近代密碼:自從1949年,Shannon發(fā)表了“保密系統(tǒng)的信息理論”,為密碼學(xué)奠定了理論基礎(chǔ),才使密碼學(xué)成為一門科學(xué),分為對稱加密算法與非對稱加密算法。相關(guān)術(shù)語

發(fā)送者和接收者發(fā)送者及發(fā)送消息的人接收者及接收消息的人消息、加/解密和密文消息也被稱為明文M用某種方法偽裝消息以隱藏它的內(nèi)容的過程稱為加密加了密的消息稱為密文C而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密明文M(Message)待加密的信息密文C(cipher)明文經(jīng)過加密變換的隱蔽的形式加密過程C=f(m,k1)=Ek1(m)解密過程m=Dk2(C)先加密后再解密消息,原始的明文將恢復(fù)出來,下面的等式必須成立:

Dk2(Ek1(M))=M幾種典型的古典密碼體制古典密碼是基于字符替換的密碼,現(xiàn)在已很少使用了,但是它代表了密碼的起源。下面將要介紹的是在計(jì)算機(jī)發(fā)明以前使用的一些經(jīng)典的密碼體制,包括了單表代替密碼、多表代替密碼及輪轉(zhuǎn)密碼等類型。這些密碼體制雖然現(xiàn)在不再被使用,但是其對密碼學(xué)的重要思想給了后人很好的啟示。對于一個(gè)密碼體制,如果明文字母對應(yīng)的密文字母在密文中保持不變,則稱其為單表密碼體制;如果明文中不同位置的同一明文字母在密文中對應(yīng)的密文字母不同,則稱其為多表密碼體制。

幾種典型的單表古典密碼體制一、Caesar密碼古羅馬隨筆作家修托尼厄斯在他的作品中披露,凱撒常用一種“密表”給他的朋友寫信。這里所說的密表,在密碼學(xué)上稱為“凱撒密表”。也就是凱撒在《高盧戰(zhàn)記》中所使用的方式,其中密鑰k=3,比如hello!就表示為khoor(忽略空格和符號(hào)),它的數(shù)學(xué)表達(dá)式為:

加密:c=m+k(mod26)解密:m=c-k(mod26)加密步驟:1)先將26個(gè)英文字母編號(hào):a,b,c,d……y,z;每個(gè)英文字母對應(yīng)的數(shù)字分別是0,1,2,3……24,25,注意這里的編號(hào)是從0開始的,與我們平時(shí)的英文字母從1開始編號(hào)不一樣。

Caesar密碼表例2.1

愷撒(Caesar)密碼是k=3的情況。即通過簡單的向右移動(dòng)源字母表3個(gè)字母則形成如下代換字母表若明文為:pleaseconfirmreceipt則密文為:SOHDVEFRQILUPUHFHLSWM:a0b1c2d3e4f5g6h7i8j9k10l11m12C:DEFGHIJKLMNOPn13o14p15q16r17s18t19u20v21w22x23y24z25QRSTUVWXYZABC2)將原文m中的每一個(gè)字母向后推3位,得到字母表中相應(yīng)編號(hào)的字母,比如a就變?yōu)榱薲,b就變?yōu)榱薳,依此類推,字母表中最后3個(gè)字母x,y,z則循環(huán)至字母表首,x變?yōu)閍,y變?yōu)閎,并忽略明文中的空格和標(biāo)點(diǎn)符號(hào)。Caesar密碼解密步驟:將密文c中的每一個(gè)字母向前推3位,得到字母表中相應(yīng)編號(hào)的字母,比如d就變?yōu)榱薬,e就變?yōu)榱薭,依此類推,字母表中最前面3個(gè)字母a,b,c則循環(huán)至字母表末,比如a變?yōu)閤,b變?yōu)閥,c變?yōu)閦。注意:在Caesar密碼中,它的加密算法是:“字母表中字母往后推k位”,解密算法是:“字母表中字母往前推k位”。密鑰則是“3”位。這里的k代表了密鑰。

goodmonring就是一段明文,凱撒密表就是—種變換規(guī)則。這段明文經(jīng)凱撒密表加密后,就變成了密文

JRRGPRQULQJ

收信者收到這段密文后,就要進(jìn)行解密,解密也是用凱撒密表。在這個(gè)例子中,加密和解密都在用凱撒密表,但嚴(yán)格地說,加密時(shí)所用的變換與解密時(shí)所用的變換是兩個(gè)變換。這兩個(gè)變換間的關(guān)系是它們互為逆變換。也就是說,明文用其中一個(gè)變換進(jìn)行加密產(chǎn)生密文后,若再用另一個(gè)變換對這密文進(jìn)行解密,就會(huì)得到原來的明文。這種互逆的關(guān)系就如同我們所熟知的加法和減法互為逆運(yùn)算的關(guān)系一樣:加上一個(gè)數(shù)后再減去同一個(gè)數(shù),就等于不加也不減。Caesar密碼的攻擊分析安全性分析移位密碼是極不安全的(mod26),因?yàn)樗杀桓F舉密鑰搜索所分析:僅有26個(gè)可能的密鑰,嘗試每一個(gè)可能的加密規(guī)則,直到一個(gè)有意義的明文串被獲得。平均地說,一個(gè)明文在嘗試26/2=13解密規(guī)則后將顯現(xiàn)出來。Caesar密碼的破解可以根據(jù)字母出現(xiàn)頻率這一特性對其進(jìn)行攻擊,如果掌握了一定數(shù)量的密文,很容易就能夠攻破愷撒密碼,找出其中的密鑰k值。比如在英文中,字母e出現(xiàn)最頻繁,它的統(tǒng)計(jì)特性是12.7%,t=9.1%,a=8.2%,o=7.5%,x、z與q都很少為1%,j=2%。Caesar密碼Caesar密碼攻擊

如果在一篇用愷撒密碼加密的密文中(假設(shè)它的字?jǐn)?shù)很多,而且字母隨機(jī)性很好),我們就可以從中發(fā)現(xiàn)出現(xiàn)頻率最多的字母,假設(shè)它為e或者t或者a,將出現(xiàn)頻率最低的字母假設(shè)為x或者z或者q,然后玩填字游戲,找到加密所使用的k,攻破這個(gè)加密體制。

求解k的表達(dá)式為:k=c-m(mod26)注意:如果k為負(fù)數(shù)時(shí),則加上26,使得k始終是一正數(shù)比如k=-3,則k+26=(-3)+26=23,此時(shí),應(yīng)該k=23。Caesar密碼攻擊即使使用唯密文攻擊,愷撒密碼也是一種非常容易破解的加密方式??赡苡袃煞N情況需要考慮:攻擊者知道(或者猜測)密碼中使用了某個(gè)簡單的替換加密方式,但是不確定是愷撒密碼;攻擊者知道(或者猜測)使用了愷撒密碼,但是不知道其偏移量。對于第一種情況,攻擊者可以通過使用諸如頻率分析或者樣式單詞分析的方法,馬上就能從分析結(jié)果中看出規(guī)律,得出加密者使用的是愷撒密碼。當(dāng)密文長度足夠大的情況下,可以先分析密文中每個(gè)字母出現(xiàn)的頻率,然后將這一頻率與正常情況下的該語言字母表中所有字母的出現(xiàn)頻率做比較。例如在英語中,正常明文中字母E和T出現(xiàn)的頻率特別高,而字母Q和Z出現(xiàn)的頻率特別低??梢酝ㄟ^這一特點(diǎn),分析密文字母出現(xiàn)的頻率,可以估計(jì)出正確的偏移量。此外,有時(shí)還可以將頻率分析從字母推廣到單詞,例如英語中,出現(xiàn)頻率最高的單詞是:the,of,and,a,to,in...。我們可以通過將最常見的單詞的所有可能的25組密文,編組成字典,進(jìn)行分析。比如QEB可能是the,MPQY可能是單詞know(當(dāng)然也可能是aden)。但是頻率分析也有其局限性,它對于較短或故意省略元音字母或者其他縮寫方式寫成的明文加密出來的密文進(jìn)行解密并不適用。Caesar密碼攻擊對于第二種情況,解決方法更加簡單。由于使用愷撒密碼進(jìn)行加密的語言一般都是字母文字系統(tǒng),因此密碼中可能是使用的偏移量也是有限的,例如使用26個(gè)字母的英語,它的偏移量最多就是25(偏移量26等同于偏移量0即明文;偏移量超過26,等同于偏移量1-25)。因此可以通過窮舉法,很輕易地進(jìn)行破解。其中一種方法是在表格中寫下密文中的某個(gè)小片段使用所有可能的偏移量解密后的內(nèi)容——稱為候選明文,然后分析表格中的候選明文是否具有實(shí)際含義,得出正確的偏移量,解密整個(gè)密文。例如,被選擇出的密文片段是“EXXEGOEXSRGI”,從右表中的候選明文,我們可以很快看出其正確的偏移量是4。也可以通過在每一個(gè)密文單詞的每一個(gè)字母下面,縱向?qū)懴抡麄€(gè)字母表其他字母,然后可以通過分析,得出其中的某一行便是明文。偏移量候選明文0exxegoexsrgi1dwwdfndwrqfh2cvvcemcvqpeg3buubdlbupodf4attackatonce5zsszbjzsnmbd6yrryaiyrmlac…23haahjrhavujl24gzzgiqgzutik25fyyfhpfytshj另外,有證據(jù)表明,愷撒曾經(jīng)使用過更為復(fù)雜的密碼系統(tǒng):“文法學(xué)家普羅布斯曾經(jīng)寫過一份獨(dú)具創(chuàng)新的手稿,研究愷撒書信中包含有秘密信息的字母。”—格利烏斯,阿提卡之夜現(xiàn)在已經(jīng)無法弄清愷撒密碼在當(dāng)時(shí)有多大的效果,但是有理由相信它是安全的。因?yàn)閻鹑龃蟛糠謹(jǐn)橙硕际悄坎蛔R(shí)丁的,而其余的則可能將這些消息當(dāng)作是某個(gè)未知的外語。即使有某個(gè)敵人獲取了愷撒的加密信息,根據(jù)現(xiàn)有的記載,當(dāng)時(shí)也沒有任何技術(shù)能夠解決這一最基本、最簡單的替換密碼?,F(xiàn)存最早的破解方法記載在公元9世紀(jì)阿拉伯的阿爾·肯迪的有關(guān)發(fā)現(xiàn)頻率分析的著作中。替換密碼二、替換密碼這是也是一種變形的單表代替密碼,首先它要確定一個(gè)關(guān)鍵字,然后將關(guān)鍵字放到字母表的最前面,比如關(guān)鍵字為cipher,則它的字母表為c,i,p,h,e,r,a,b,d,f,g,j……x,y,z.如果關(guān)鍵字中有的字母,則在字母表中忽略,依次排序。它的數(shù)學(xué)表達(dá)式為:

加密:c=m+k(mod26)解密:m=c-k(mod26)其中k即密鑰,也就是關(guān)鍵字(如cipher)的字母個(gè)數(shù)。還有一點(diǎn)與Caesar密碼不同,這里的字母表中字母順序打亂了,不再是完全按英文字母順序排列的,關(guān)鍵字不同,密碼表的次序就不相同,保證了安全性,比Caesar密碼更加健壯,單由于它仍然是單表替換密碼,同樣可用字母出現(xiàn)頻率弱點(diǎn)進(jìn)行攻擊。替換密碼例如,選用mountain,寫出以下的字母序列: mountaibcdefghjklpqrsvwxyz

看出來了嗎?就是在正常字母序列中抽掉你的密碼mountain,由于mountain中有兩個(gè)n,把第二個(gè)去掉。然后,把正常字母序列寫在這個(gè)序列下面:

Abcdefghijklmnopqrstuvwxyz.......明文字母序

Mountaibcdefghjklpqrsvwxyz.........密文字母序

在加密的時(shí)候,用上面那個(gè)序列里的字母代替原文中的字母寫成密文。例如,m代替a,o代替b。解密時(shí)方向相反。所以,加密heishere的結(jié)果是:btcqbtpt。

多表代換密碼—Playfair密碼三、Playfair密碼最為著名的多表代換密碼,它把明文中的雙字母作為一個(gè)單元并將其轉(zhuǎn)換成密文的“雙字母音節(jié)”。

Playfair密碼曾被英國軍隊(duì)作為一戰(zhàn)中標(biāo)準(zhǔn)的加密體制,在英國陸軍廣泛使用,并且在二次世界大戰(zhàn)中也被美軍及其他一些盟國軍隊(duì)用它進(jìn)行加密。它是由英國著名物理學(xué)家“Wheatston電橋”的設(shè)計(jì)者CharlesWheatston于1854年發(fā)明的。

Playfair算法是基于一個(gè)由密鑰詞構(gòu)成的5×5字母矩陣,下面舉例說明算法的加密步驟。Playfair密碼體制Playfair密碼表

playfirbcdeghkmnoqstuvwxz1234512345該密碼體制的密鑰是一個(gè)單詞,比如playfair,將單詞中后面重復(fù)的字母去掉,只保留不相同的字母,得到playfir,將剩下的字母排列成5×5矩陣的起始部分,矩陣的剩余部分則用26個(gè)字母表中未出現(xiàn)的字母填充,并將i與j作為一個(gè)字母對待(原因?)Playfair密碼體制1)假設(shè)明文是meetattheschoolhouse,將空格標(biāo)點(diǎn)符號(hào)忽略(幾乎所有的加密算法都是如此)并將文本中每兩個(gè)字母劃分為一組,如果一組中是兩個(gè)相同的字母,就在中間插入一個(gè)x再重新分組,最后如果單出一個(gè)字母則在最后一組的末尾加入x。這樣上述明文就變成了meetatth

es

choxolhousex.現(xiàn)在使用矩陣來加密每兩個(gè)字母組,規(guī)則如下:2)

如果m1和m2既不在明文中同一行,也不在同一列,則密文c1和c2分別為由m1和m2確定的矩形的其他兩個(gè)角上的字母所代替,c1和m1同行,c2和m2同行。比如et變成了MN,因?yàn)镸和e在同一行,N和t在同一行。3)

如果m1和m2在明文中同一行,則密文c1和c2分別為緊靠m1和m2右端相鄰的字母,這里將第一列看作是最后一列的右端。如me變成了EG。Playfair算法加密步驟:Playfair密碼體制Playfair算法加密步驟(續(xù)):4)如果m1和m2在明文中同一列,則密文c1和c2分別為緊靠m1和m2下方的字母,這里將第一行看作是最后一行的下方,矩陣卷繞從最后一行轉(zhuǎn)回到第一行,如ol變成了VR。按此方法,本例的密文如下:

明文M:meetattheschoxolhousex

密文C:EGMNFQQMKNBKSVVRGQXNKU如果要解密則是上述的逆過程。例2看過過《國家寶藏2》的朋友們一定記得里面的PLAYFAIR密碼。在計(jì)算機(jī)不發(fā)達(dá)的過去,這種密碼的安全性還是很高的。請對Iamlooking加密。1)密鑰為HOWAREYOU。然后把這組密鑰里重復(fù)的字母去掉,于是變成HOWAREYU。

2)做一5*5矩陣,如右圖:HOWAREYUBCDFGIKLMNPQSTVXZ3)第三步:對明文Iamlooking分組,把空格去掉然后每兩個(gè)字母分為一組:IAMLOXOKINGX

若某組中出現(xiàn)了同樣字母,在這兩個(gè)字母間加字母X,若最后一組僅有一個(gè)字母,則在其后加字母X。4)第四步:開始加密,對照剛才分組好的明文,在矩陣中找出相應(yīng)的字母對的位置,然后按照下面的規(guī)則在矩陣中尋找明文字母對對應(yīng)的密碼字母對:

1.若明文對在矩陣中是對角關(guān)系,那么以這兩字母連線為對角線作矩形,另一對角線兩端的字母就是密碼,比如:OX->AT

2.若明文對在矩陣中是同行關(guān)系,那么將這對字母均向右移一格,若有字母在右邊界,則移動(dòng)到同行左邊首字母,例如BC->CE

3.若明文對在矩陣中是同列關(guān)系,那么將這對字母均向下移一格,如:IA->PB

依照規(guī)則1、2、3,將明文轉(zhuǎn)換為密碼:PBNMATRFGPIV

例2Playfair密碼體制的破解Playfair算法的問題:如果用頻率攻擊的方法來破解,該體制是可以被攻破的,因?yàn)樵谟⒄Z中各種連字(即兩個(gè)字母的組合,三個(gè)字母的組合等等)已經(jīng)被制成了表格。我們看看最常用的連字:th,he,an,in,re,es,……而且對這些連字稍做變動(dòng)又很快會(huì)產(chǎn)生新的結(jié)果,比如,連字re和er都很常見。如果在密文中像IG和GI這樣的字母對出現(xiàn)的比較多的話,一個(gè)很自然的猜測就是e,i,r,g這些字母組成了矩陣的一個(gè)矩陣形式。該密碼體制的另外一個(gè)弱點(diǎn)是每一個(gè)明文字母在密文中僅對應(yīng)5種可能的字母(同一行的其它四個(gè)加上同列中下面相鄰的字母)。除非這個(gè)密鑰很長,否則矩陣的剩余行是可以預(yù)測出來的,所以,對于該體制來說僅用一段密文就可以攻破它。

古典密碼的統(tǒng)計(jì)分析古典密碼的統(tǒng)計(jì)分析單表古典密碼體制的密文字母表實(shí)際上是明文字母表的一個(gè)排列,因此,明文字母的統(tǒng)計(jì)特性在密文中能夠反映出來。當(dāng)截獲的密文足夠多時(shí),可以通過統(tǒng)計(jì)密文字母的出現(xiàn)頻率,來確定明文字母和密文字母之間的對應(yīng)關(guān)系。26個(gè)英文字母按出現(xiàn)頻率的大小可以分為以下5類:a)

e:出現(xiàn)頻率約為0.127.

b)t,a,o,i,n,s,h,r:出現(xiàn)頻率約在0.06~0.09之間

c)d,l:出現(xiàn)頻率約為0.04

d)c,u,m,w,f,g,y,p,b:出現(xiàn)頻率約在0.015~0.028之間

e)v,x,q,z:出現(xiàn)頻率小于0.01古典密碼的統(tǒng)計(jì)分析在密碼分析中,知道雙字母和三字母的統(tǒng)計(jì)特性也是非常有用的。出現(xiàn)頻率最高的30個(gè)雙字母(按頻率從大到小排列)如下:

thheineranreedones

stenattonthand

oueangasortiisetitar

tesehiof出現(xiàn)頻率最高的20個(gè)三字母(按頻率從大到小排列)如下:

theingandherereent

thanthwasethfordthhatsheioninthissth

ers

ver舉例:各種各樣的移位密碼是在16世紀(jì)發(fā)明的,它們大多數(shù)來自于Vigenère方法,它是法國密碼學(xué)家維吉尼亞于1586年提出一種多表替換密碼,但是就加密性而言,Vigenère密碼體制更復(fù)雜和高級(jí),直到20世紀(jì)初,這種加密體制在很多地方仍然被認(rèn)為是安全的,雖然早在19世紀(jì),Babbage和Kasiski就展示了如何攻擊它們。在1920年,由Fridman開發(fā)了另外一種加密方法,打破了Vigenère及其相關(guān)的密碼方法。第一步:這個(gè)加密的密鑰是一個(gè)向量,按如下方式選擇。首先,確定一個(gè)密鑰長度,如6,然后從0~25個(gè)整數(shù)中選擇元素項(xiàng)滿足這個(gè)長度的向量,如k=(21,4,2,19,14,17),將其稱為向量。這樣,系統(tǒng)的安全性所依賴的就是既不能知道密鑰內(nèi)容也不能得知其長度。

Vigenère密碼Vigenère密碼第二步:下面所舉的例子就是利用k來加密信息,首先,取明文的第1個(gè)字母并將之移21位,然后將第2個(gè)字母移4位,第3個(gè)字母移2位等等,一旦得到了密鑰的結(jié)尾,又從頭開始,這樣第7個(gè)字母又移位21位,第8個(gè)字母移4位等等,加密過程的密碼流程表如下:(明文)hereishowitworks(密鑰)21421914172142191417214219(密文)CITXWJCSYBHNJVML

這樣對于這么一段明文就可以用Vigenère完全進(jìn)行加密了,注意這里沒有一個(gè)字母的頻率比其他大很多,這是因?yàn)閑在加密的過程中擴(kuò)散成了幾個(gè)字母的緣故。

詳細(xì)算法介紹:例3對to

be

or

not

to

be

that

is

the

question加密。

當(dāng)選定“have”作為密鑰時(shí),加密過程是:密鑰第一個(gè)字母為[h],明文第一個(gè)為[t],因此可以找到在h行t列中的字母[a],依此類推,得出對應(yīng)關(guān)系如下:

密鑰:ha

ve

ha

veh

av

eh

aveh

av

eha

vehaveha

明文:to

be

or

not

to

be

that

is

the

question

密文:ao

wi

vr

isa

tj

fl

tcea

in

xoe

lylsomvn

也可以用查表法來進(jìn)行加密:例如密鑰的字母為[d],明文對應(yīng)的字母[b],在下圖的表格第五行找到字母“d”,再在左邊第三列找到字母“b”,兩個(gè)字母的交叉點(diǎn)就是字母“E”,所以對應(yīng)的密文字母為[e]。解密Vigenère密碼Vigenère的解密步驟要解密這些信息,我們需要分兩步走。第一步:找到密鑰的長度。第二步:發(fā)現(xiàn)密鑰。下面我們來講述怎么樣找到密鑰的長度,并給出一種發(fā)現(xiàn)密鑰的方法,然后解釋用這種方法發(fā)現(xiàn)密鑰的工作過程,最后給出了發(fā)現(xiàn)密鑰的第二種方法。第一步:找到密鑰長度。先在一張長紙條上寫上密文,再在另一張紙條上寫上同樣的密文。將一張紙條放在另一張紙條上面,移動(dòng)其中一張紙條,讓其移動(dòng)一個(gè)位置,然后記下兩張紙條中相同的密文字母數(shù)量;然后再移動(dòng)一個(gè)位置,記下相同密文字母的數(shù)量……這樣重復(fù)移動(dòng)13次即可,記下每次移動(dòng)后的相同密文字母數(shù)量,從中比較,找出最多相同字母數(shù)量的那個(gè)移動(dòng)次數(shù),就是密鑰的長度。(為什么會(huì)這樣,后面會(huì)給出解釋)解密Vigenère密碼Vigenère的解密步驟續(xù):

第二步:發(fā)現(xiàn)密鑰。發(fā)現(xiàn)密鑰的第一種方法現(xiàn)在我們假設(shè)我們確定了本例中密鑰的長度是5,看一下第1、第6、第11個(gè)……這些字母,再看哪一個(gè)字母出現(xiàn)的頻率最高,類似于對其進(jìn)行Caesar密碼攻擊,找到其中的字母出現(xiàn)頻率特性,這樣就可以確定第一個(gè)向量的值,也就是k1;然后重復(fù)這個(gè)步驟,對第2、第7、第12個(gè)……字母進(jìn)行相同的統(tǒng)計(jì)分析,得出第二個(gè)值k2;然后是對第3、第8、第13個(gè)……字母進(jìn)行統(tǒng)計(jì)分析,……最終將所有的5個(gè)ki值全部找到,這樣就得到了密鑰向量中的所有值。解密Vigenère密碼Vigenère的解密步驟續(xù):

第二步:發(fā)現(xiàn)密鑰。發(fā)現(xiàn)密鑰的第二種方法首先我們要明白點(diǎn)積的概念和點(diǎn)積的計(jì)算。將所有的字母按照字母表順序排列的統(tǒng)計(jì)頻率小數(shù)點(diǎn)就是A0

=(.082,.015,.028,……,.023,.001,.020,.001)。Ai就是A0右移i個(gè)位置的結(jié)果,例如A2=(.020,.001,.082,.015……..,.023,.001)

這樣A0

的點(diǎn)積等于A0×A0

=(.082)2+

(.015)2+……=.066

將w*Ai計(jì)算出最大的一項(xiàng),,,其中Ai依次從A0~A25中取值。一次一密密碼一次一密密碼

就是將要表達(dá)的明文全部用ASCII碼表示成0和1的序列串,然后用和明文一樣長的密鑰(也是隨機(jī)產(chǎn)生的0和1的序列串)進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果傳遞給對方,形成密文。解密過程就是將密文和密鑰同樣的進(jìn)行異或運(yùn)算,得出原文的ASCII碼表示,對照ASCII碼表得出原文。因?yàn)檫@個(gè)隨機(jī)的0和1的序列串非常難以做到隨機(jī)性和很大值,所以代價(jià)很高,難點(diǎn)就是如何找到一個(gè)偽隨機(jī)序列生成器,一般使用Geiger蓋格計(jì)數(shù)管來產(chǎn)生,就是在很短的時(shí)間內(nèi)計(jì)數(shù)滴答的聲音,看它是偶數(shù)還是奇數(shù),分別用0和1來代替。Enigma密碼Enigma密碼

最著名的輪轉(zhuǎn)密碼,德軍在二戰(zhàn)中始終使用的標(biāo)準(zhǔn)加密方法。于戰(zhàn)爭結(jié)束30年后才由英國政府解密檔案,它在40年代被英國破解,一直沒有公布。古典密碼學(xué)作業(yè)古典密碼學(xué)到此結(jié)束,相關(guān)課后作業(yè)需練習(xí)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論