計算機(jī)網(wǎng)絡(luò)安全技術(shù)_第1頁
計算機(jī)網(wǎng)絡(luò)安全技術(shù)_第2頁
計算機(jī)網(wǎng)絡(luò)安全技術(shù)_第3頁
計算機(jī)網(wǎng)絡(luò)安全技術(shù)_第4頁
計算機(jī)網(wǎng)絡(luò)安全技術(shù)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)網(wǎng)絡(luò)安全技術(shù)第一頁,共七十頁,編輯于2023年,星期五密碼按目的來分,可分為密碼編碼學(xué)和密碼分析學(xué)。密碼分析學(xué)的基本任務(wù)是研究如何破譯加密的消息或者偽造消息;密碼編碼學(xué)的基本目的就是要偽裝消息,就是要對給定的有意義的數(shù)據(jù)進(jìn)行可逆的數(shù)學(xué)變換,將其變?yōu)楸砻嫔想s亂無章的數(shù)據(jù),使得只有合法的接收者才能恢復(fù)原來有意義的數(shù)據(jù),而其余任何人都不能恢復(fù)原來的數(shù)據(jù)。變換前有意義的數(shù)據(jù)稱為明文,所有可能的明文組成的集合稱為明文空間。變換后的數(shù)據(jù)稱為密文,所有可能的密文組成的集合稱為密文空間。對明文數(shù)據(jù)進(jìn)行可逆變換的過程稱為加密過程,其變換稱為加密變換,加密由一個參數(shù)k1控制,這個參數(shù)稱為加密密鑰?;謴?fù)明文的過程稱為解密過程,其變換稱為解密變換,它由一個參數(shù)k2控制,這個參數(shù)稱為解密密鑰。如果加密密鑰k1與解密密鑰k2是相同的(或者從k1很容易推導(dǎo)出k2),統(tǒng)稱為k,這種密碼體制稱為對稱密碼體制,這是傳統(tǒng)的加密體制。如果加密密鑰k1與解密密鑰k2不相同,則稱為非對稱密碼體制,非對稱密碼體制也就是公開密鑰密碼體制。第二頁,共七十頁,編輯于2023年,星期五3.2保密系統(tǒng)的Shannon模型1.保密系統(tǒng)的Shannon模型圖3.1是保密系統(tǒng)的Shannon模型,n元數(shù)組xn=(x1,x2

,xn)是明文,n元數(shù)組yn=(y1,y2

,yn)是在公開信道上傳送的密文,也就說任何人都可得到這些密文,n元數(shù)組kn=(k1,k2

,kn)是通過安全信道傳送給接收者的密鑰,敵方密碼分析者無法獲得該密鑰。加密器的任務(wù)就是對明文m施以加密變換得到密文cc=Ek(m)解密器的任務(wù)就是對所接受到的密文實(shí)行解密變換獲得明文m’=Dk(c)=Dk(Ek(m

))由于加密變換、解密變換是依賴于密鑰k的一對可逆的數(shù)學(xué)變換,因此

m’=m從而完成保密通信。第三頁,共七十頁,編輯于2023年,星期五

密碼分析者

發(fā)送者加密器EK

解密器DK

接收者

密鑰源

圖3.1保密系統(tǒng)的Shannon模型第四頁,共七十頁,編輯于2023年,星期五例3.1一次一密密碼體制。設(shè)明文是一串二進(jìn)制數(shù)據(jù):m=(0110010011)2

,設(shè)k也是一串同樣長度的二進(jìn)制數(shù)據(jù):k=(0111001001)2。在A,B兩方通信前,A首先通過安全信道(比如信使)把密鑰送給B,現(xiàn)在A要把明文m通過公開信道送給B,A先對m施行加密變換c=Ek(m)=mk=(0110010011)2(0111001001)2

=(0001011010)2向量的模2加是指每個向量的分量進(jìn)行模2加。B收到c后,用事先A傳送給它的密鑰k進(jìn)行解密。

m’=Dk(c)=ck=(0001011010)2

(0111001001)2=(0110010011)2=m從而B獲得明文m。而任何獲得密文c的密碼分析者由于沒有密鑰k,因此也就無法獲得正確的明文。第五頁,共七十頁,編輯于2023年,星期五2.理想保密與完善保密從上面Shannon模型可以看出,保密的關(guān)鍵是密鑰。任何人只要獲得通信密鑰,就能正確地恢復(fù)明文。設(shè)明文xn=(x1,x2,,xn),密文為yn=(y1,y2,,yn),密鑰為k,如果對所有的n有I(xn;yn)=0,即對所有n,xn與yn統(tǒng)計獨(dú)立,從yn得不到任何關(guān)于xn的信息,這種密碼體制是完善保密的。前面介紹的一次一密的密碼體制由于每一次的密文與其他密鑰無關(guān),以而任何時候得到y(tǒng)n與其他xn無關(guān),所以是完善保密的。如果

0I(xn;yn)H(xn)即yn包含有xn的信息,這時可以推得H(kyn)0,即無論n有多大,已知密文yn

,k還是不確定的。沒有確定的密鑰就不能正確地解密,恢復(fù)明文。這種密碼體制稱為理想保密。

第六頁,共七十頁,編輯于2023年,星期五3.3古典加密技術(shù)雖然按照近代密碼學(xué)的觀點(diǎn)來看,許多傳統(tǒng)古典密碼很不安全,或者說很容易破譯。由于編制古典密碼的基本方法對于編制近代密碼仍然有效。本節(jié)將介紹幾種著名的古典密碼。幾乎所有的傳統(tǒng)加密用到兩種基本技巧:代換和置換。代換法是將明文字母替換成其他字母、數(shù)字和符號的方法。若把明文看作是二進(jìn)制序列,則代換就是用密文位串來代替明文位串。下面分別介紹則兩種密碼。

第七頁,共七十頁,編輯于2023年,星期五1代換密碼11)

凱撒(Caesar)密碼這是最早的代換密碼。凱撒密碼是每一字母向前推移k位。例如k=5便有明文和密文對應(yīng)關(guān)系如下:明文:ab cde fgh Ijk lmn o 密文:FG HIJ KLM NOP QRS T明文:pq rst uvw xyz密文:UV WXY ZAB CDE例如: 明文:dayafterday

密文:IFDFKYJWIFD不同的k可以得到不同的密文。如果讓每一個字母等價一個數(shù)字,如下所示:

第八頁,共七十頁,編輯于2023年,星期五abcdefghijklm12345678910111213nopqrstuvwxyz14151617181920212223242526則凱撒密碼變換實(shí)際上是

c≡(m+k)mod(26)其中m是明文對應(yīng)的數(shù)據(jù),c是與明文對應(yīng)的密文數(shù)據(jù),k是加密用的參數(shù)。也稱為密鑰。例如networksecurity對應(yīng)于數(shù)據(jù)序列14520231518111953211892025k=3時得密文序列

17823261821142286242112232對應(yīng)的密文為

QHWZRUNVHFXULWB第九頁,共七十頁,編輯于2023年,星期五2)單表代換密碼單表代換又稱為簡單代替密碼。只需使用一個密文字母表,并且用密文字母表中的一個字母來代替一個明文字母表中的一個字母。設(shè)A和B分別為含n個字母的明文字母表和明文字母表:

A={a0,a1,…,an} B={b0,b1,…,bn}定義一個由A到B的一一映射:f:A→B f(ai)=bi設(shè)明文M=(a0,a1,…,an-1),則C=(f(m0),f(m1),…,f(mn-1))??梢?,簡單代替密碼的密鑰就是映射函數(shù)f或密文字母表B。第十頁,共七十頁,編輯于2023年,星期五2置換密碼

把明文中的字母重新排列,字母本身不變,但其位置發(fā)生改變,這樣變換的密碼稱為置換密碼。最簡單的置換密碼是把明文中的字母順序倒過來,然后截成固定長度的字母組作為密文。例:明文:NETWORKSECURITY密文:YTIRUCESKROWTEN僅僅采用倒序的方法,其抗攻擊性的能力顯得很弱。另一種方法是將明文按某一順序排成一個矩陣,然后按另一順序選出矩陣中的字母以形成密文,最后分成固定長度的字母組作為密文。第十一頁,共七十頁,編輯于2023年,星期五例如:明文:CRYPTOGRAPHYANDNETWORKSECURITY矩陣:CRYPTOGRAPHYANDNETWORKSECURITY選出順序:按列選出密文:CGAWCRRNNOUYADRRPPNKITHESTOYTEY如果矩陣的行列數(shù)量或者選出列的順序發(fā)生變換,則密文將發(fā)生改變。如果將選出列的順序作為密鑰,則密文將隨著密鑰的改變而發(fā)生變化。置換密碼比較簡單,對于已知明文攻擊,很容易被攻破。但是,將置換技術(shù)同其他的技術(shù)結(jié)合起來,便能產(chǎn)生抗攻擊性能非常好的密碼算法。當(dāng)前的許多密碼算法都采用了置換技術(shù)。第十二頁,共七十頁,編輯于2023年,星期五3.4序列密碼

密碼按加密方式不同可以分為序列密碼與分組密碼,序列密碼是逐個字加密的,而分組密碼是按字塊加密的。

1.

序列密碼的工作原理序列密碼的工作原理非常直觀。假設(shè)m=m0m1m2是一個待加密的明文序列(一般是二進(jìn)制0,1序列),k=k0k1k2是一個與明文序列等長的二元(偽)隨機(jī)序列,稱為密鑰序列,收發(fā)兩端都事先知道密鑰序列的內(nèi)容,于是在序列密碼中,用密鑰序列k對明文序列m進(jìn)行加密的過程是將k和m對應(yīng)的分量進(jìn)行簡單的模2加,得到加密后的密文序列

c=c0c1c2即ci≡(ki+mi)(mod2)。在接收端,合法的接收者的解密過程就是將密文序列c和密鑰序列的對應(yīng)分量進(jìn)行簡單的模2加。于是原來的明文序列就恢復(fù)出來了,因為

mi≡(ki+ci)(mod2)第十三頁,共七十頁,編輯于2023年,星期五其原理如圖3.2和3.3所示。

明文序列m=m0m1m2

密文序列c=c0c1c2

密鑰序列k=k0k1k2

圖3.2序列密碼的加密過程第十四頁,共七十頁,編輯于2023年,星期五密文序列c=c0c1c2

明文序列m=m0m1m2

密鑰序列k=k0k1k2

圖3.3序列密碼的解密過程第十五頁,共七十頁,編輯于2023年,星期五

2.

線性位移寄存器(LFSR)從保密系統(tǒng)的Shannon理論和序列密碼的工作原理可知,序列密碼保密的關(guān)鍵是如何高效地產(chǎn)生可靠的二元隨機(jī)序列作為密鑰序列,由于目前還沒有有效地產(chǎn)生二元隨機(jī)序列的實(shí)用方法,于是,一般都用偽隨機(jī)二元序列作為密鑰序列。所謂偽隨機(jī)序列就是貌似隨機(jī)序列的序列,或者說很像隨機(jī)序列的序列。線性移位寄存器就是能過產(chǎn)生一種偽隨機(jī)序列的邏輯電路,它的工作原理如圖3.4所示。圖3.4中,f(aj-n,aj-n+1,,aj-1)=c0aj-1

c1aj-1

cn-1aj-n

是線性移位寄存器的反饋函數(shù),或稱反饋邏輯。下面的小方框代表寄存器,每個寄存器有兩個狀態(tài):0或1。N稱為線性移位寄存器的級數(shù)。當(dāng)一個時間脈沖來臨時,最左邊一個寄存器的值輸出,其余依次往左移動一位,最右邊的寄存器則接收反饋函數(shù)計算得到的值。當(dāng)不斷的有時間脈沖來臨時,最左邊輸出一串二元偽隨機(jī)序列a0a1a2

。第十六頁,共七十頁,編輯于2023年,星期五

f(aj-n,aj-n+1,,aj-1)

輸出

aj-1aj-2aj-3

aj--n+1aj-n

時間脈沖

第十七頁,共七十頁,編輯于2023年,星期五例3.2考慮圖3.5的三級線性反饋移位寄存器。

f(aj-3,aj-2,aj-1)=c0aj-3

c1aj-2

c2aj-1=aj-1

aj-1

f(aj-3,aj-2,aj-1)c0=1c1=0c2=1aj-3aj-2

aj-1

時間脈沖

圖3.53級線性移位寄存器第十八頁,共七十頁,編輯于2023年,星期五當(dāng)j=3時,取初值a0=0,a1=0,a2=1;當(dāng)j=4時,一個時間脈沖到來,a0=0輸出,a1=0移到最左邊一個寄存器,a2=1移到第二寄存器,a3=f(a0,a1,a2)=a0

a2=1送到第三個寄存器;當(dāng)j=5,6…,即不斷的有時間脈沖來臨時,最左邊就輸出一串偽隨機(jī)序列:001110100…。第十九頁,共七十頁,編輯于2023年,星期五

3.序列碼的設(shè)計雖然線性移位寄存器能夠快速產(chǎn)生偽隨機(jī)特性比較好的二元隨機(jī)序列,但在實(shí)用中它還不能直接用作序列密碼密鑰序列,這主要是因為它的高度可以預(yù)測。因此,必須對線性移位寄存器輸出序列進(jìn)行適當(dāng)?shù)奶幚?,這就是序列密碼的設(shè)計問題。1)

非線性組合序列密碼非線性組合序列密碼的工作原理如圖3.6所示。圖3.6中左邊的n個小方框代表n個線性反饋移位寄存器,分別輸出序列{a1i},…,{ani}。右邊大方框代表一個n元變量的非線性組合函數(shù)f(x1,x2,…,xn),它以n個線性反饋移位寄存器的輸出序列為變量

bi=f(a1i,a2i,…,ani),i=1,2,…這時序列{bi}就可作為密鑰序列了。第二十頁,共七十頁,編輯于2023年,星期五

{a1i}LFSR1

{a1i}

LFSR2

組密

{a1i}合鑰

LFSRn

器流

{bi}

明文密文

圖3.6非線性組合序列密碼第二十一頁,共七十頁,編輯于2023年,星期五

2)

饋序列密碼和鐘控序列密碼除了前面介紹的非線性組合序列密碼外,還有前饋序列密碼和鐘控序列密碼,他們的工作原理同非線性組合密碼比較類似,這里僅列出其工作原理框圖,如圖3.7和圖3.8所示。

LFSR2{bi}-cn-cn-1-c1LFSR1

采樣函數(shù)Saiai+1ai+n-1

密鑰序列{ui}

非線性前饋函數(shù)f明文m

密文c

密鑰序列{bi}圖3.8中控序列密碼明文序列m

密文序列c

圖3.7前饋序列密碼

第二十二頁,共七十頁,編輯于2023年,星期五

1.分組密碼的工作原理分組密碼的工作原理不像序列密碼那用直觀,它首先將明文分成相同長度的比特塊,然后分別對每個比特塊加密產(chǎn)生一串密文塊。解密時,對每個密文塊進(jìn)行解密得到相應(yīng)的明文比特塊,將所有的明文塊合并起來即得到明文。如圖3.9所示。

1)數(shù)據(jù)加密標(biāo)準(zhǔn)數(shù)據(jù)加密標(biāo)準(zhǔn),DES(DataEncryptionStandard),它是分組密碼的一個典型代表。1974年,美國國家標(biāo)準(zhǔn)局(NBS)向全社會公開征集一種用于政府非機(jī)密數(shù)據(jù)的加密算法。IBM公司提出了一種稱為LUCIFER的算法,在此基礎(chǔ)上,經(jīng)過一段時間的修改與簡化,美國國家標(biāo)準(zhǔn)局于1977年正式頒布了這個算法,稱為數(shù)據(jù)加密算法DES,用作政府及商業(yè)部門的非機(jī)密數(shù)據(jù)加密標(biāo)準(zhǔn)。第二十三頁,共七十頁,編輯于2023年,星期五

密鑰k

明文m=m0m1m2

密文c=c0c1c2…Ek

密鑰k

密文c=c0c1c2…明文m=m0m1m2Dk

圖3.9分組密碼的工作原理第二十四頁,共七十頁,編輯于2023年,星期五(1)DES的結(jié)構(gòu)圖DES用56位密鑰加密64位明文,輸出64位密文,它的加密過程如圖3.10所示。設(shè)輸入64比特明文,先對輸入的64比特明文進(jìn)入初始置換IP(見表3.1),置換后明文58比特變?yōu)榈谝晃?,?0比特變?yōu)榈诙?,等等,將新得到?4比特左邊的32位記為L0,右邊的32比特記為R0

。經(jīng)16圈處理后,在經(jīng)逆初始置換IP-1(見表3.2)產(chǎn)生最后的64比特輸出密文。第二十五頁,共七十頁,編輯于2023年,星期五表3.1初始置換IP

表3.2逆初始置換IP-15850423426181024084816562464326052443628201243974715552363316254463830221463864614542262306456484032241683754513532161295749413325179136444125220602859514335271911335343115119592761534537292113534242105018582663554739312315733141949175725第二十六頁,共七十頁,編輯于2023年,星期五加密過程可用數(shù)學(xué)公式表示如下:

下面對加密過程的函數(shù)f作詳細(xì)地描述。首先將Ri-1的32比特膨脹為48比特的向量,膨脹方法見比特選擇表E(見表3.3),然后將這48比特向量與48比特向量Ki(子密鑰)進(jìn)行模2加,得出一個48比特向量,將最后的48比特向量分成8部分,每組6比特分別輸出到8個S盒S1,S2,…,S8中。每個S盒是一個4行、16列的表。盒中的每一項都是4比特的數(shù)。S盒的6比特輸入確定了其對應(yīng)的輸出在那一行、那一列。表3.5表明了8個S盒的結(jié)構(gòu)。第二十七頁,共七十頁,編輯于2023年,星期五

64比特輸入初始置換IPL0R0K1

fL1=R0R1=L0⊕f(R0,K1)K2

f

第二十八頁,共七十頁,編輯于2023年,星期五

L2=R1R2=L1⊕f(R1,K2)

L15=R14R15=L14⊕f(R14,K15)K16

fR16=L15⊕f(R15,K16)L16=R15

逆初始置換IP-164比特輸出

圖3.10DES加密算法第二十九頁,共七十頁,編輯于2023年,星期五

表3.3比特選擇表E

表3.4置換P32123451672021456789291228178910111213115232612131415161751831101617181920212824142021222324253227392425262728291913306282930313212211425

第三十頁,共七十頁,編輯于2023年,星期五最后所有S盒輸出的32比特經(jīng)置換P(見表3.4)后,形成函數(shù)f(Ri-1,Ki)的32比特輸出(見圖3.11)。

Ri-1

比特選擇E

ki

S1S2S3S4S5S6S7S8

置換P

f(Ri-1,Ki)

圖3.11函數(shù)f(Ri-1,Ki)的計算第三十一頁,共七十頁,編輯于2023年,星期五

表3.5S盒的結(jié)構(gòu)

012345678910111213141501441312151183106125907S11015741421311061211953824114813621115129731050315128249175113141006301518146113497213120510S213134715281412011069115201471110413158126932153138101315421167120514901009146315511312711428S3113709346102851412111512136498153011121215101473110130698741514311521207131430691012851112415S4113811561503472121101492106901211713151314528433150610113894511127214第三十二頁,共七十頁,編輯于2023年,星期五

02124171011685315130149S511411212471315015103986242111101378159125630143118127114213615091045301211015926801334147511S611015427129561131401138291415528123704101131163432129515101114176081304112141508133129751061S711301174911014351221586214111312371410156805923611138141079501514231201328461511110931450127S8111513810374125611014922711419121420610131535832114741081315129035611第三十三頁,共七十頁,編輯于2023年,星期五(2)子密鑰的產(chǎn)生實(shí)際上,K是長度為64的比特串,其中56比特是密鑰,8比特是奇偶校驗位(為了檢錯),奇偶校驗位分布在與8、16、…64位置上。56位密鑰經(jīng)過置換選擇1、循環(huán)左移、置換選擇2等變換,產(chǎn)生16個子密鑰,子密鑰產(chǎn)生過程見圖3.12。產(chǎn)生每個子密鑰所需的循環(huán)左移見表3.6

表3.6循環(huán)左移位數(shù)表圈i12345678910111213141516LS(i)1122222212222221第三十四頁,共七十頁,編輯于2023年,星期五

KPC-1

C0D0

LS(1)LS(1)

C1D1PC-2K1LS(2)LS(2)

C2D2PC-2K2

┇┇LS(16)LS(16)

C16D16PC-2K16

圖3.12子密鑰產(chǎn)生的結(jié)構(gòu)圖第三十五頁,共七十頁,編輯于2023年,星期五置換選擇1(PC-1)規(guī)定C0的各位依次為密鑰的第57,49,…44,36位,D0的各位依次為密鑰中的第63,55,…12,4位,具體見表3.7。置換選擇2從Ci和Di(其56位)中選擇出一個48位子密鑰Ki,其中Ki中的各位依次是Ci和Di中的14,17,…29,32位。具體見表3.8。

表3.7PC-1

表3.8PC-2574941332517914171124151585042342618328156211010259514335272319124268191136052443616727201326355473931231541523137475576254463830223040514533481466153453729444939563453211352820124464250362932DES的解密與DES的加密一樣,只不過是子密鑰的順序相反,:K16—K1。

第三十六頁,共七十頁,編輯于2023年,星期五(3)關(guān)于DES的實(shí)際應(yīng)用雖然DES的描述是相當(dāng)長的,但它能以硬件或軟件的方式非常有效的實(shí)現(xiàn)。需完成的運(yùn)算仍為比特異或。擴(kuò)展函數(shù)E,S盒、置換IP和P以及K16—K1的計算都能在一個固定的時間內(nèi)通過查表(以軟件或電路)來實(shí)現(xiàn)。DES的一個非常重要的應(yīng)用是銀行交易。在銀行交易中使用了美國銀行協(xié)會開發(fā)的標(biāo)準(zhǔn)。DES用于加密個人身份識別號(PIN)和通過自動取款機(jī)(ATM)進(jìn)行的記賬交易。票據(jù)交易所內(nèi)部銀行支付系統(tǒng)(HIPS)用DES來鑒別每周的交易。第三十七頁,共七十頁,編輯于2023年,星期五2)DES的評價與改進(jìn)(1)對DES的評價自從DES公布以來,它一直超越國界,成為國際商業(yè)保密通信和計算機(jī)通信的最常用的加密算法,二十多年以來,一直活躍在國際數(shù)據(jù)保密通信的舞臺上,扮演著十分重要的角色。

DES加密法的保密性到底如何,早在DES被正式公布為加密標(biāo)準(zhǔn)之前,就展開了熱烈的討論。由于目前無一個加密系統(tǒng)性能的統(tǒng)一標(biāo)準(zhǔn)和嚴(yán)格的理論,因此人們只能從一個加密系統(tǒng)抵抗現(xiàn)有解密手段的能力來評價他的好壞。自1975年以來,美國的許多機(jī)構(gòu)、公司和學(xué)者,包括國家保密局(NSA)、NBS、IBM公司、BELL實(shí)驗室和一大批著名的密碼學(xué)專家都對DES進(jìn)行了大量的研究和試驗,對DES進(jìn)行了全面考察,認(rèn)為他的保密性良好。80年代中期,人們看到DES算法迭代次數(shù)少,密鑰長度短,其代替函數(shù)Si中可能有不安全因素,因而曾有過不少批評。甚至有人還想取消他。

第三十八頁,共七十頁,編輯于2023年,星期五1984年,美國國家安全局決定研制新的數(shù)據(jù)加密標(biāo)準(zhǔn)CCEP,但從發(fā)展趨勢上來看,CCEP是按封閉原則管理的,應(yīng)用范圍有限,不再具有技術(shù)上的開放性和使用上的靈活性,因此受到金融界的強(qiáng)烈反對。由于反對呼聲很高,美國政府不得不于1987年初廢除了1984年簽署的CCEP取代DES加密標(biāo)準(zhǔn)的命令。目前,已有DES的軟件、硬件產(chǎn)品,他們在各種加密算法產(chǎn)品中占有很大比重。因而最具代表性、影響力最大、應(yīng)用最廣泛。進(jìn)入90年代以來,以色列密碼學(xué)家Shamir等人提出了“差分分析法”,以后日本人提出“微分分析法”,1993和1994年的世界密碼學(xué)大會又提出了“線性分析法”破譯密碼,使DES受到了嚴(yán)重的威脅。1997年6月17日晚美國鹽城的MichaelSanders終于用一臺速度為90MHz的奔騰機(jī)解出了DES的56位密鑰,使DES算法受到歷史上第一次嚴(yán)重打擊,使它的安全性受到嚴(yán)重威脅。第三十九頁,共七十頁,編輯于2023年,星期五(2)DES算法的改進(jìn)雖然DES算法存在一些潛在的弱點(diǎn),但至今從未真正被攻克過。人們針對DES的不足對DES作了不少改進(jìn)。例如增加密鑰長度、擴(kuò)大數(shù)據(jù)塊或增多循環(huán)次數(shù),經(jīng)常變換密鑰等。首先,DES算法提出的幾種工作模式具有不同的保密性能,使用時可以根據(jù)實(shí)際需要予以采用。DES加密時,有ECB、CBC和CFB三種工作模式。其中,ECB(ElectronieCodeBook)是數(shù)據(jù)塊加密模式,每個數(shù)據(jù)塊之間的加密是獨(dú)立的。CBC(CipherBlockChaining)和CFB是數(shù)據(jù)流加密模式,且CBC模式采用帶反饋的加密,其數(shù)據(jù)塊之間的加密不再獨(dú)立,加密后的密文前部分用來參與報文后面部分的加密,其保密和抗分析性能明顯的優(yōu)于ECB模式,應(yīng)用廣泛。其次,經(jīng)常變換DES密鑰,可以增強(qiáng)DES密文的保密強(qiáng)度。改進(jìn)后的DES算法,使用公開密鑰加密DES密鑰,如使用RSA公開密鑰加密方法作為加固的工具。第四十頁,共七十頁,編輯于2023年,星期五第三,對DES算法進(jìn)行變換,例如,利用加密過程的隨機(jī)因數(shù),對DES的8個S盒進(jìn)行置換;對明文按64位分組,并采用分組反饋鏈接式,或密碼反饋模式,進(jìn)行加密和解密;采用三重DES加密后解密技術(shù)等。三重DES加密是采用了把不同的DES密鑰對數(shù)據(jù)連續(xù)加密三次,等于使用兩個56位密鑰對64位明文進(jìn)行加密。密鑰長度每增加一位,密鑰總數(shù)就會翻一番。能有效的防止對密鑰的窮盡搜索。其加密算法的具體步驟如下:(1)

用密鑰K1對64位明文進(jìn)行DES加密。(2)

對(1)加密的結(jié)果,用密鑰K2進(jìn)行DES解密。(3)

對(2)的結(jié)果是用密鑰K1,再進(jìn)行DES加密。這個加密過程稱為EDE,即加密/解密/加密過程,其加密流程如圖3.13所示。

第四十一頁,共七十頁,編輯于2023年,星期五mDESDESDESccDES-1DES-1DES-1m

k1k2k1k1k2k1

圖3.13三重DES加密算法框圖圖3.14三重DES解密過程三重DES加密的運(yùn)算量是普通DES的3倍,加密時間也是DES的3倍,當(dāng)K1=K2時,其加密效果與單次DES相同,其攻擊的復(fù)雜度從O(Z56)增至O(Z112)。三重DES解密過程如圖3.14所示。第四十二頁,共七十頁,編輯于2023年,星期五2.IDEA數(shù)據(jù)加密DES數(shù)據(jù)加密標(biāo)準(zhǔn)的出現(xiàn)在近代密碼學(xué)的歷史上是一件大事,它即將走完自己發(fā)展歷程,面臨著更新與提高。近年來,分組密碼新的算法不斷涌現(xiàn),IDEA是其中的佼佼者。IDEA是InternationDataEnorypionAlgorithm的縮寫,即國際數(shù)據(jù)加密算法,是由中國學(xué)者來學(xué)嘉博士與著名的密碼學(xué)家JamasMassey于1990年聯(lián)合提出的,后經(jīng)修改于1992年完成。他的明文和密文都是64比特,但密鑰長為128比特。加密和解密也是相同的,只是密鑰各異。不論軟件或硬件實(shí)現(xiàn)都不難。加密和解密速度都非???。1)IDEA加密算法IDEA加密算法如圖3.15所示。64比特的數(shù)據(jù)分成4個子塊,每一字塊16比特,令這4個子塊為X1、X2、X3和X4作為迭代第一輪的輸入,全部共8輪迭代,每輪迭代都是4個子塊彼此間以16比特的子密鑰進(jìn)行與或運(yùn)算,modZ16作加法運(yùn)算,mod(Z16+1)作乘法運(yùn)算。任何一輪迭代第3和第4子塊互換,每一輪迭代運(yùn)算步驟如下:第四十三頁,共七十頁,編輯于2023年,星期五

X1X2X3X4

Z1(1)

Z2(1)

Z3(1)

Z4(1)+++Z5(1)

++Z6(1)

++++

┇┇┇

Z1(9)

Z2(9)+Z3(9)+Z4(9)

Y1Y2Y3Y4第四十四頁,共七十頁,編輯于2023年,星期五(1)

X1和第1個子密鑰塊作乘法運(yùn)算。(2)

X2和第2個子密鑰塊作加法運(yùn)算。(3)

X3和第3個子密鑰塊作加法運(yùn)算。(4)X4和第4個子密鑰塊作乘法運(yùn)算。

(5)

(1)和(3)的結(jié)果作與或運(yùn)算。(6)

(2)和(4)的結(jié)果作與或運(yùn)算。(7)

(5)的結(jié)果與第5子密鑰塊作乘法運(yùn)算。(8)

(6)和(7)的結(jié)果作加法運(yùn)算。(9)

(8)的結(jié)果與第6個字密鑰塊作乘法運(yùn)算。(10)

(7)和(9)的結(jié)果作加法運(yùn)算。(11)

(1)和(9)結(jié)果作與或運(yùn)算。(12)

(3)和(9)的結(jié)果作與或運(yùn)算。(13)

(2)和(10)的結(jié)果作與或運(yùn)算。(14)

(4)和(10)的結(jié)果作與或運(yùn)算。第四十五頁,共七十頁,編輯于2023年,星期五結(jié)果的輸出為(11),(13),(12),(14)。除最后一輪外,第2和第3塊交換。第8輪結(jié)束后,最后輸出的變換有:(1)

X1和第1子密鑰塊作乘法運(yùn)算。(2)

X2和第2子密鑰塊作加法運(yùn)算。(3)

X3和第3子密鑰塊作加法運(yùn)算。(4)

X4和第4子密鑰塊作乘法運(yùn)算。子密鑰塊的產(chǎn)生過程也很容易,子密鑰塊每輪6個,最后輸出變換4個,共52個。首先將128比特的密鑰分成8個子密鑰,每個子密鑰16比特,這8個子密鑰正好是第一輪的6個和第2輪的前兩個。將子密鑰左旋轉(zhuǎn)25比特,再將他們分成8個子密鑰,前4個是第2輪的子密鑰,后4個是第3輪的。將子密鑰再旋轉(zhuǎn)25比特,產(chǎn)生后8個子密鑰。以此類推。直到算法結(jié)束。第四十六頁,共七十頁,編輯于2023年,星期五2)IDEA解密算法解密密鑰和加密密鑰的對應(yīng)關(guān)系如表3.9所示。這里Z-1表示Zmod(Z16+1)乘法的逆。即

Z⊙Z-1=1-Z表示Zmod(Z16)加法的逆,即

Z(-Z)=03)IDEA算法的保密強(qiáng)度IDEA的密鑰長是DES的兩倍,2128=340281038。而采用強(qiáng)行攻擊法對付IDEA將是對付用同樣方法DES的264,即1.81019。當(dāng)然,有許多科研單位和軍事部門對IDEA進(jìn)行攻擊,單獨(dú)沒有成功,看起來是安全的,是很有希望的一種密碼體制。

第四十七頁,共七十頁,編輯于2023年,星期五

表3.9IDEA加密與解密密鑰的對應(yīng)關(guān)系

輪次加密子密鑰塊解密子密鑰塊

1Z1(1)Z2(1)Z3(1)Z4(1)Z5(1)Z6(1)(Z1(9))-1-Z2(9)-Z3(9)(Z4(9))-1Z5(8)Z6(8)2Z1(2)Z2(2)Z3(2)Z4(2)Z5(2)Z6(2)(Z1(8))-1-Z2(8)-Z3(8)(Z4(8))-1Z5(7)Z6(7)3Z1(3)Z2(3)Z3(3)Z4(3)Z5(3)Z6(3)(Z1(7))-1-Z2(7)-Z3(7)(Z4(7))-1Z5(6)Z6(6)4Z1(4)Z2(4)Z3(4)Z4(4)Z5(4)Z6(4)(Z1(6))-1-Z2(6)-Z3(6)(Z4(6))-1Z5(5)Z6(5)5Z1(5)Z2(5)Z3(5)Z4(5)Z5(5)Z6(5)(Z1(5))-1-Z2(5)-Z3(5)(Z4(5))-1Z5(4)Z6(4)6Z1(6)Z2(6)Z3(6)Z4(6)Z5(6)Z6(6)(Z1(4))-1-Z2(4)-Z3(4)(Z4(4))-1Z5(3)Z6(3)7Z1(7)Z2(7)Z3(7)Z4(7)Z5(7)Z6(7)(Z1(3))-1-Z2(3)-Z3(3)(Z4(3))-1Z5(2)Z6(2)8Z1(8)Z2(8)Z3(8)Z4(8)Z5(8)Z6(8)(Z1(2))-1-Z2(2)-Z3(2)(Z4(2))-1Z5(1)Z6(1)輸出變換Z1(9)Z2(9)Z3(9)Z4(9)(Z1(1))-1-Z2(1)-Z3(1)(Z4(1))-1第四十八頁,共七十頁,編輯于2023年,星期五

3.基于神經(jīng)網(wǎng)絡(luò)混沌序列的對稱加密方法混沌神經(jīng)網(wǎng)絡(luò)模型最早是根據(jù)生物神經(jīng)元的混沌特性于上世紀(jì)90年代由K.Aihara,T.Takabe和M.Toyoda等人首次提出來的,它具有非常豐富和復(fù)雜的非線性動力學(xué)特性,特別是它的混沌動力學(xué)特性,它不僅能產(chǎn)生無法預(yù)料的偽隨機(jī)序列軌跡,而且是一個非常復(fù)雜難解的NP問題;與以寄存器為基礎(chǔ)的序列加密法相比,混沌神經(jīng)網(wǎng)絡(luò)在序列周期、隨機(jī)統(tǒng)計性以及線性復(fù)雜度方面均有優(yōu)勢,因而這種混沌加密算法的安全性比以位移寄存器為基礎(chǔ)的序列加密算法要高。此外,由于神經(jīng)網(wǎng)絡(luò)是一個高速并行運(yùn)算的網(wǎng)絡(luò),只要用集成電路來直接實(shí)現(xiàn)它的并行運(yùn)算方式,其加密算法就可實(shí)現(xiàn)實(shí)時加密通信,可以滿足現(xiàn)代網(wǎng)絡(luò)實(shí)時通信的要求。第四十九頁,共七十頁,編輯于2023年,星期五1)

加密方案(1)混沌神經(jīng)網(wǎng)絡(luò)密性K.Aihara,T.Takabe和M.Toyoda等人所提出的混沌神經(jīng)網(wǎng)絡(luò)第i個混沌神經(jīng)元的動力學(xué)模型描述如下:以上公式中yi(t+1)為離散時刻(t+1)是第i個混沌神經(jīng)元的內(nèi)部狀態(tài),xi(t+1)為第i個混沌神經(jīng)元在離散時刻(t+1)的輸出,fi為第個i神經(jīng)元的連續(xù)輸出函數(shù),M為網(wǎng)絡(luò)中混沌神經(jīng)元的個數(shù),Wij為第j個混沌神經(jīng)元與第i個混沌神經(jīng)元之間的連接權(quán)值,hj為第j個混沌神經(jīng)元的軸突變換傳輸函數(shù),N為外部輸入的個數(shù),Vij為第j個輸入與第i個混沌神經(jīng)元之間的連接權(quán)值,Ij(t)為離散時刻(t)時第j個外部輸入的強(qiáng)度,gi為第個i混沌神經(jīng)元的不應(yīng)性函數(shù),k為不應(yīng)性衰減系數(shù),α為自反饋系數(shù),一般為一正數(shù),θi為第個i混沌神經(jīng)元的全或無激發(fā)閾值。

第五十頁,共七十頁,編輯于2023年,星期五該模型具有十分豐富而又復(fù)雜的非線性動力學(xué)特性,如在較大范圍內(nèi)具有復(fù)雜的混沌行為,對初始條件敏感等。為了便于分析,將公式進(jìn)行具體化的定義,不失一般性,對所有神經(jīng)元,將函數(shù)h和g定義為h(x)=g(x)=x,函數(shù)f定義為符號函數(shù),即:令θi=0,α=1則上面第一式變?yōu)椋?/p>

第五十一頁,共七十頁,編輯于2023年,星期五

(2)加密方案

基于混沌神經(jīng)網(wǎng)絡(luò)的加密通信方案示意圖如圖3.16所示,在3.16(a)加密過程中要傳送的明文首先被轉(zhuǎn)換為二進(jìn)制數(shù)字,然后分組,分組的大小與混沌神經(jīng)元的數(shù)目一致,最后一組如果不夠,則用1來填充;每塊明文分兩路,一路將該明文分組進(jìn)行逆序,作為取模運(yùn)算的一個輸入;另一路作為混沌神經(jīng)網(wǎng)絡(luò)的外部輸入,在t時刻的明文分組作為混沌神經(jīng)網(wǎng)絡(luò)的(t+1)的外部輸入Ij(t+1)(t=1,2,…M);混沌神經(jīng)網(wǎng)絡(luò)在輸入密鑰后產(chǎn)生與明文分組等比特的隨機(jī)序列,與逆序后的明文塊進(jìn)行逐比特取模運(yùn)算,形成明文流,對密文采用安全Hash函數(shù)算法進(jìn)行安全認(rèn)證,然后經(jīng)數(shù)字調(diào)制后在不安全的信道上傳輸。而在圖(b)中,解密過程正好相反。第五十二頁,共七十頁,編輯于2023年,星期五明

轉(zhuǎn)

分組

逆文

填充

SHA

算法

認(rèn)證

密鑰

混沌神經(jīng)網(wǎng)絡(luò)

(a)信息加密流程

SHA密

拼接

算法

轉(zhuǎn)

認(rèn)證

刪除

混沌

密鑰

神經(jīng)

網(wǎng)絡(luò)

(b)信息解密流程圖3.16基與混沌神經(jīng)網(wǎng)絡(luò)的加密通信方案第五十三頁,共七十頁,編輯于2023年,星期五例如以M=8為例,明文字符A轉(zhuǎn)換成二進(jìn)制為(00100000),逆序后變?yōu)椋?0000100),設(shè)此時神經(jīng)網(wǎng)絡(luò)的輸出為(10101010)則對應(yīng)逐比特取模后變?yōu)椋?0101110),作為密文輸出,經(jīng)SHA算法認(rèn)證才發(fā)出;在接受方,接受方得到密文(10101110)后,先進(jìn)行SHA算法認(rèn)證,如在傳輸中密文被篡改,則拒收此密文;若無,則進(jìn)行下一步的處理,與此時的神經(jīng)網(wǎng)絡(luò)的輸出(10101010)逐比特取模,變?yōu)椋?0000100),再逆序后變?yōu)椋?0100000),將二進(jìn)制碼轉(zhuǎn)換成ASCII字符A,從而獲得明文。將明文分組逆序的目的主要是增加密文的混亂性,使得在密文中不可能直接顯示出相應(yīng)的明文符號,讓密文與明文之間更接近是兩個獨(dú)立事件,以提高密文的熵,增強(qiáng)抗唯密文攻擊力。第五十四頁,共七十頁,編輯于2023年,星期五混沌神經(jīng)網(wǎng)絡(luò)加密算法的密鑰由兩部分

溫馨提示

  • 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

提交評論