網絡安全原理與應用(第三版)課件 第2章 密碼學基礎-1_第1頁
網絡安全原理與應用(第三版)課件 第2章 密碼學基礎-1_第2頁
網絡安全原理與應用(第三版)課件 第2章 密碼學基礎-1_第3頁
網絡安全原理與應用(第三版)課件 第2章 密碼學基礎-1_第4頁
網絡安全原理與應用(第三版)課件 第2章 密碼學基礎-1_第5頁
已閱讀5頁,還剩93頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

網絡安全原理與應用(第三版)2024/9/5網絡安全原理與應用1第三章密碼學基礎密碼學的基本概念和術語對稱和非對稱密碼的區(qū)別古典密碼學的基本方法掌握對稱加密DES算法、AES算法掌握非對稱算法RSA和D-H的基本原理掌握消息摘要算法的基本原理2024/9/5網絡安全原理與應用23.1密碼學概述第一階段:1949年之前,密碼學還不是科學,而是藝術。

第二階段:1949~1975年,密碼學成為科學。

第三階段:1976年以后,密碼學的新方向——公鑰密碼學。

2024/9/5網絡安全原理與應用33.1.1密碼學的發(fā)展史愷撒(Caesar)密碼

維吉尼亞密碼(Vigenerecypher)

“恩格瑪(Enigma)”密碼機

DES(數據加密標準)

公開密鑰密碼

量子密碼學

2024/9/5網絡安全原理與應用4密碼學起源大約在4000年以前,在古埃及的尼羅河畔,一位擅長書寫者在貴族的基碑上書寫銘文時有意用加以變形的象形文字而不是普通的象形文字來寫銘文,從而揭開了有文字記載的密碼史。這篇頗具神秘感的碑文,已具備了密碼的基本特征:把一種符號(明文)用另一種符號(密文)代替2024/9/5網絡安全原理與應用5密碼學和語言學結合2024/9/5網絡安全原理與應用(第三版)6蒙俄西韓藏第二次世界大戰(zhàn)中,印第安納瓦霍(NAWAHO)土著語言被美軍用作密碼。2024/9/5網絡安全原理與應用6最早使用密碼器公元前5世紀,古斯巴達人使用了一種叫做“天書”的器具,這是人類歷史上最早使用的密碼器?!疤鞎笔且桓貌菁垪l、皮條或羊皮紙條緊緊纏繞的木棍。密信自上而下寫在羊皮紙條上。然后把羊皮紙條解開送出。把羊皮紙條重新纏在一根直徑和原木棍相同的木棍上,這樣字就一圈圈跳出來。(大家可以一試)2024/9/5網絡安全原理與應用7替代式密碼公元前1世紀古羅馬凱撒大帝時代曾使用過一種“替代式密碼”,在這種密碼中,每個字母都由其后的第三個字母(按字母順序)所代替。這種替代式密碼直到第二次大戰(zhàn)時還被日本海軍使用。跳舞小人2024/9/5網絡安全原理與應用8摩爾斯電碼—替代式請你破譯:2024/9/5網絡安全原理與應用9信息隱藏—漏格板16世紀卡爾達諾發(fā)明“卡爾達諾漏格板”.漏格板是一張用硬質材料(如硬紙、羊皮、金屬等)做成的板,上面挖了一些長方形的孔,即漏格.2024/9/5網絡安全原理與應用10信息隱藏—藏頭詩

吳用智賺玉麒麟盧花灘上有扁舟,俊杰黃昏獨自游義到盡頭原是命,反躬逃難必無憂。2024/9/5網絡安全原理與應用112024/9/5網絡安全原理與應用12ENIGMA-復式替換密碼“謎”(ENIGMA)密碼德國人ArthurScheribius人發(fā)明德國人將其改裝為軍用型,使之更為復雜可靠1926年開始使用“ENIGMA”,陸軍則于1928年開始使用。(加密原理?)1933年,納粹最高統(tǒng)帥部通信部決定將“ENIGMA”作為德國國防軍新式閃擊部隊的通信裝置。

1940年,盟軍破譯ENIGMA2024/9/5網絡安全原理與應用132024/9/5網絡安全原理與應用14置亂密碼—幾何圖形密碼以一種形式寫下消息,以另一種形式讀取消息

IcameIsawIconquered2024/9/5網絡安全原理與應用153.1.1密碼學歷史1949~1975年:

計算機使得基于復雜計算的密碼成為可能1949年Shannon的“TheCommunicationTheoryofSecretSystems”1967年DavidKahn的《TheCodebreakers》1971-73年IBMWatson實驗室的HorstFeistel等的幾篇技術報告:ACryptographicDeviceforDataCommunication,1971AnExperimentalApplicationofCryptographytoaremotelyAccessedDataSystem,1972CryptographyandComputerPrivacy,1973

數據的安全基于密鑰而不是算法的保密2024/9/5網絡安全原理與應用163.1.1密碼學歷史1976年以后:

1976年Diffie&Hellman的“NewDirectionsinCryptography”提出了不對稱密鑰密碼1977年Rivest,Shamir&Adleman提出了RSA公鑰算法90年代逐步出現橢圓曲線等其它公鑰算法

公鑰密碼使得發(fā)送端和接收端無密鑰傳輸的保密通信成為可能??!2024/9/5網絡安全原理與應用17現代碼密碼學1976年以后,對稱密鑰密碼算法進一步發(fā)展

1977年DES正式成為標準80年代出現“過渡性”的“postDES”算法,如IDEA,RCx,CAST等90年代對稱密鑰密碼進一步成熟Rijndael,RC6,MARS,Twofish,Serpent等出現2001年Rijndael成為DES的替代者2024/9/5網絡安全原理與應用183.1.2密碼系統(tǒng)2024/9/5網絡安全原理與應用19密碼體制的形式化表示通常一個密碼體制可以表達為一個五元組(M,C,K,E,D),其中:(1)M是可能明文的有限集稱為明文空間(2)C是可能密文的有限集稱為密文空間(3)K是一切可能密鑰構成的有限集稱為密鑰空間(4)對于密鑰空間的任一密鑰有一個加密算法和相應的解密算法使得Ek:M

C和Dk:C

M分別為加密和解密函數,且滿足Dk(Ek(M))=M。2024/9/5網絡安全原理與應用203.1.3密碼的分類

1、按應用的技術或歷史發(fā)展階段劃分:手工、機械、電子機、計算機按歷史發(fā)展階段劃分:古典、現代2、按保密程度劃分:理論上、實際上保密、不保密3、按密鑰方式劃分:對稱,非對稱4、按明文處理方式分:塊密碼,流密碼5、按編制原理劃分:代換,置亂2024/9/5網絡安全原理與應用213.1.4近代加密技術

1、對稱加密算法對稱加密算法(synmetricalgorithm),也稱為傳統(tǒng)密碼算法,其加密密鑰與解密密鑰相同或很容易相互推算出來,因此也稱之為秘密密鑰算法或單鑰算法。對稱算法分為兩類,一類稱為序列密碼算法(streamcipher),另一種稱為分組密碼算法(blockcipher)主要優(yōu)點是運算速度快,硬件容易實現;其缺點是密鑰的分發(fā)與管理比較困難,特別是當通信的人數增加時,密鑰數目急劇膨脹。

2024/9/5網絡安全原理與應用221、對稱算法加密和解密由同一個密鑰來控制,也叫“單鑰算法”,如圖所示。2024/9/5網絡安全原理與應用232、非對稱加密體制非對稱加密算法也稱公開密鑰算法;公開密鑰體制把信息的加密密鑰和解密密鑰分離,通信的每一方都擁有一對密鑰:公鑰、私鑰;公開密鑰體制最大的優(yōu)點:不需要對密鑰通信進行保密,所需傳輸的只有公開密鑰;這種密鑰體制還可以用于數字簽名;公開密鑰體制的缺陷:加密和解密的運算時間比較長,在一定程度上限制了它的應用范圍。

2024/9/5網絡安全原理與應用242、非對稱算法用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據加密密鑰計算出來,就是非對稱算法(AsymmetricAlgorithm),如圖所示。

2024/9/5網絡安全原理與應用253.1.5密碼的破譯1、密鑰的窮盡搜索

2、密碼分析已知明文的破譯方法

選定明文的破譯方法

差別比較分析法

3、其它密碼破譯方法

2024/9/5網絡安全原理與應用263.2數論基礎

3.2.2模運算3.2.4歐幾里得算法3.2.6歐拉定理3.2.7中國剩余定理2024/9/5網絡安全原理與應用273.2.2模運算2024/9/5網絡安全原理與應用281.帶余除法:

a∈Z且a>0,可找出兩個唯一確定的整數q和r,

使a=qm+r,0≤r<m,q和r這兩個數分別稱為以m去除a所得到的商數和余數。(若r=0則m|a)a除以m的余數用amodm表示例:11mod7=4-11mod7=3292.整數同余:定義:如果(amodn)=(bmodn),則稱整數a和b模n同余,記為:

a≡b(modn),n稱為模數。例:73mod23=4;4mod23=4;73≡4mod23鐘表對于小時是模12或24的,對于分鐘和秒是模60的日歷對于星期是模7的,對于月份是模12的

同余在日常生活中的應用30

31(2)相對于某個固定模數m的同余關系,是整數間的一種等價關系。具有等價關系的三點基本性質:自反性:對任意整數a有:a≡a(modm)對稱性:如果a≡b(modm),則b≡a(modm)傳遞性:如果a≡b(modm),b≡c(modm),

則a≡c(modm)(3)模m運算將所有整數映射到集合{0,1,…,(m-1)},稱為剩余類集合Zm。32(1)[a(modm)±b(modm)]modm=(a±b)(modm)(2)[a(modm)×b(modm)]modm=(a×b)(modm)(3)[(a×b)modm+(a×c)modm]=[a×(b+c)]modm

例1.通過同余式演算證明560-1是56的倍數解:注意53=125≡13(mod56)

于是有56=(53)2≡(13)2mod56≡169mod56≡1(mod56)

對同余式的兩邊同時升到10次冪,560≡1mod56

即有56∣560-1。模運算的交換律、結合律和分配律33例2.通過同余式演算證明223-1是47的倍數。解:注意到26=64≡17(mod47),于是223=(26)3·25=(26·26)26·25

≡289*(17)*(32)mod47≡7*17*32(mod47)≡25*32(mod47)≡1(mod47)于是有47∣223-134(加法消去律)如果(a+b)≡(a+c)modm,

則b≡c(modm)(乘法消去律)對于(a×b)≡(a×c)modm

若gcd(a,m)=1,

則b≡c(modm)35例3:附加條件不滿足的情況

6×3=18≡2mod86×7=42≡2mod8

但3與7模8不同余,因為6和8不互素。例4:附加條件滿足的情況

5×3=15≡7mod85×11=55≡7mod83≡11mod83和11模8同余,因為5和8互素。36原因:模m的乘法運算返回的結果是0到m-1之間的數,如果乘數a和模數m有除1以外的共同因子時將不會產生完整的余數集合。Z801234567乘以606121824303642模8后的余數06420642Z801234567乘以505101520253035模8后的余數05274163373.2.4歐幾里得(Euclid)算法若a,b,c∈Z,如果c∣a,c∣b,稱c是a和b的公約數。正整數d稱為a和b的最大公約數,如果它滿足d是a和b的公約數。對a和b的任何一個公約數c有c∣d。記為:gcd(a,b)=d注:[1]等價的定義形式是:gcd(a,b)=max{k∣k∣a且k∣b}[2]若gcd(a,b)=1,稱a與b是互素的。例:8的因子1,2,4,8;15的因子1,3,5,15gcd(8,15)=11.最大公約數與互為素數38歐幾里得算法通過一個簡單的過程確定兩個正整數的最大公約數。

定理:對任何非負整數a和非負整數b:gcd(a,b)=gcd(b,amodb)(a≥b)例:gcd(18,12)=gcd(12,18mod12)2.歐幾里得算法(輾轉相除法)392.歐幾里得算法假設整數a>b>0,僅考慮正整數,因gcd(a,b)=gcd(|a|,|b|)EUCLID(a,b)Xa;Yb如果Y=0返回X=gcd(a,b)R=XmodYXYYR回到2)40例1.求gcd(1970,1066)解: 1970=1×1066+904 gcd(1066,904) 1066=1×904+162 gcd(904,162) 904=5×162+94 gcd(162,94) 162=1×94+68 gcd(94,68) 94=1×68+26 gcd(68,26) 68=2×26+16 gcd(26,16) 26=1×16+10 gcd(16,10) 16=1×10+6 gcd(10,6) 10=1×6+4 gcd(6,4) 6=1×4+2 gcd(4,2) 4=2×2+0 gcd(2,0)41歐幾里得算法可以求兩個正整數的最大公約數。擴展的歐幾里得算法不僅能確定兩個正整數的最大公約數,并且當兩個正整數互素時,還能求出其中一個數關于另一個數的乘法逆元。3.擴展歐幾里得算法如果gcd(a,b)=1,設b<a,則b在模a下存在乘法逆元b-1.

即存在b-1(b-1<a),使得b×b-1≡1moda。乘法逆元:42定理:

a,b∈Z且a,b>0,存在u,v∈Z,使得下式成立gcd(a,b)=ua+v

b。3.擴展歐幾里得算法推論:當gcd(a,b)=1時,

v

恰好是b在模a下的乘法逆元。433.擴展歐幾里得算法gcd(a,b)=u

a+vb。

44ExtendedEUCLID(a,b):1)(X1,X2,X3)←(1,0,a);(Y1,Y2,Y3)←(0,1,b)2)如果Y3=0返回X3=gcd(a,b);無逆元3)如果Y3=1返回Y3=gcd(a,b);Y2=b-1moda4)Q=|X3/Y3|------計算商5)(T1,T2,T3)←(X1-Q·Y1,X2-Q·Y2,X3-Q·Y3)6)(X1,X2,X3)←(Y1,Y2,Y3)7)(Y1,Y2,Y3)←(T1,T2,T3)8)回到2)3.擴展歐幾里得算法45例:求gcd(20,117)和20-1mod117

QX1X2X3Y1(T1)Y2(T2)Y3(T3)-10117(a)0120(b)501201-51711-517-1635-1636-35216-352-7411=gcdba20-1mod117=41即:20×41≡1

mod117可見gcd(20,117)=1,463.2.6歐拉(Euler)定理1.歐拉函數

歐拉函數

φ(m):當m>1時,φ(m)表示比m小且與m互素的正整數的個數。

例如:比24小而與24互素的正整數為:1、5、7、11、13、17、19、23。故472.歐拉函數的性質1)當m是素數時,有φ(m)=m-1因為與m互素的數有:1,2,3,…,m-1。2)當m=pq,且p和q是互異的素數時,則有φ(m)=φ(p)·φ(q)=(p-1)(q-1)例如:這12個數是:{1,2,4,5,8,10,11,13,16,17,19,20}482.歐拉函數的性質3)m=pe,且p是素數,e是正整數,則

φ(m)=pe-pe-1=pe-1(p-1)因為1~pe之間有pe/p個p的倍數根據算術基本定理式a=P1α1P2α2…Ptαt有以下定理:492.歐拉函數的性質又可以表示成:例:m=24=23×31φ(m)=[23-1(2-1)]×[31-1(3-1)]=850歐拉定理:對于任何互素的兩個整數a和n,有

aφ(n)≡1(modn)注:[1]n=p時,p為素數,有ap-1≡1(modp)[2]易見aφ(n)+1≡a(modn)[3]若n=pq,p與q為相異素數,取0<m<n,若gcd(m,n)=1,有mφ(n)+1≡m(modn)

也即m(p-1)(q-1)+1≡m(modn)費馬小定理歐拉函數性質13.歐拉定理歐拉函數性質251[4]對于[3]中,若gcd(m,n)=p或q,同樣有mφ(n)+1≡m(modn)[5]由(mφ(n))k≡1k(modn)知:

mkφ(n)≡1(modn),進一步有:

mkφ(n)+1≡m(modn)mk(p-1)(q-1)+1≡m(modn)3.歐拉定理52分析:利用費馬小定理,可由610≡1(mod11),從而迅速將6592化為與之同余的小的正整數。解:因11為素數,且gcd(6,11)=1,由費馬小定理得

610≡1(mod11)。所以6592

≡(610)59×62≡159×36≡3(mod11)。例.求6592被11除的余數。53(孫子算經)今有物不知其數。三三數之余二;五五數之余三;七七數之余二。問物幾何?答曰:二十三。23≡2*70+3*21+2*15(mod105)(口訣:三人同行七十稀,五樹梅花廿一枝,七子團圓月正半,除百零五便得知。)問,70,21,15如何得到的?原問題為:求解同余方程組3.2.7中國剩余定理54解題口訣提示我們先解下面三個特殊的同余方程組(1) (2)(3) 的特殊解

以方程組(1)為例,相當于解一個這樣的同余方程35y≡1(mod3),假設x=35y,有:35y≡1(mod3)相當于3|(35y-1)解出y=2(mod3)x35*2(mod(3×35))70(mod105)55

類似地得到(2)和(3)方程的解21、15。

于是有:得若x0為上述同余方程組的解,則x0

=x0+105*k(k∈z)也為上述同余方程組的解。

大衍求一術56中國剩余定理中國剩余定理:設自然數m1,m2,…mr兩兩互素,并記M=m1m2…mr,b1,b2…br表示r個整數,則同余方程組

(A)在模M同余的意義下有唯一解。57

例:求解同余方程組

x≡1mod2x≡2mod3x≡3mod5解:M=2×3×5=30M1=15,M2=10,M3=615y1≡1mod2,y1=110y2≡1mod3,y2=16y3≡1mod5,y3=1所以,x=1×15×1+2×10×1+3×6×1=53≡23mod3058練習:求解同余方程組x≡1mod2x≡2mod3x≡3mod5x≡5mod7x≡0mod2x≡0mod3x≡1mod5x≡6mod73.22024/9/5網絡安全原理與應用592024/9/5網絡安全原理與應用603.3古典密碼學3.2.1替換密碼替換密碼的特點是:依據一定的規(guī)則,明文字母被不同的密文字母所代替。

1、移位密碼移位密碼基于數論中的模運算。因為英文有26個字母,故可將移位密碼定義如下:令P={A,B,C,……Z},C={A,B,C,……Z},K={0,1,2,……25},加密變換:Ek(x)=(x+k)mod26解密變換:Dk(y)=(y-k)mod262024/9/5網絡安全原理與應用612、單表代換密碼單表代換密碼的基本思想是:列出明文字母與密文字母的一一對應關系,

明文abcdefghijklm密文WJANDYUQIBCEF明文nopqrstuvwxyz密文GHKLMOPRSTVXZ例如明文為:networksecurity,則相應的密文為??

GDPTHMCODARMIPX2024/9/5網絡安全原理與應用623、多表替換密碼Vigenere密碼是典型的多表替換密碼,算法如下:設密鑰K=k1k2……kn,明文M=m1m2……mn,加密變換:ci≡(mi+ki)mod26,i=1,2,……,n解密變換:mi≡(ci-ki)mod26,i=1,2,……,n例如:明文X=cipherblock,密鑰為:hit則把明文劃分成長度為n=3的序列:

cipherblock每個序列中的字母分別與密鑰序列中相應字母進行模26運算,得密文:JQIOMKITHJS2024/9/5網絡安全原理與應用633.3.2置亂密碼置亂密碼的特點是保持明文的所有字母不變,只是利用置換打亂明文字母出現的位置。置亂密碼體制定義如下:令m為一正整數,P=C={A,B,C,……Z},對任意的置換π(密鑰),定義:加密變換:Eπ(x1,x2,……,xm)=(xπ(1),xπ(2)……,xπ(m)),

解密變換:Dπ(y1,y2,……,ym)=(xπ-1(1),xπ-1

(2)……,xπ-1

(m)),

置亂密碼也不能掩蓋字母的統(tǒng)計規(guī)律,因而不能抵御基于統(tǒng)計的密碼分析方法的攻擊。2024/9/5網絡安全原理與應用64例:2024/9/5網絡安全原理與應用652024/9/5網絡安全原理與應用663.4對稱密碼3.4.1分組密碼概述2024/9/5網絡安全原理與應用673.4.2Feistel網絡1、擴散和混亂擴散和混亂是由Shannon提出的設計密碼系統(tǒng)的兩個基本方法,目的是抵抗攻擊者對密碼的統(tǒng)計分析。擴散就是指將明文的統(tǒng)計特性散布到密文中去

混亂就是使密文和密鑰之間的統(tǒng)計關系變得盡可能復雜

2024/9/5網絡安全原理與應用68Feistel網絡結構2024/9/5網絡安全原理與應用69

2、Feistel網絡結構及特點(1)將明文分組分為左右兩個部分:L0,R0,數據的這兩部分通過n輪(round)處理后,再結合起來生成密文分組;(2)第i輪以其上一輪產生的Li-1和Ri-1和K產生的子密鑰Ki作為輸入。一般子密鑰Ki與K不同,相互之間也不同,它是用子密鑰生成算法從密鑰生成的;(3)每一輪的處理的結構都相同;(4)處理函數F對每輪處理都有相同的通用結構,但由循環(huán)子密鑰Ki來區(qū)分;(5)在置換之后,數據兩部分互換;(6)解密過程與加密過程基本相同。規(guī)則如下:用密文作為算法的輸入,但以相反順序使用子密鑰Ki;(7)加密和解密不需要用兩種不同的方法。2024/9/5網絡安全原理與應用703.4.3DES算法

1、算法描述首先把明文分成若干個64-bit的分組,算法以一個分組作為輸入;通過一個初始置換(IP);將明文分組分成左半部分(L0)和右半部分(R0),各為32-bit;然后進行16輪完全相同的運算,這些運算我們稱為函數f,在運算過程中數據與密鑰相結合;16輪運算后,左、右兩部分合在一起,經過一個末轉換(初始轉換的逆置換IP-1),輸出一個64-bit的密文分組。2024/9/5網絡安全原理與應用712024/9/5網絡安全原理與應用72初始置亂(InitialPermutation)x0=IP(m)=L0R0

InitialPermutation585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572024/9/5網絡安全原理與應用73DES的一輪操作ExpansionPermutation48P-BoxPermutationS-BoxSubstitution32ShiftShift48Compression

PermutationFeistelNetwork563232Keyi-1Ri-1Li-1KeyiRiLi3232562024/9/5網絡安全原理與應用74f函數Li=Ri-1

Ri=Li-1

f(Ri-1

,Ki

).將32位輸入與48位子密鑰結合產生32位輸:將32bits輸入擴展為48bits將48bits子密鑰與擴展后的48bit輸入異或上一步輸出的48bits進入S盒,產生32bit輸出;對輸出的32bits進得置亂2024/9/5網絡安全原理與應用75

擴展置亂E32123454567898910111213121314151617161718192021202122232425242526272829282930313212024/9/5網絡安全原理與應用76將48-bit輸入轉為32-bit的輸出共有8個不同的S-box,每個S-box是4*16的表,每個元素是0~15的一個值(4-bit)48-bit組被分成8個6-bit組,每一個6-bit組作為一個S盒的輸入,輸出為一個4-bit組。6-bit數的首、末兩位數決定輸出項所在的行;中間的四位決定輸出項所在的列。例如:假設第6個S-盒的輸入為110101,則輸出為第3行第10列的項(行或列的記數從0開始),即輸出為4-bit組0001。

S-盒選擇2024/9/5網絡安全原理與應用77S-Box48bits==>32bits.(8*6==>8*4)I1I6選擇行2bitsrowSii=1,…8.I1I2I3I4I5I6O1O2O3O44bitscolumn2024/9/5網絡安全原理與應用78SBoxesUsebits1&6toselecttherowBits2-5toselectthesubstitutionExamples:100101willreturn1000(11X0010)2024/9/5網絡安全原理與應用79P-box置亂f(Ri-1,Ki)=P(S(E(Ri-1)

Ki))Pfixedpermutation1672021291228171152326518311028241432273919133062211425Result:bitstringoflength32!!2024/9/5網絡安全原理與應用80子密鑰的生成密鑰通常表示為64-bit,每個第8位用作奇偶校驗,實際的密鑰長度為56-bit。在DES的每一輪運算中,從56-bit密鑰產生出不同的48-bit的子密鑰(K1,K2……K16)。首先,由64-bit密鑰經過(PC-1)選出56-bit并分成兩部分,每部分28位;每部分分別循環(huán)左移1位或2位;將生成的56-bit組經過PC-2,生成一個48-bit的子密鑰Ki。

2024/9/5網絡安全原理與應用81從第1輪到第16輪,相應左移位數分別為:1、1、2、2、2、2、2、2、1、2、2、2、2、2、2、1)子密鑰的生成2024/9/5網絡安全原理與應用82PC-1(K)=C0D05749413325179158504234261825951433527191136052443663554739312315762544638302266153453729211352820124Ki:=PC-2(CiDi)1417112415328156211023191242681672720132

415231374755304051453348444939563453464250362932子密鑰的生成2024/9/5網絡安全原理與應用83逆初始置亂最后一步的置亂是初始置亂的逆操作c

=IP-1(R16L16)408481656246432397471555236331386461454226230375451353216129364441252206028353431151195927342421050185826331419491757252024/9/5網絡安全原理與應用84DES解密DES解密和加密的操作是完全一樣的;解密按照相反的方向使用密鑰,第一輪用k16,第二輪用k15,…..為什么這樣就可以解密呢?2024/9/5網絡安全原理與應用85DES解密過程解密的第一輪輸入為:R16L16

;輸出為:

[L16][R16

f(L16,K16)];(1)

從加密過程,有:L16=R15;R16=L15

f(R15,K16);(2)將(2)代入(1)有:

[L16]=R15

[R16

f(L16,K16)]=L15

f(R15,K16)

f(L16,K16) =L15

f(L16,K16)

f(L16,K16) =L15所以解密第一輪的輸出為[R15][L15],作為第二輪的輸入,可得到[R14][L14],完成十六輪后就會回到[R0][L0]2024/9/5網絡安全原理與應用86對DES的攻擊1977,Diffie&HellmansuggestedaVLSIchipthatcouldtest106keys/sec.Amachinewith106chipscouldtesttheentirekeyspacein10hours.Cost:$20,000,000.56-bitkeyshave256=7.2x1016values1990,differentialcryptanalysis,EliBiham,AdiShamir(Israel).1993,linearcryptanalysis,MitsuruMasui(Japan).2024/9/5網絡安全原理與應用87DES變體雙重DES:使用兩個密鑰:K1andK2.加密:EK1(EK2(P))雙重DES是否可以達到預期的強度?三重DES使用兩個或三個密鑰加密:EK1(EK2(EK3(P))))EK1(DK2(EK1(P))))2024/9/5網絡安全原理與應用882DESC=2DESk1,k2(m)=Ek1(Ek2(m))??Meet-in-the-middleattack!中間相遇攻擊有效的密鑰長度只有57bits!EmCDX1X2X256…m1m2m256…Tryallpossiblekeys=?Forkeylengthn,

totalworkis“only”

2n

溫馨提示

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

評論

0/150

提交評論