




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機網絡安全技術第一頁,共七十頁,編輯于2023年,星期五密碼按目的來分,可分為密碼編碼學和密碼分析學。密碼分析學的基本任務是研究如何破譯加密的消息或者偽造消息;密碼編碼學的基本目的就是要偽裝消息,就是要對給定的有意義的數據進行可逆的數學變換,將其變?yōu)楸砻嫔想s亂無章的數據,使得只有合法的接收者才能恢復原來有意義的數據,而其余任何人都不能恢復原來的數據。變換前有意義的數據稱為明文,所有可能的明文組成的集合稱為明文空間。變換后的數據稱為密文,所有可能的密文組成的集合稱為密文空間。對明文數據進行可逆變換的過程稱為加密過程,其變換稱為加密變換,加密由一個參數k1控制,這個參數稱為加密密鑰。恢復明文的過程稱為解密過程,其變換稱為解密變換,它由一個參數k2控制,這個參數稱為解密密鑰。如果加密密鑰k1與解密密鑰k2是相同的(或者從k1很容易推導出k2),統(tǒng)稱為k,這種密碼體制稱為對稱密碼體制,這是傳統(tǒng)的加密體制。如果加密密鑰k1與解密密鑰k2不相同,則稱為非對稱密碼體制,非對稱密碼體制也就是公開密鑰密碼體制。第二頁,共七十頁,編輯于2023年,星期五3.2保密系統(tǒng)的Shannon模型1.保密系統(tǒng)的Shannon模型圖3.1是保密系統(tǒng)的Shannon模型,n元數組xn=(x1,x2
,xn)是明文,n元數組yn=(y1,y2
,yn)是在公開信道上傳送的密文,也就說任何人都可得到這些密文,n元數組kn=(k1,k2
,kn)是通過安全信道傳送給接收者的密鑰,敵方密碼分析者無法獲得該密鑰。加密器的任務就是對明文m施以加密變換得到密文cc=Ek(m)解密器的任務就是對所接受到的密文實行解密變換獲得明文m’=Dk(c)=Dk(Ek(m
))由于加密變換、解密變換是依賴于密鑰k的一對可逆的數學變換,因此
m’=m從而完成保密通信。第三頁,共七十頁,編輯于2023年,星期五
密碼分析者
發(fā)送者加密器EK
解密器DK
接收者
密鑰源
圖3.1保密系統(tǒng)的Shannon模型第四頁,共七十頁,編輯于2023年,星期五例3.1一次一密密碼體制。設明文是一串二進制數據:m=(0110010011)2
,設k也是一串同樣長度的二進制數據:k=(0111001001)2。在A,B兩方通信前,A首先通過安全信道(比如信使)把密鑰送給B,現在A要把明文m通過公開信道送給B,A先對m施行加密變換c=Ek(m)=mk=(0110010011)2(0111001001)2
=(0001011010)2向量的模2加是指每個向量的分量進行模2加。B收到c后,用事先A傳送給它的密鑰k進行解密。
m’=Dk(c)=ck=(0001011010)2
(0111001001)2=(0110010011)2=m從而B獲得明文m。而任何獲得密文c的密碼分析者由于沒有密鑰k,因此也就無法獲得正確的明文。第五頁,共七十頁,編輯于2023年,星期五2.理想保密與完善保密從上面Shannon模型可以看出,保密的關鍵是密鑰。任何人只要獲得通信密鑰,就能正確地恢復明文。設明文xn=(x1,x2,,xn),密文為yn=(y1,y2,,yn),密鑰為k,如果對所有的n有I(xn;yn)=0,即對所有n,xn與yn統(tǒng)計獨立,從yn得不到任何關于xn的信息,這種密碼體制是完善保密的。前面介紹的一次一密的密碼體制由于每一次的密文與其他密鑰無關,以而任何時候得到y(tǒng)n與其他xn無關,所以是完善保密的。如果
0I(xn;yn)H(xn)即yn包含有xn的信息,這時可以推得H(kyn)0,即無論n有多大,已知密文yn
,k還是不確定的。沒有確定的密鑰就不能正確地解密,恢復明文。這種密碼體制稱為理想保密。
第六頁,共七十頁,編輯于2023年,星期五3.3古典加密技術雖然按照近代密碼學的觀點來看,許多傳統(tǒng)古典密碼很不安全,或者說很容易破譯。由于編制古典密碼的基本方法對于編制近代密碼仍然有效。本節(jié)將介紹幾種著名的古典密碼。幾乎所有的傳統(tǒng)加密用到兩種基本技巧:代換和置換。代換法是將明文字母替換成其他字母、數字和符號的方法。若把明文看作是二進制序列,則代換就是用密文位串來代替明文位串。下面分別介紹則兩種密碼。
第七頁,共七十頁,編輯于2023年,星期五1代換密碼11)
凱撒(Caesar)密碼這是最早的代換密碼。凱撒密碼是每一字母向前推移k位。例如k=5便有明文和密文對應關系如下:明文:ab cde fgh Ijk lmn o 密文:FG HIJ KLM NOP QRS T明文:pq rst uvw xyz密文:UV WXY ZAB CDE例如: 明文:dayafterday
密文:IFDFKYJWIFD不同的k可以得到不同的密文。如果讓每一個字母等價一個數字,如下所示:
第八頁,共七十頁,編輯于2023年,星期五abcdefghijklm12345678910111213nopqrstuvwxyz14151617181920212223242526則凱撒密碼變換實際上是
c≡(m+k)mod(26)其中m是明文對應的數據,c是與明文對應的密文數據,k是加密用的參數。也稱為密鑰。例如networksecurity對應于數據序列14520231518111953211892025k=3時得密文序列
17823261821142286242112232對應的密文為
QHWZRUNVHFXULWB第九頁,共七十頁,編輯于2023年,星期五2)單表代換密碼單表代換又稱為簡單代替密碼。只需使用一個密文字母表,并且用密文字母表中的一個字母來代替一個明文字母表中的一個字母。設A和B分別為含n個字母的明文字母表和明文字母表:
A={a0,a1,…,an} B={b0,b1,…,bn}定義一個由A到B的一一映射:f:A→B f(ai)=bi設明文M=(a0,a1,…,an-1),則C=(f(m0),f(m1),…,f(mn-1))??梢?,簡單代替密碼的密鑰就是映射函數f或密文字母表B。第十頁,共七十頁,編輯于2023年,星期五2置換密碼
把明文中的字母重新排列,字母本身不變,但其位置發(fā)生改變,這樣變換的密碼稱為置換密碼。最簡單的置換密碼是把明文中的字母順序倒過來,然后截成固定長度的字母組作為密文。例:明文:NETWORKSECURITY密文:YTIRUCESKROWTEN僅僅采用倒序的方法,其抗攻擊性的能力顯得很弱。另一種方法是將明文按某一順序排成一個矩陣,然后按另一順序選出矩陣中的字母以形成密文,最后分成固定長度的字母組作為密文。第十一頁,共七十頁,編輯于2023年,星期五例如:明文:CRYPTOGRAPHYANDNETWORKSECURITY矩陣:CRYPTOGRAPHYANDNETWORKSECURITY選出順序:按列選出密文:CGAWCRRNNOUYADRRPPNKITHESTOYTEY如果矩陣的行列數量或者選出列的順序發(fā)生變換,則密文將發(fā)生改變。如果將選出列的順序作為密鑰,則密文將隨著密鑰的改變而發(fā)生變化。置換密碼比較簡單,對于已知明文攻擊,很容易被攻破。但是,將置換技術同其他的技術結合起來,便能產生抗攻擊性能非常好的密碼算法。當前的許多密碼算法都采用了置換技術。第十二頁,共七十頁,編輯于2023年,星期五3.4序列密碼
密碼按加密方式不同可以分為序列密碼與分組密碼,序列密碼是逐個字加密的,而分組密碼是按字塊加密的。
1.
序列密碼的工作原理序列密碼的工作原理非常直觀。假設m=m0m1m2是一個待加密的明文序列(一般是二進制0,1序列),k=k0k1k2是一個與明文序列等長的二元(偽)隨機序列,稱為密鑰序列,收發(fā)兩端都事先知道密鑰序列的內容,于是在序列密碼中,用密鑰序列k對明文序列m進行加密的過程是將k和m對應的分量進行簡單的模2加,得到加密后的密文序列
c=c0c1c2即ci≡(ki+mi)(mod2)。在接收端,合法的接收者的解密過程就是將密文序列c和密鑰序列的對應分量進行簡單的模2加。于是原來的明文序列就恢復出來了,因為
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理論和序列密碼的工作原理可知,序列密碼保密的關鍵是如何高效地產生可靠的二元隨機序列作為密鑰序列,由于目前還沒有有效地產生二元隨機序列的實用方法,于是,一般都用偽隨機二元序列作為密鑰序列。所謂偽隨機序列就是貌似隨機序列的序列,或者說很像隨機序列的序列。線性移位寄存器就是能過產生一種偽隨機序列的邏輯電路,它的工作原理如圖3.4所示。圖3.4中,f(aj-n,aj-n+1,,aj-1)=c0aj-1
c1aj-1
cn-1aj-n
是線性移位寄存器的反饋函數,或稱反饋邏輯。下面的小方框代表寄存器,每個寄存器有兩個狀態(tài):0或1。N稱為線性移位寄存器的級數。當一個時間脈沖來臨時,最左邊一個寄存器的值輸出,其余依次往左移動一位,最右邊的寄存器則接收反饋函數計算得到的值。當不斷的有時間脈沖來臨時,最左邊輸出一串二元偽隨機序列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年,星期五當j=3時,取初值a0=0,a1=0,a2=1;當j=4時,一個時間脈沖到來,a0=0輸出,a1=0移到最左邊一個寄存器,a2=1移到第二寄存器,a3=f(a0,a1,a2)=a0
a2=1送到第三個寄存器;當j=5,6…,即不斷的有時間脈沖來臨時,最左邊就輸出一串偽隨機序列:001110100…。第十九頁,共七十頁,編輯于2023年,星期五
3.序列碼的設計雖然線性移位寄存器能夠快速產生偽隨機特性比較好的二元隨機序列,但在實用中它還不能直接用作序列密碼密鑰序列,這主要是因為它的高度可以預測。因此,必須對線性移位寄存器輸出序列進行適當的處理,這就是序列密碼的設計問題。1)
非線性組合序列密碼非線性組合序列密碼的工作原理如圖3.6所示。圖3.6中左邊的n個小方框代表n個線性反饋移位寄存器,分別輸出序列{a1i},…,{ani}。右邊大方框代表一個n元變量的非線性組合函數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
采樣函數Saiai+1ai+n-1
密鑰序列{ui}
非線性前饋函數f明文m
密文c
密鑰序列{bi}圖3.8中控序列密碼明文序列m
密文序列c
圖3.7前饋序列密碼
第二十二頁,共七十頁,編輯于2023年,星期五
1.分組密碼的工作原理分組密碼的工作原理不像序列密碼那用直觀,它首先將明文分成相同長度的比特塊,然后分別對每個比特塊加密產生一串密文塊。解密時,對每個密文塊進行解密得到相應的明文比特塊,將所有的明文塊合并起來即得到明文。如圖3.9所示。
1)數據加密標準數據加密標準,DES(DataEncryptionStandard),它是分組密碼的一個典型代表。1974年,美國國家標準局(NBS)向全社會公開征集一種用于政府非機密數據的加密算法。IBM公司提出了一種稱為LUCIFER的算法,在此基礎上,經過一段時間的修改與簡化,美國國家標準局于1977年正式頒布了這個算法,稱為數據加密算法DES,用作政府及商業(yè)部門的非機密數據加密標準。第二十三頁,共七十頁,編輯于2023年,星期五
密鑰k
明文m=m0m1m2
密文c=c0c1c2…Ek
密鑰k
密文c=c0c1c2…明文m=m0m1m2Dk
圖3.9分組密碼的工作原理第二十四頁,共七十頁,編輯于2023年,星期五(1)DES的結構圖DES用56位密鑰加密64位明文,輸出64位密文,它的加密過程如圖3.10所示。設輸入64比特明文,先對輸入的64比特明文進入初始置換IP(見表3.1),置換后明文58比特變?yōu)榈谝晃?,?0比特變?yōu)榈诙?,等等,將新得到?4比特左邊的32位記為L0,右邊的32比特記為R0
。經16圈處理后,在經逆初始置換IP-1(見表3.2)產生最后的64比特輸出密文。第二十五頁,共七十頁,編輯于2023年,星期五表3.1初始置換IP
表3.2逆初始置換IP-15850423426181024084816562464326052443628201243974715552363316254463830221463864614542262306456484032241683754513532161295749413325179136444125220602859514335271911335343115119592761534537292113534242105018582663554739312315733141949175725第二十六頁,共七十頁,編輯于2023年,星期五加密過程可用數學公式表示如下:
下面對加密過程的函數f作詳細地描述。首先將Ri-1的32比特膨脹為48比特的向量,膨脹方法見比特選擇表E(見表3.3),然后將這48比特向量與48比特向量Ki(子密鑰)進行模2加,得出一個48比特向量,將最后的48比特向量分成8部分,每組6比特分別輸出到8個S盒S1,S2,…,S8中。每個S盒是一個4行、16列的表。盒中的每一項都是4比特的數。S盒的6比特輸入確定了其對應的輸出在那一行、那一列。表3.5表明了8個S盒的結構。第二十七頁,共七十頁,編輯于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比特經置換P(見表3.4)后,形成函數f(Ri-1,Ki)的32比特輸出(見圖3.11)。
Ri-1
比特選擇E
ki
S1S2S3S4S5S6S7S8
置換P
f(Ri-1,Ki)
圖3.11函數f(Ri-1,Ki)的計算第三十一頁,共七十頁,編輯于2023年,星期五
表3.5S盒的結構
012345678910111213141501441312151183106125907S11015741421311061211953824114813621115129731050315128249175113141006301518146113497213120510S213134715281412011069115201471110413158126932153138101315421167120514901009146315511312711428S3113709346102851412111512136498153011121215101473110130698741514311521207131430691012851112415S4113811561503472121101492106901211713151314528433150610113894511127214第三十二頁,共七十頁,編輯于2023年,星期五
02124171011685315130149S511411212471315015103986242111101378159125630143118127114213615091045301211015926801334147511S611015427129561131401138291415528123704101131163432129515101114176081304112141508133129751061S711301174911014351221586214111312371410156805923611138141079501514231201328461511110931450127S8111513810374125611014922711419121420610131535832114741081315129035611第三十三頁,共七十頁,編輯于2023年,星期五(2)子密鑰的產生實際上,K是長度為64的比特串,其中56比特是密鑰,8比特是奇偶校驗位(為了檢錯),奇偶校驗位分布在與8、16、…64位置上。56位密鑰經過置換選擇1、循環(huán)左移、置換選擇2等變換,產生16個子密鑰,子密鑰產生過程見圖3.12。產生每個子密鑰所需的循環(huán)左移見表3.6
表3.6循環(huán)左移位數表圈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子密鑰產生的結構圖第三十五頁,共七十頁,編輯于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)關于DES的實際應用雖然DES的描述是相當長的,但它能以硬件或軟件的方式非常有效的實現。需完成的運算仍為比特異或。擴展函數E,S盒、置換IP和P以及K16—K1的計算都能在一個固定的時間內通過查表(以軟件或電路)來實現。DES的一個非常重要的應用是銀行交易。在銀行交易中使用了美國銀行協(xié)會開發(fā)的標準。DES用于加密個人身份識別號(PIN)和通過自動取款機(ATM)進行的記賬交易。票據交易所內部銀行支付系統(tǒng)(HIPS)用DES來鑒別每周的交易。第三十七頁,共七十頁,編輯于2023年,星期五2)DES的評價與改進(1)對DES的評價自從DES公布以來,它一直超越國界,成為國際商業(yè)保密通信和計算機通信的最常用的加密算法,二十多年以來,一直活躍在國際數據保密通信的舞臺上,扮演著十分重要的角色。
DES加密法的保密性到底如何,早在DES被正式公布為加密標準之前,就展開了熱烈的討論。由于目前無一個加密系統(tǒng)性能的統(tǒng)一標準和嚴格的理論,因此人們只能從一個加密系統(tǒng)抵抗現有解密手段的能力來評價他的好壞。自1975年以來,美國的許多機構、公司和學者,包括國家保密局(NSA)、NBS、IBM公司、BELL實驗室和一大批著名的密碼學專家都對DES進行了大量的研究和試驗,對DES進行了全面考察,認為他的保密性良好。80年代中期,人們看到DES算法迭代次數少,密鑰長度短,其代替函數Si中可能有不安全因素,因而曾有過不少批評。甚至有人還想取消他。
第三十八頁,共七十頁,編輯于2023年,星期五1984年,美國國家安全局決定研制新的數據加密標準CCEP,但從發(fā)展趨勢上來看,CCEP是按封閉原則管理的,應用范圍有限,不再具有技術上的開放性和使用上的靈活性,因此受到金融界的強烈反對。由于反對呼聲很高,美國政府不得不于1987年初廢除了1984年簽署的CCEP取代DES加密標準的命令。目前,已有DES的軟件、硬件產品,他們在各種加密算法產品中占有很大比重。因而最具代表性、影響力最大、應用最廣泛。進入90年代以來,以色列密碼學家Shamir等人提出了“差分分析法”,以后日本人提出“微分分析法”,1993和1994年的世界密碼學大會又提出了“線性分析法”破譯密碼,使DES受到了嚴重的威脅。1997年6月17日晚美國鹽城的MichaelSanders終于用一臺速度為90MHz的奔騰機解出了DES的56位密鑰,使DES算法受到歷史上第一次嚴重打擊,使它的安全性受到嚴重威脅。第三十九頁,共七十頁,編輯于2023年,星期五(2)DES算法的改進雖然DES算法存在一些潛在的弱點,但至今從未真正被攻克過。人們針對DES的不足對DES作了不少改進。例如增加密鑰長度、擴大數據塊或增多循環(huán)次數,經常變換密鑰等。首先,DES算法提出的幾種工作模式具有不同的保密性能,使用時可以根據實際需要予以采用。DES加密時,有ECB、CBC和CFB三種工作模式。其中,ECB(ElectronieCodeBook)是數據塊加密模式,每個數據塊之間的加密是獨立的。CBC(CipherBlockChaining)和CFB是數據流加密模式,且CBC模式采用帶反饋的加密,其數據塊之間的加密不再獨立,加密后的密文前部分用來參與報文后面部分的加密,其保密和抗分析性能明顯的優(yōu)于ECB模式,應用廣泛。其次,經常變換DES密鑰,可以增強DES密文的保密強度。改進后的DES算法,使用公開密鑰加密DES密鑰,如使用RSA公開密鑰加密方法作為加固的工具。第四十頁,共七十頁,編輯于2023年,星期五第三,對DES算法進行變換,例如,利用加密過程的隨機因數,對DES的8個S盒進行置換;對明文按64位分組,并采用分組反饋鏈接式,或密碼反饋模式,進行加密和解密;采用三重DES加密后解密技術等。三重DES加密是采用了把不同的DES密鑰對數據連續(xù)加密三次,等于使用兩個56位密鑰對64位明文進行加密。密鑰長度每增加一位,密鑰總數就會翻一番。能有效的防止對密鑰的窮盡搜索。其加密算法的具體步驟如下:(1)
用密鑰K1對64位明文進行DES加密。(2)
對(1)加密的結果,用密鑰K2進行DES解密。(3)
對(2)的結果是用密鑰K1,再進行DES加密。這個加密過程稱為EDE,即加密/解密/加密過程,其加密流程如圖3.13所示。
第四十一頁,共七十頁,編輯于2023年,星期五mDESDESDESccDES-1DES-1DES-1m
k1k2k1k1k2k1
圖3.13三重DES加密算法框圖圖3.14三重DES解密過程三重DES加密的運算量是普通DES的3倍,加密時間也是DES的3倍,當K1=K2時,其加密效果與單次DES相同,其攻擊的復雜度從O(Z56)增至O(Z112)。三重DES解密過程如圖3.14所示。第四十二頁,共七十頁,編輯于2023年,星期五2.IDEA數據加密DES數據加密標準的出現在近代密碼學的歷史上是一件大事,它即將走完自己發(fā)展歷程,面臨著更新與提高。近年來,分組密碼新的算法不斷涌現,IDEA是其中的佼佼者。IDEA是InternationDataEnorypionAlgorithm的縮寫,即國際數據加密算法,是由中國學者來學嘉博士與著名的密碼學家JamasMassey于1990年聯合提出的,后經修改于1992年完成。他的明文和密文都是64比特,但密鑰長為128比特。加密和解密也是相同的,只是密鑰各異。不論軟件或硬件實現都不難。加密和解密速度都非???。1)IDEA加密算法IDEA加密算法如圖3.15所示。64比特的數據分成4個子塊,每一字塊16比特,令這4個子塊為X1、X2、X3和X4作為迭代第一輪的輸入,全部共8輪迭代,每輪迭代都是4個子塊彼此間以16比特的子密鑰進行與或運算,modZ16作加法運算,mod(Z16+1)作乘法運算。任何一輪迭代第3和第4子塊互換,每一輪迭代運算步驟如下:第四十三頁,共七十頁,編輯于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個子密鑰塊作乘法運算。(2)
X2和第2個子密鑰塊作加法運算。(3)
X3和第3個子密鑰塊作加法運算。(4)X4和第4個子密鑰塊作乘法運算。
(5)
(1)和(3)的結果作與或運算。(6)
(2)和(4)的結果作與或運算。(7)
(5)的結果與第5子密鑰塊作乘法運算。(8)
(6)和(7)的結果作加法運算。(9)
(8)的結果與第6個字密鑰塊作乘法運算。(10)
(7)和(9)的結果作加法運算。(11)
(1)和(9)結果作與或運算。(12)
(3)和(9)的結果作與或運算。(13)
(2)和(10)的結果作與或運算。(14)
(4)和(10)的結果作與或運算。第四十五頁,共七十頁,編輯于2023年,星期五結果的輸出為(11),(13),(12),(14)。除最后一輪外,第2和第3塊交換。第8輪結束后,最后輸出的變換有:(1)
X1和第1子密鑰塊作乘法運算。(2)
X2和第2子密鑰塊作加法運算。(3)
X3和第3子密鑰塊作加法運算。(4)
X4和第4子密鑰塊作乘法運算。子密鑰塊的產生過程也很容易,子密鑰塊每輪6個,最后輸出變換4個,共52個。首先將128比特的密鑰分成8個子密鑰,每個子密鑰16比特,這8個子密鑰正好是第一輪的6個和第2輪的前兩個。將子密鑰左旋轉25比特,再將他們分成8個子密鑰,前4個是第2輪的子密鑰,后4個是第3輪的。將子密鑰再旋轉25比特,產生后8個子密鑰。以此類推。直到算法結束。第四十六頁,共七十頁,編輯于2023年,星期五2)IDEA解密算法解密密鑰和加密密鑰的對應關系如表3.9所示。這里Z-1表示Zmod(Z16+1)乘法的逆。即
Z⊙Z-1=1-Z表示Zmod(Z16)加法的逆,即
Z(-Z)=03)IDEA算法的保密強度IDEA的密鑰長是DES的兩倍,2128=340281038。而采用強行攻擊法對付IDEA將是對付用同樣方法DES的264,即1.81019。當然,有許多科研單位和軍事部門對IDEA進行攻擊,單獨沒有成功,看起來是安全的,是很有希望的一種密碼體制。
第四十七頁,共七十頁,編輯于2023年,星期五
表3.9IDEA加密與解密密鑰的對應關系
輪次加密子密鑰塊解密子密鑰塊
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.基于神經網絡混沌序列的對稱加密方法混沌神經網絡模型最早是根據生物神經元的混沌特性于上世紀90年代由K.Aihara,T.Takabe和M.Toyoda等人首次提出來的,它具有非常豐富和復雜的非線性動力學特性,特別是它的混沌動力學特性,它不僅能產生無法預料的偽隨機序列軌跡,而且是一個非常復雜難解的NP問題;與以寄存器為基礎的序列加密法相比,混沌神經網絡在序列周期、隨機統(tǒng)計性以及線性復雜度方面均有優(yōu)勢,因而這種混沌加密算法的安全性比以位移寄存器為基礎的序列加密算法要高。此外,由于神經網絡是一個高速并行運算的網絡,只要用集成電路來直接實現它的并行運算方式,其加密算法就可實現實時加密通信,可以滿足現代網絡實時通信的要求。第四十九頁,共七十頁,編輯于2023年,星期五1)
加密方案(1)混沌神經網絡密性K.Aihara,T.Takabe和M.Toyoda等人所提出的混沌神經網絡第i個混沌神經元的動力學模型描述如下:以上公式中yi(t+1)為離散時刻(t+1)是第i個混沌神經元的內部狀態(tài),xi(t+1)為第i個混沌神經元在離散時刻(t+1)的輸出,fi為第個i神經元的連續(xù)輸出函數,M為網絡中混沌神經元的個數,Wij為第j個混沌神經元與第i個混沌神經元之間的連接權值,hj為第j個混沌神經元的軸突變換傳輸函數,N為外部輸入的個數,Vij為第j個輸入與第i個混沌神經元之間的連接權值,Ij(t)為離散時刻(t)時第j個外部輸入的強度,gi為第個i混沌神經元的不應性函數,k為不應性衰減系數,α為自反饋系數,一般為一正數,θi為第個i混沌神經元的全或無激發(fā)閾值。
第五十頁,共七十頁,編輯于2023年,星期五該模型具有十分豐富而又復雜的非線性動力學特性,如在較大范圍內具有復雜的混沌行為,對初始條件敏感等。為了便于分析,將公式進行具體化的定義,不失一般性,對所有神經元,將函數h和g定義為h(x)=g(x)=x,函數f定義為符號函數,即:令θi=0,α=1則上面第一式變?yōu)椋?/p>
第五十一頁,共七十頁,編輯于2023年,星期五
(2)加密方案
基于混沌神經網絡的加密通信方案示意圖如圖3.16所示,在3.16(a)加密過程中要傳送的明文首先被轉換為二進制數字,然后分組,分組的大小與混沌神經元的數目一致,最后一組如果不夠,則用1來填充;每塊明文分兩路,一路將該明文分組進行逆序,作為取模運算的一個輸入;另一路作為混沌神經網絡的外部輸入,在t時刻的明文分組作為混沌神經網絡的(t+1)的外部輸入Ij(t+1)(t=1,2,…M);混沌神經網絡在輸入密鑰后產生與明文分組等比特的隨機序列,與逆序后的明文塊進行逐比特取模運算,形成明文流,對密文采用安全Hash函數算法進行安全認證,然后經數字調制后在不安全的信道上傳輸。而在圖(b)中,解密過程正好相反。第五十二頁,共七十頁,編輯于2023年,星期五明
轉
分組
逆文
換
與
序
逐
填充
比
密
SHA
特
文
算法
取
認證
密鑰
混沌神經網絡
模
(a)信息加密流程
逐
SHA密
比
拼接
算法
文
特
逆
與
轉
明
認證
取
序
刪除
換
文
混沌
模
密鑰
神經
網絡
(b)信息解密流程圖3.16基與混沌神經網絡的加密通信方案第五十三頁,共七十頁,編輯于2023年,星期五例如以M=8為例,明文字符A轉換成二進制為(00100000),逆序后變?yōu)椋?0000100),設此時神經網絡的輸出為(10101010)則對應逐比特取模后變?yōu)椋?0101110),作為密文輸出,經SHA算法認證才發(fā)出;在接受方,接受方得到密文(10101110)后,先進行SHA算法認證,如在傳輸中密文被篡改,則拒收此密文;若無,則進行下一步的處理,與此時的神經網絡的輸出(10101010)逐比特取模,變?yōu)椋?0000100),再逆序后變?yōu)椋?0100000),將二進制碼轉換成ASCII字符A,從而獲得明文。將明文分組逆序的目的主要是增加密文的混亂性,使得在密文中不可能直接顯示出相應的明文符號,讓密文與明文之間更接近是兩個獨立事件,以提高密文的熵,增強抗唯密文攻擊力。第五十四頁,共七十頁,編輯于2023年,星期五混沌神經網絡加密算法的密鑰由兩部分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 巧用力(教學設計)-2024-2025學年科學二年級上冊人教鄂教版
- 2025年貴州電子科技職業(yè)學院單招職業(yè)適應性測試題庫帶答案
- 立體幾何最值問題教學設計-2024-2025學年高二上學期數學人教A版(2019)選擇性必修第一冊
- 機器學習原理與應用電子教案 2.3Matplotlib繪圖
- 第二章綜合與實踐進位制的認識與探究教學設計 2024-2025學年人教版數學七年級上冊
- 2025年合肥濱湖職業(yè)技術學院單招職業(yè)技能測試題庫1套
- 全國滇人版初中信息技術八年級上冊第一單元第3課《網絡信息交流》教學設計
- 2025年洗染服務項目建議書
- 《8 尋找“食人花”》教學設計-2023-2024學年華中師大版信息技術三年級上冊
- 2024中國南水北調集團水網智慧科技有限公司秋季招聘12人筆試參考題庫附帶答案詳解
- 02J401 鋼梯【含03年修改】圖集
- 烹飪概論教學大綱
- Android移動應用開發(fā)基礎教程-教案
- 腦梗合并心衰護理查房
- JGT472-2015 鋼纖維混凝土
- 第九屆鵬程杯五年級數學競賽初試真題
- 電梯結構與原理-第2版-全套課件
- 《現代漢語》語音教學上課用課件
- 采購流程各部門關系圖
- 《遙感導論》全套課件
- 力士樂工程機械液壓培訓資料(共7篇)課件
評論
0/150
提交評論