《密碼學(xué)基礎(chǔ)》課件第1章_第1頁
《密碼學(xué)基礎(chǔ)》課件第1章_第2頁
《密碼學(xué)基礎(chǔ)》課件第1章_第3頁
《密碼學(xué)基礎(chǔ)》課件第1章_第4頁
《密碼學(xué)基礎(chǔ)》課件第1章_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.1密碼學(xué)的基本概念1.2幾種典型的古典密碼體制1.3古典密碼的統(tǒng)計分析習(xí)題

1.1密碼學(xué)的基本概念密碼學(xué)有著悠久而神秘的歷史,人們很難對密碼學(xué)的起始時間給出準(zhǔn)確的定義。一般認(rèn)為人類對密碼學(xué)的研究與應(yīng)用已經(jīng)有幾千年的歷史,該學(xué)科一直廣泛應(yīng)用于軍事領(lǐng)域。密碼學(xué)正式作為一門科學(xué)的理論基礎(chǔ)應(yīng)該首推1949年美國科學(xué)家Shannon的一篇文章《保密通信的信息理論》,他在研究保密機(jī)的基礎(chǔ)上,提出了將密碼建立在解某個已知數(shù)學(xué)難題基礎(chǔ)上的觀點(diǎn)。20世紀(jì)70年代,以公鑰密碼體制的提出和數(shù)據(jù)加密標(biāo)準(zhǔn)DES的問世為標(biāo)志,現(xiàn)代密碼學(xué)開始蓬勃發(fā)展。隨著計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)的普及和網(wǎng)上業(yè)務(wù)的大量開展,人們更加關(guān)注密碼學(xué),更加依賴密碼技術(shù)。保密是密碼學(xué)的核心。密碼學(xué)的基本目的是面對攻擊者Oscar,在被稱為Alice和Bob的通信雙方之間應(yīng)用不安全的信道進(jìn)行通信時,設(shè)法保證通信安全。密碼學(xué)研究對通信雙方要傳輸?shù)男畔⑦M(jìn)行何種保密變換以防止未被授權(quán)的第三方對信息的竊取。此外,密碼技術(shù)還可以用來進(jìn)行信息鑒別、數(shù)據(jù)完整性檢驗(yàn)、數(shù)字簽名等。在通信過程中,Alice和Bob也分別被稱為信息的發(fā)送方和接收方。Alice要發(fā)送給Bob的信息稱為明文(Plaintext)。為了保證信息不被未經(jīng)授權(quán)的Oscar識別,Alice需要使用密鑰(Key)對明文進(jìn)行加密,加密得到的結(jié)果稱為密文(Ciphertext)。密文一般是不可理解的,Alice將密文通過不安全的信道發(fā)送給Bob,同時通過安全的通信方式將密鑰發(fā)送給Bob。Bob在接收到密文和密鑰的基礎(chǔ)上,可以對密文進(jìn)行解密,從而獲得明文;對于Oscar,他可能會竊聽到信道中的密文,但由于無法得到加密密鑰,因此無法知道相應(yīng)的明文。

圖1-1給出了保密通信的一般機(jī)制。根據(jù)加密和解密過程所采用密鑰的特點(diǎn)可以將加密算法分為兩類:對稱加密算法和公開密鑰加密算法。圖1-1保密通信的一般機(jī)制對稱加密算法也稱為傳統(tǒng)加密算法,是指解密密鑰與加密密鑰相同或者能夠從加密密鑰中直接推算出解密密鑰的加密算法。通常在大多數(shù)對稱加密算法中解密密鑰與加密密鑰是相同的,所以這類加密算法要求Alice和Bob在進(jìn)行保密通信前,通過安全的方式商定一個密鑰。對稱加密算法的安全性依賴于密鑰的選擇。公開密鑰加密算法也稱為公鑰加密算法,是指用來解密的密鑰不同于進(jìn)行加密的密鑰,也不能夠通過加密密鑰直接推算出解密密鑰的加密算法。一般情況下,加密密鑰是可以公開的,任何人都可以應(yīng)用加密密鑰來對信息進(jìn)行加密,但只有擁有解密密鑰的人才可以解密出被加密的信息。在以上過程中,加密密鑰稱為公鑰,解密密鑰稱為私鑰。

在圖1-1所示的保密通信機(jī)制中,為了在接收端能夠有效地恢復(fù)出明文信息,要求加密過程必須是可逆的。從上述圖示可見,加密方法、解密方法、密鑰和消息(明文、密文)是保密通信中的幾個關(guān)鍵要素,它們構(gòu)成了相應(yīng)的密碼體制。

定義1.1.1

密碼體制

密碼體制的構(gòu)成包括以下要素:

(1)M:明文消息空間,表示所有可能的明文組成的有限集。

(2)C:密文消息空間,表示所有可能的密文組成的有限集。

(3)K:密鑰空間,表示所有可能的密鑰組成的有限集。

(4)E:加密算法集合。

(5)D:解密算法集合。該密碼體制應(yīng)該滿足的基本條件是:對任意的key∈K,存在一個加密規(guī)則ekey∈E和相應(yīng)的解密規(guī)則dkey∈D,使得對任意的明文x∈M,ekey(x)∈C且dkey(ekey(x))=x。

在以上密碼體制的定義中,最關(guān)鍵的條件是加密過程ekey的可逆性,即密碼體制不僅能夠?qū)γ魑膞應(yīng)用ekey進(jìn)行加密,而且應(yīng)該可以使用相應(yīng)的dkey對得到的密文進(jìn)行解密,從而恢復(fù)出明文。

顯然,密碼體制中的加密函數(shù)ekey必須是一個一一映射。要避免出現(xiàn)在加密時x1≠x2,而對應(yīng)的密文ekey(x1)=ekey(x2)=y的情況,否則在解密過程無法準(zhǔn)確確定密文y對應(yīng)的明文x。古典密碼是密碼學(xué)的淵源,雖然古典密碼都比較簡單而且容易破譯,但研究古典密碼的設(shè)計原理和分析方法對于理解、設(shè)計以及分析現(xiàn)代密碼技術(shù)是十分有益的。本節(jié)介紹幾種典型的古典密碼體制。

1.2.1棋盤密碼

棋盤密碼是公元前2世紀(jì)前后由希臘人提出來的,在當(dāng)時得到了廣泛的應(yīng)用。棋盤密碼通過將26個英文字母設(shè)法變成十位數(shù)來達(dá)到加密的目的。棋盤密碼的密鑰是一個5×5的棋盤,

將26個英文字母放置在里面,其中字母i和j被放在同一個方格中,如下表所示:1.2幾種典型的古典密碼體制在給定了字母排列結(jié)果的基礎(chǔ)上,每一個字母都會對應(yīng)一個數(shù)字αβ,其中α是該字母所在行的標(biāo)號,β是該字母所在列的標(biāo)號。通過設(shè)計的棋盤就可以對英文消息進(jìn)行加密,如u對應(yīng)的是22,f對應(yīng)的是34。例1.1

如果明文消息是

InformationSecurity

則相應(yīng)的密文序列是

23543424145531152324543213512214231521

解密過程應(yīng)用相同的棋盤排列,根據(jù)密文給出的字母所在位置來恢復(fù)相應(yīng)的明文消息。

棋盤密碼的任一個密鑰是25個英文字母(將字母i和j看成一個字母)在5×5的棋盤里的一種不重復(fù)排列。由于所有可能的排列有25!種,因此棋盤密碼的密鑰空間大小為25!。所以,

對于棋盤密碼,如果采用密鑰窮舉搜索的方法進(jìn)行攻擊,計算量會相當(dāng)大。1.2.2移位密碼

移位密碼的加密對象為英文符號。移位密碼采用每一字母向前推移key位的方式實(shí)現(xiàn)加密。換句話說,移位密碼實(shí)現(xiàn)了26個英文字母的循環(huán)移位。由于英文字符有26個字母,因此可以在英文字母表和Z26={0,1,…,26}之間建立一一對應(yīng)的映射關(guān)系。當(dāng)取密鑰key=3時,得到的移位密碼稱為凱撒密碼,因?yàn)樵撁艽a體制首先被JuliusCaesar所使用。定義1.2.1

移位密碼體制令M=C=K=Z26。對任意的key∈Z26,x∈M,y∈C,定義

ekey(x)=(x+key)mod26

dkey(y)=(y-key)mod26

在使用移位密碼體制對英文符號進(jìn)行加密之前,首先需要在26個英文字母與Z26中的元素之間建立一一對應(yīng)關(guān)系,然后應(yīng)用以上密碼體制進(jìn)行相應(yīng)的加密計算和解密計算。

例1.2

設(shè)移位密碼的密鑰為key=7,英文字符與Z26中的元素之間的對應(yīng)關(guān)系如下表所示:假設(shè)明文為ENCRYPTION,則加密過程如下:

首先將明文根據(jù)對應(yīng)關(guān)系表映射到Z26,得到相應(yīng)的整數(shù)序列

04130217241519081413

然后將每個數(shù)字與7相加,同時對26進(jìn)行取模運(yùn)算,得到

11200924052200152120

最后再應(yīng)用對應(yīng)關(guān)系表將以上數(shù)字轉(zhuǎn)化成英文字符,即得相應(yīng)的密文為

LUJYFWAPVU解密是加密的逆過程。首先應(yīng)用對應(yīng)關(guān)系表將密文轉(zhuǎn)化成數(shù)字,再將每個數(shù)字減去7后和26進(jìn)行取模運(yùn)算,對計算結(jié)果使用原來的對應(yīng)關(guān)系表即可還原成英文字符,從而解密出相應(yīng)

的明文。

移位密碼的加密和解密過程都是循環(huán)移位運(yùn)算,由于26個英文字母順序移位26次后還原,因此移位密碼的密鑰空間大小為25。1.2.3代換密碼

26個英文字母和Z26的元素之間可以建立一個一一對應(yīng)關(guān)系,于是Z26上的任一個置換也就對應(yīng)了26個英文字母表上的一個置換。因此可以借助Z26上的置換來改變英文字符的原有位置,以達(dá)到加密的目的,Z26上的置換看成了加密所需的密鑰。這樣可以將加密和解密過程直接看做是對英文字母表進(jìn)行了置換變換。定義1.2.2

代換密碼體制令M=C=Z26,K是Z26上所有可能置換構(gòu)成的集合。對任意的置換π∈K,x∈M,y∈C,定義

eπ(x)=π(x)

dπ(y)=π-1(y)

這里π和π-1互為逆置換。

例1.3

設(shè)置換π如下:其中大寫字母為明文字符,小寫字母為密文字符。根據(jù)以上對應(yīng)關(guān)系,置換π對應(yīng)的逆置換π-1為假設(shè)明文為ENCRYPTION,則相應(yīng)的密文為tfeknhzogf。

代換密碼的任一個密鑰π都是26個英文字母的一種置換。由于所有可能的置換有26!種,因此代換密碼的密鑰空間大小為26!。所以,對代換密碼如果采用密鑰窮舉搜索的方法進(jìn)行攻擊,計算量會相當(dāng)大。1.2.4維吉尼亞密碼

前面介紹的移位密碼和代換密碼體制中,一旦加密密鑰被選定,則英文字母表中每一個字母對應(yīng)的數(shù)字都會被加密成惟一的一個密文數(shù)字。這種密碼體制被稱為單表代換密碼。本小節(jié)介紹一種多表代換密碼——維吉尼亞密碼(VigenèreCipher),它是由法國人BlaisedeVigenère在16世紀(jì)提出的。定義1.2.3維吉尼亞密碼體制令m是一個正整數(shù),相應(yīng)地定義M=C=K=(Z26)m。對任意的密鑰key=(k1,k2,…,km)∈K,(x1,x2,…,xm)∈M,(y1,y2,…,ym)∈C,定義

ekey(x1,x2,…,xm)=(x1+k1,x2+k2,…,xm+km)mod26

dkey(y1,y2,…,ym)=(y1-k1,y2-k2,…,ym-km)mod26

如果已經(jīng)在26個英文字母和Z26之間建立了一一對應(yīng)的關(guān)系,則每一個密鑰key∈K都相當(dāng)于一個長度為m的字母串,被稱為密鑰字。例1.4

令m=8,密鑰字為Computer,則根據(jù)例1.2中的對應(yīng)關(guān)系可知,密鑰字對應(yīng)的數(shù)字序列為key=(02,14,12,15,20,19,04,17)。假設(shè)明文消息為

Blockcipherdesignprinciples

加密過程首先將明文字符串對應(yīng)為數(shù)字,每8個分為一組,使用密鑰字對分組明文消息進(jìn)行模26下的加密運(yùn)算,加密過程如下所示:所以相應(yīng)的密文序列為

Dzarevmgjsdsylmxpddxhvmgnse

解密過程使用相同的密鑰字,進(jìn)行相應(yīng)的逆運(yùn)算即可。

維吉尼亞密碼的密鑰空間大小為26m,所以即使m的值較小,相應(yīng)的密鑰空間也會很大。在維吉尼亞密碼體制中,一個字母可以被映射為m個字母中的某一個,這樣的映射關(guān)系也比單表代換密碼更為安全一些。1.2.5仿射密碼

仿射密碼是代換密碼的一個特例。仿射密碼的密碼體制定義如下。

定義1.2.4

仿射密碼體制令M=C=Z26,K={(k1,k2)∈Z26×Z26:gcd(k1,26)=1}。對任意的密鑰key=(k1,k2)∈K,x∈M,y∈C,定義

ekey(x)=(k1x+k2)mod26

dkey(y)=

(y-k2)mod26

其中,表示k1在Z26中的乘法逆,gcd(k1,26)=1表示k1與26互素。

根據(jù)數(shù)論中的相關(guān)結(jié)論,當(dāng)且僅當(dāng)gcd(k1,26)=1時,同余方程y≡(k1x+k2)mod26有惟一解x。當(dāng)k1=1時,仿射密碼變成了移位密碼。

例1.5

設(shè)已知仿射密碼的密鑰k=(11,3),則可知11-1mod26=19。假設(shè)明文為13,那么相應(yīng)的密文為

y=(11×3+3)mod26=16

解密過程為

x=19×(16-3)mod26=13

在Z26中,滿足條件gcd(k1,26)=1的k1只有12個值(它們分別是1,3,5,7,9,11,15,17,19,21,23,25),因此仿射密碼的密鑰空間大小為12×26=312。有關(guān)元素的乘法逆的具體計算方法,本書在附錄中給出了詳細(xì)的計算過程。對于Z26中與26互素的元素,相應(yīng)的乘法逆為

1-1mod26=1

3-1mod26=9

5-1mod26=21

7-1mod26=15

11-1mod26=19

17-1mod26=23

25-1mod26=25

上面給出的Z26上與26互素的元素逆元結(jié)論很容易通過乘法逆的定義進(jìn)行驗(yàn)證,如11×19=209≡1mod26。1.2.6置換密碼

前面幾小節(jié)介紹的加密方式的共同特點(diǎn)是通過將英文字母改寫成另一個表達(dá)形式來達(dá)到加密的效果。本節(jié)介紹另一種加密方式,通過重新排列消息中元素的位置而不改變元素本身的方式,對一個消息進(jìn)行變換。這種加密機(jī)制稱為置換密碼(也稱為換位密碼)。置換密碼是古典密碼中除代換密碼外的重要一類,它被廣泛應(yīng)用于現(xiàn)代分組密碼的構(gòu)造。

定義1.2.5

置換密碼體制令m≥2是一個正整數(shù),M=C=(Z26)m,K是Zm={1,2,…,m}上所有可能置換構(gòu)成的集合。對任意的(x1,x2,…,xm)∈M,π∈K,(y1,y2,…,ym)∈C,定義

其中,π和π-1互為Zm上的逆置換,m稱為分組長度。對于長度大于分組長度m的明文消息,可對明文消息先按照長度m進(jìn)行分組,然后對每一個分組消息重復(fù)進(jìn)行同樣的置亂加密過程。

例1.6

令m=4,π=(π(1),π(2),π(3),π(4))=(2,4,1,3)。假設(shè)明文為

Informationsecurityisimportant

加密過程首先根據(jù)m=4,將明文分為6個分組,每個分組4個字符。

Informationsecurityisimportant

然后應(yīng)用置換變換π加密成下面的密文:

noifmtraosincreutiiyipsmraottn

解密密鑰為

π-1=(π(1)-1,π(2)-1,π(3)-1,π(4)-1)=(3,1,4,2)在以上加密過程中,首先應(yīng)用給定的分組長度m對消息序列進(jìn)行分組,當(dāng)消息長度不是分組長度的整數(shù)倍時,可以在最后一段分組消息后面添加足夠的特殊字符,從而保證能夠以m為消息分組長度。例1.6中,我們在最后的分組消息tn后面增加了2個空格,以保證分組長度的一致性。

對于固定的分組長度m,Zm上共有m!種不同的排列,所以相應(yīng)的置換密碼共有m!種不同的密鑰。應(yīng)注意的是,置換密碼并未改變密文消息中英文字母的統(tǒng)計特性,所以置換密碼對于抗頻度分析技術(shù)來說是不安全的。1.2.7Hill密碼

置換密碼的主要思想體現(xiàn)在“分組—置換”,置換方式過于簡單會使其安全性不高。為了進(jìn)一步增加安全性,1929年Hill提出了一種多表代換密碼——Hill密碼。該算法保留了置換密碼的加密框架,所不同的是將分組后的每個部分采用線性變換的方式得到密文。即將明文消息按照步長m進(jìn)行分組,對每一組的m個明文字母通過線性變換將其轉(zhuǎn)換成m個相應(yīng)的密文字母。這樣密鑰由一個較為簡單的排列問題改變成較為復(fù)雜的m×m階可逆矩陣。在使用Hill密碼前,首先將英文的26個字母和數(shù)字1~26按自然順序進(jìn)行一一對應(yīng)以方便處理。

定義1.2.6Hill密碼體制令m≥2是一個正整數(shù),M=C=(Z26)m,K

是定義在Z26上的所有大小為m×m的可逆矩陣的集合。對任意的A∈K

,定義

eA(x)=xAmod26

dA(y)=yA

-1mod26

例1.7

令m=4,密鑰為

則相應(yīng)的Z26上的逆矩陣為

明文為

Hill將以上明文轉(zhuǎn)換成對應(yīng)的數(shù)字序列

781111

根據(jù)密鑰A可知,相應(yīng)的密文為

于是相應(yīng)的密文序列為

Ytix已知密文消息和密鑰A的逆矩陣A-1,根據(jù)Hill密碼體制的定義,對應(yīng)的解密過程如下:

于是相應(yīng)的明文消息為Hill。

通過例1.7可以發(fā)現(xiàn),Hill密碼對于相同的明文字母,可能有不同的密文字母與之對應(yīng)。一般情況下,Hill密碼能夠較好地抵御基于字母出現(xiàn)頻率的攻擊方法。在上面介紹的幾個典型的古典密碼體制里,含有兩個基本操作:代換和置換。代換實(shí)現(xiàn)了英文字母外在形式上的改變;置換實(shí)現(xiàn)了英文字母所處位置的改變。這兩個基本操作具有原理簡單且容易實(shí)現(xiàn)的特點(diǎn)。隨著計算機(jī)技術(shù)的飛速發(fā)展,古典密碼體制的安全性已經(jīng)無法滿足實(shí)際應(yīng)用的需要,但是代換和置換這兩個基本操作仍是構(gòu)造現(xiàn)代對稱加密算法最重要的核心方式。舉例來說,代換和置換操作在數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)和高級加密標(biāo)準(zhǔn)(AES)中都起到了核心作用。幾個簡單密碼算法的結(jié)合可以產(chǎn)生一個安全的密碼算法,這就是簡單密碼仍被廣泛使用的原因。除此之外,簡單的代換和置換密碼在密碼協(xié)議上也有廣泛的應(yīng)用。1.3古典密碼的統(tǒng)計分析自從有了加密算法,對加密信息的破解技術(shù)就應(yīng)運(yùn)而生。加密算法的對立面稱做密碼分析,也就是研究密碼算法的破譯技術(shù),加密和破譯構(gòu)成了一對矛盾體。假設(shè)攻擊者Oscar完全能夠截獲Alice和Bob之間的通信,密碼分析是指在不知道密鑰的情況下恢復(fù)出明文的方法。根據(jù)密碼分析的erckhoffs原則:攻擊者知道所用的加密算法的內(nèi)部機(jī)理,不知道的僅僅是加密算法所采用的加密密鑰。常用的密碼分析攻擊分為以下四類:

(1)惟密文攻擊(CiphertextOnlyAttack):攻擊者有一些消息的密文,這些密文都是用相同的加密算法進(jìn)行加密得到的。攻擊者的任務(wù)就是恢復(fù)出盡可能多的明文,或者能夠推算出加密算法采用的密鑰,以便可以采用相同的密鑰解密出其他被加密的消息。

(2)已知明文攻擊(KnowPlaintextAttack):攻擊者不僅可以得到一些消息的密文,而且也知道對應(yīng)的明文。攻擊者的任務(wù)就是用加密信息來推算出加密算法采用的密鑰或者導(dǎo)出一個算法,此算法可以對用同一密鑰加密的任何新消息進(jìn)行解密。

(3)選擇明文攻擊(ChosenPlaintextAttack):攻擊者不僅可以得到一些消息的密文和相應(yīng)的明文,而且還可以選擇被加密的明文。這比已知明文攻擊更為有效,因?yàn)楣粽吣軌蜻x擇特定的明文消息進(jìn)行加密,從而得到更多有關(guān)密鑰的信息。攻擊者的任務(wù)是推算出加密算法采用的密鑰或者導(dǎo)出一個算法,此算法可以對用同一密鑰加密的任何新消息進(jìn)行解密。

(4)選擇密文攻擊(ChosenCiphertextAttack):攻擊者能夠選擇一些不同的被加密的密文并得到與其對應(yīng)的明文信息。攻擊者的任務(wù)是推算出加密密鑰。

對于以上任何一種攻擊,攻擊者的主要目標(biāo)都是為了確定加密算法采用的密鑰。顯然這四種類型的攻擊強(qiáng)度依次增大,相應(yīng)的攻擊難度則依次降低。

由于古典密碼都是為了對英文字符進(jìn)行加密而設(shè)計的,因此許多古典密碼的密碼分析方法都利用了英文語言的統(tǒng)計特性。在對大量的英文文章、報紙、小說和雜志進(jìn)行統(tǒng)計分析的基礎(chǔ)上,Beker和Piper給出了26個英文字符出現(xiàn)概率的統(tǒng)計結(jié)果。在表1-1的基礎(chǔ)上,可以將26個英文字符劃分成5個部分:

(1)字符E的概率大約為0.12。

(2)字符A、H、I、N、O、R、S、T的概率大約為0.06~0.09。

(3)字符D、L的概率大約為0.04。

(4)字符B、C、F、G、M、P、U、W、Y的概率大約為0.015~0.023。

(5)字符J、K、Q、V、X、Z的概率小于0.01。當(dāng)然,除了26個英文字符呈現(xiàn)出的統(tǒng)計規(guī)律性外,還有一些字母組合也很常見,如TH、HE、IN、RE、DE、ST、EN、AT、OR、IS、ET、IT、AR、TE、HI、OF、THE、ING、ERE、ENT、FOR等,這些規(guī)律都為密碼分析提供了很好的依據(jù)。

根據(jù)以上英文字母的統(tǒng)計規(guī)律性,可以實(shí)現(xiàn)對古典密碼體制的破譯。

首先以仿射密碼為例,說明應(yīng)用以上統(tǒng)計結(jié)果對其進(jìn)行惟密文攻擊的密碼分析過程。

假設(shè)攻擊者Oscar截獲到的密文為

FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVU

FEDKAPRKDLYEVLRHHRH對以上密文消息中的英文字符進(jìn)行統(tǒng)計,相應(yīng)的結(jié)果如下:通過以上統(tǒng)計可知,在密文消息中按照出現(xiàn)頻率排序,頻率最大的英文字符依次是:R,D,E,H,K,S,F(xiàn),V。通過與表1-1對照,我們可以假設(shè)密文字符R對應(yīng)的明文字符是e,密文字符D對應(yīng)的明文字符是t。用仿射密碼體制來表示就是ekey(4)=17,ekey(19)=3。仿射密碼體制中,ekey(x)=(k1x+k2)mod26,這里k1、k2是未知的加密密鑰。根據(jù)假設(shè)我們可以得到關(guān)于密鑰k1、k2的線性方程組:解以上方程組,得到惟一的解k1=6,k2=19。顯然得到的密鑰是不合法的,因?yàn)間cd(k1,26)=2≠1。說明以上假設(shè)密文字符R對應(yīng)明文字符e,密文字符D對應(yīng)明文字符t是錯誤的。接下來根據(jù)表1-1,我們假設(shè)密文字符R對應(yīng)的明文字符是e,密文字符E對應(yīng)的明文字符是t。同樣用仿射密碼體制來表示就是ekey(4)=17,ekey(19)=4。采用相同的方法建立線性方程組:解方程組可得k1=13。得到的密鑰也是不合法的。

再假設(shè)密文字符R對應(yīng)的明文字符是e,密文字符H對應(yīng)的明文字符是t。同樣用仿射密碼體制來表示就是ekey(4)=17,ekey(19)=7。采用相同的方法建立線性方程組:解方程組可得k1=8。得到的密鑰仍然是不合法的。

再假設(shè)密文字符R對應(yīng)的明文字符是e,密文字符K對應(yīng)的明文字符是t。同樣用仿射密碼體制來表示就是ekey(4)=17,ekey(19)=10。采用相同的方法建立線性方程組:解方程組得到惟一的解k1=3,k2=5??梢灾赖玫降拿荑€是一組合法密鑰。接下來我們應(yīng)用得到的密鑰對密文消息進(jìn)行解密來進(jìn)一步驗(yàn)證密鑰的正確性。

由于3-1mod26=9,因此解密過程為dkey(y)=9y-19。解密密文得到

Algorithmsarequitegeneraldefinitionsofarithmeticprocesses

通過解密出的明文消息可知,所得到的密鑰是正確的。接下來再以代換密碼為例,說明應(yīng)用表1-1的統(tǒng)計結(jié)果對其進(jìn)行惟密文攻擊的密碼分析過程。假設(shè)攻擊者Oscar截獲到的密文為

YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR對以上密文消息中的英文字符進(jìn)行統(tǒng)計,相應(yīng)的結(jié)果如下:通過以上統(tǒng)計可知,在密文消息中按照出現(xiàn)頻率排序,頻率最大的英文字符依次是:Z,M,C,D,F(xiàn),J,R,Y。通過與表1-1對照,可以假設(shè)密文字符Z對應(yīng)的明文字符是e,密文

字符集合{M,C,D,F(xiàn),J,R,Y}應(yīng)該對應(yīng)的明文字符集合是{a,h,i,o,r,s,t}。但是,僅依據(jù)表1-1與以上的統(tǒng)計結(jié)果之間的關(guān)系難以確定兩個字符集合之間的具體對應(yīng)關(guān)系。接下來再利用英文字符組合的統(tǒng)計規(guī)律性來進(jìn)行分析。已經(jīng)假設(shè)密文字符Z對應(yīng)的明文字符是e,在密文消息中,與字符Z有關(guān)的長度為2的組合中出現(xiàn)較多的分別是DZ和ZW(分別出現(xiàn)4次),NZ和ZU(分別出現(xiàn)3次),RZ、HZ、XZ、FZ、ZR、ZV、ZC和ZD(分別出現(xiàn)2次)。因此在以上統(tǒng)計結(jié)果中,ZW出現(xiàn)了4次,而WZ沒有出現(xiàn),同時字符W本身單獨(dú)出現(xiàn)的次數(shù)也較少,所以假設(shè)密文字符W對應(yīng)的明文字符是d。由于DZ出現(xiàn)4次,而ZD也出現(xiàn)了2次,因此可以假設(shè)密文字符D可能對應(yīng)明文字符r、s、t中的某一個。

在密文的開始部分出現(xiàn)ZRW和RZW字符組合,字符組合RW在密文消息中也出現(xiàn)過,而且密文字符R在密文消息中也頻繁出現(xiàn),所以假設(shè)密文字符R對應(yīng)的明文字符是n。YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

??????end?????????e????ned???e????????????

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

????????e????e?????????n??d???en????e????e

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

?e???n??????n??????ed???e???e??ne?nd?e?e??

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR

?ed?????n???????????e????ed???????d???e??n根據(jù)已經(jīng)做出的假設(shè),可以給出密文的部分破譯結(jié)果如下:由于密文字符組合NZ出現(xiàn)的頻率較高,而組合ZN出現(xiàn)次數(shù)很少,因此接下來假設(shè)密文字符N對應(yīng)的明文字符是h。如果該假設(shè)是正確的,則在密文消息第三行中出現(xiàn)的RZCRWNZ對應(yīng)的明文字符序列是ne?ndhe,據(jù)此可以假設(shè)密文字符C對應(yīng)的明文字符是a。根據(jù)以上假設(shè),可以得到進(jìn)一步的破譯結(jié)果如下:

YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

??????end?????a???e?a??nedh??e??????a?????

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

h???????ea???e?a???a???nhad???en??a?e?h??e

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

he?a?n??????n??????ed???e???e??neandhe?e??

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR

?ed?a???nh???ha???a?e????ed?????a?d??he??n接下來確定在密文中出現(xiàn)次數(shù)較多的字符M。由于已經(jīng)確定密文RNM解密成nh?,說明h很可能是一個單詞的第一個字符,因此M對應(yīng)的明文字符應(yīng)該是一個元音字符??紤]到已經(jīng)使用了元音字符a和e,同時考慮到字符組合ao出現(xiàn)概率較低,假設(shè)密文字符M對應(yīng)的明文字符是i,從而進(jìn)一步得到破譯結(jié)果如下:YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

?????iend?????a?i?e?a?inedhi?e??????a???i?

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

h?????i?ea?i?e?a???a?i?nhad???en??a?e?hi?e

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

he?a?n?????in?i????ed???e???e?ineandhe?e??

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR

?ed?a??inhi??hai??a?e?i??ed?????a?d??he??n在剩余的{D,F(xiàn),J,Y}與{r,s,t,o}的對應(yīng)關(guān)系中,根據(jù)密文消息第一行的組合CFM對應(yīng)a?i,可以猜測密文字符F不可能對應(yīng)明文字符o;根據(jù)密文消息第二行的組合CJM對應(yīng)a?i,可以猜測密文字符J也不可能對應(yīng)明文字符o。因此假設(shè)密文字符Y對應(yīng)的明文字符是o。剩余的對應(yīng)關(guān)系中,由于NMD出現(xiàn)了2次,因此假設(shè)密文字符D對應(yīng)的明文字符是r,而根據(jù)密文消息第二行的組合HNCMF對應(yīng)chai?,可以假設(shè)密文字符F對應(yīng)的明文字符是r,密文字符H對應(yīng)的明文字符是c,從而假設(shè)密文字符J對應(yīng)的明文字符是t。在此基礎(chǔ)上,進(jìn)一步得到破譯結(jié)果如下:YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

o?r?riend?ro??arise?a?inedhise??t???ass?it

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

hs?r?riseasi?e?a?orationhadta?en??ace?hi?e

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

he?asnt?oo?in?i?o?redso?e?ore?ineandhesett

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR

?ed?ac?inhischair?aceti?ted??to?ardsthes?n在此基礎(chǔ)上,我們可以得到解密的明文消息為:

Ourfri

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論