第4章現(xiàn)代對稱分組密碼課件_第1頁
第4章現(xiàn)代對稱分組密碼課件_第2頁
第4章現(xiàn)代對稱分組密碼課件_第3頁
第4章現(xiàn)代對稱分組密碼課件_第4頁
第4章現(xiàn)代對稱分組密碼課件_第5頁
已閱讀5頁,還剩271頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

現(xiàn)代對稱分組密碼forest@現(xiàn)代對稱分組密碼1回顧上一講的內(nèi)容古典密碼代替密碼單字母密碼多字母密碼置換密碼對稱密碼的兩個基本運算代替和置換(Substitution&permutation)對稱密碼分析的兩個基本方法系統(tǒng)分析法(統(tǒng)計分析法)、窮舉法多輪加密數(shù)據(jù)安全基于算法的保密回顧上一講的內(nèi)容古典密碼2內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼3乘積密碼(ProductCiphers)因為語言的特征,用代替和置換規(guī)則構(gòu)造的密碼是不安全的因此,可以考慮連續(xù)使用兩個或兩個以上的基本密碼的方式來增強密碼強度:兩次代替可以構(gòu)造一個更難于分析的代替兩次置換可以構(gòu)造一個更難于分析的置換代替之后在進行一次置換,可以構(gòu)造一個強度更高的新密碼這是古典密碼通往現(xiàn)代密碼的橋梁乘積密碼(ProductCiphers)因為語言的特征,用4乘積密碼(ProductCiphers)乘積密碼就是以某種方式連續(xù)執(zhí)行兩個或多個密碼以使得到的最后結(jié)果從密碼編碼的角度比其任何一個組成密碼都強.兩個加密按它們加密的順序連接進行合成時,要求第一個方法的密文空間與第二個方法的明文空間一致。挫敗基于統(tǒng)計分析的密碼破譯乘積密碼(ProductCiphers)乘積密碼就是以某種5加密合成兩類方法的合成比單個方法更具有抗非法解密的能力?這不一定都對,第二個方法可以部分或全部抵消第一個方法的作用。加密合成兩類方法的合成比單個方法更具有抗非法解密的能力?6第4章現(xiàn)代對稱分組密碼課件7如果合成的方法不滿足交換性,而且其中之一與另一個還獨立,則這一合成是有效的。比如換位,執(zhí)行一次“擴散”,多字母代替,執(zhí)行一次“混亂”,不是一個群,因此可以被重復(fù)而且其組合復(fù)雜度進一步增加。等于是擴大了密鑰空間。如果合成的方法不滿足交換性,而且其中之一與另一個還獨立,則這8轉(zhuǎn)子機(RotorMachines)在現(xiàn)代密碼之前,轉(zhuǎn)子機是最普遍的乘積密碼在第二次世界大戰(zhàn)中得到廣泛應(yīng)用 –GermanEnigma,AlliedHagelin,JapanesePurple實現(xiàn)了一個非常復(fù)雜的可變的代替密碼使用一系列的轉(zhuǎn)子,每一個狀態(tài)給定一種代替表,每加密一個字母,轉(zhuǎn)子轉(zhuǎn)一格,代替表就變一個3個轉(zhuǎn)子可以產(chǎn)生263=17576代替表轉(zhuǎn)子機(RotorMachines)在現(xiàn)代密碼之前,轉(zhuǎn)子機9轉(zhuǎn)子機Rotormachine轉(zhuǎn)子機Rotormachine10置換密碼換位密碼把明文按行寫入,按列讀出密鑰包含3方面信息:行寬,列高,讀出順序key: 4312567plaintext:attackp ostpone duntilt woamxyzciphertext:TTNAAPTMTSUOAODWCOIXPETZ完全保留字符的統(tǒng)計信息使用多輪加密可提高安全性置換密碼換位密碼把明文按行寫入,按列讀出11多次置多次置換,減少結(jié)構(gòu)性排列,不易于重構(gòu)。多次置多次置換,減少結(jié)構(gòu)性排列,不易于重構(gòu)。12置換密碼分析置換密碼分析13內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼14DES的產(chǎn)生背景美國國家標準局(NBS)1973年公開征求計算機加密算法標準,要求如下:該算法必須提供較高的安全性;該算法必須完全確定并且易于理解;該算法的安全性不應(yīng)依賴于算法本身,而是應(yīng)該依賴于密鑰;該算法必須對所有的用戶有效;該算法必須適用于各種應(yīng)用;該算法必須能夠通過價格合理的電子器件得以實現(xiàn);該算法必須能夠有效使用;該算法必須能夠得以驗證;該算法必須能夠得以出口。DES的產(chǎn)生背景美國國家標準局(NBS)1973年公開征15數(shù)據(jù)加密標準(DES)HISTORY1974年8月27日,NBS開始第二次征集IBM提交了算法LucifercipherbyteamledbyFeistelused64-bitdatablockswith128-bitkey1977年正式頒布為數(shù)據(jù)加密標準(DES-DataEncryptionStandard)。1979年,美國銀行協(xié)會批準使用DES。1980年,DES成為美國標準化協(xié)會(ANSI)標準。1984年,ISO開始在DES基礎(chǔ)上制定數(shù)據(jù)加密的國際標準,稱之為DEA-1。美國國家安全局NSA每五年對該算法進行評估,1994年,決定1998年12月之后不再使用DES?,F(xiàn)已由采用Rijndael算法的高級加密標準AES取代。數(shù)據(jù)加密標準(DES)HISTORY1974年8月27日,16內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼17分組密碼與流密碼流密碼加密過程是將信息流分為基本的信息單位,然后與相應(yīng)的密鑰流作運算從而掩蓋明文信息。分組密碼與之不同的是將明文編碼表示后的數(shù)字序列,劃分成等長的組,在密鑰的作用下變換成等長的輸出序列。解密時,將加密后的分組與相同的密鑰相互作用而得到明文信息。分組密碼與流密碼流密碼加密過程是將信息流分為基本的信息單位,18分組密碼的特點分組密碼與流密碼的不同之處在于,分組密碼輸出的每一位數(shù)字不是只與相應(yīng)時刻輸入的明文數(shù)字有關(guān),而是還與一組長為m的明文數(shù)字有關(guān)。在密鑰相同下,分組密碼對長為m的輸入明文所實施的變換是等同的,所以只需研究對任一組明文數(shù)字的變換規(guī)則。分組密碼易于標準化和易于實現(xiàn);不善于隱藏明文的數(shù)據(jù)模式,可以離線操作,對于重放、插入、刪除等攻擊方式的抵御能力不強。(時間無關(guān))分組密碼的特點分組密碼與流密碼的不同之處在于,分組密碼輸出19分組密碼的長度明文為分組長度為m的序列,密文為分組長度為n的序列:n>m,稱其為有數(shù)據(jù)擴展的分組密碼;n<m,稱其為有數(shù)據(jù)壓縮的分組密碼;n=m,稱其為無數(shù)據(jù)擴展與壓縮的分組密碼。我們一般所說的分組密碼為無數(shù)據(jù)擴展與壓縮的分組密碼。分組密碼的長度明文為分組長度為m的序列,密文為分組長度為n的20分組密碼的一般設(shè)計原理-i分組密碼是將明文信息編碼表示后的數(shù)字序列劃分成長為m的組 ,各組(長為m的矢量)分別在密鑰控制下變換成等長的輸出數(shù)字序列(長度為n的矢量),其加密函數(shù)為,是n維矢量空間,為密鑰空間。分組密碼的一般設(shè)計原理-i分組密碼是將明文信息編碼表示后的數(shù)21分組密碼與簡單代替密碼名文分組同密文分組一一映射;分組密碼算法可以理解為明文分組到密文分組的代替;分組的長度n決定了代替方式的數(shù)量n=2時,有12總代替方式:(2n)!分組密碼的密鑰:表示采用哪種代替方式明文分組密文分組變換規(guī)則分組密碼與簡單代替密碼名文分組同密文分組一一映射;明文分組密22分組密碼的一般設(shè)計原理-iiN=4時,共有16!=(24)!個映射方法密鑰長度:表達16!需要45位分組必須足夠長以抵抗窮舉攻擊分組密碼的一般設(shè)計原理-iiN=4時,共有16!=(24)!23分組密碼的一般設(shè)計原理-iii一般地,對于n位的一般代替分組密碼,密鑰的個數(shù)為(2n)!(明文->密文的映射方法),為表示任一特定代替所需的二元數(shù)字位數(shù)為:lb(2n!)≈(n-1.44)2n=O(n2n)(bit)即密鑰長度達n2n位。n=4,4×24=64n=64,64×264=270

≈1021位分組長度n要足夠大,防止明文窮舉攻擊。分組密碼的一般設(shè)計原理-iii一般地,對于n位的一般代替分組24分組密碼的一般設(shè)計原理-ivDES的密鑰長度僅為56位,AES的密鑰長度為128/196/256分組密碼的設(shè)計問題在于找到一種算法,能在密鑰的控制之下,從一個足夠大而且足夠好的代替子集中,簡單而迅速地選取出一個代替。分組密碼的一般設(shè)計原理-ivDES的密鑰長度僅為56位,AE25分組密碼的一般設(shè)計原理-v分組長度足夠大密鑰量足夠大,能抵抗密鑰窮舉攻擊,但又不能過長,以利于密鑰管理由密鑰確定代替的算法要足夠復(fù)雜,能抵抗各種已知攻擊分組密碼的一般設(shè)計原理-v分組長度足夠大26分組密碼設(shè)計原則Shannon指出:理想的密碼中,密文的統(tǒng)計特性獨立于密鑰。1949年Shannon提出了保證實際密碼安全的兩個基本原則:混亂(Confusion)和擴散(Diffusion)原則?;靵y原則:為了避免密碼分析者利用明文和密文之間的依賴關(guān)系進行破譯,密碼的設(shè)計應(yīng)保證這種依賴關(guān)系足夠復(fù)雜。需要非線性代換算法。擴散原則:為避免密碼分析者對密鑰逐段破譯,密碼的設(shè)計應(yīng)保證密鑰的每位數(shù)字能夠影響密文中的多位數(shù)字。同時,為了避免密碼分析者利用明文的統(tǒng)計特性,密碼的設(shè)計應(yīng)該保證明文的每位數(shù)字能夠影響密文中的多位數(shù)字,從而隱藏明文的統(tǒng)計特性。分組密碼設(shè)計原則Shannon指出:理想的密碼中,密文的統(tǒng)計27ShannonandSubstitution-

PermutationCiphers1949Shannon提出了代替置換網(wǎng)絡(luò)的思想substitution-permutation(S-P)networks–modernsubstitution-transpositionproductcipher這是構(gòu)成現(xiàn)代分組密碼的基礎(chǔ)S-P網(wǎng)絡(luò)基于密碼學的兩個基本操作:–substitution(S-box)–permutation(P-box)提供了消息的擴散與混亂ShannonandSubstitution-

Perm28實現(xiàn)方法的設(shè)計原則軟件實現(xiàn)的要求:使用子模塊:密碼運算在子模塊上進行,要求子塊的長度能自然地適應(yīng)軟件編程,如8、16、32比特等。使用簡單的運算。在子塊上所進行的密碼運算盡量采用易于軟件實現(xiàn)的運算。最好是用標準處理器所具有的一些基本指令,如加法、乘法、移位等。硬件實現(xiàn)的要求:能夠采用同樣的器件來實現(xiàn)加密和解密,以節(jié)省費用和體積。盡量采用標準的組件結(jié)構(gòu),以便能適應(yīng)于在超大規(guī)模集成電路中實現(xiàn)。實現(xiàn)方法的設(shè)計原則軟件實現(xiàn)的要求:29內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼30簡化的DESSimplifiedDES方案,簡稱S-DES方案。分組長度8位,密鑰長度10位加密算法涉及五個函數(shù):(1)初始置換IP(initialpermutation)(2)復(fù)合函數(shù)fk1,它是由密鑰K確定的,具有置換和代替的運算。(3)轉(zhuǎn)換函數(shù)SW(4)復(fù)合函數(shù)fk2(5)初始置換IP的逆置換IP-1簡化的DESSimplifiedDES方案,簡稱S-DES31加密算法的數(shù)學表示IP-1?fk2?SW?fk1?IP 也可寫為 密文=IP-1fk2(SW(fk1(IP(明文))))) 其中K1=P8(移位(P10(密鑰K))) K2=P8(移位(移位(P10(密鑰K))))解密算法的數(shù)學表示: 明文=IP-1(fk1(SW(fk2(IP(密文)))))加密算法的數(shù)學表示IP-1?fk2?SW?fk1?IP32第4章現(xiàn)代對稱分組密碼課件33S-DES的密鑰生成S-DES的密鑰生成34exampleexample35S-DES加密操作S-DES加密操作36第4章現(xiàn)代對稱分組密碼課件37第4章現(xiàn)代對稱分組密碼課件38第4章現(xiàn)代對稱分組密碼課件39第4章現(xiàn)代對稱分組密碼課件40內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼41Feistel分組加密算法結(jié)構(gòu)之動機分組加密算法,一一映射(加密是可逆的)當n較小時,等價于代替變換當n較大時,比如n=64,無法表達這樣的任意變換。Feistel結(jié)構(gòu)很好地解決了二者之間的矛盾Feistel分組加密算法結(jié)構(gòu)之動機分組加密算法,一一映射(42Feistel分組加密算法結(jié)構(gòu)之思想基本思想:用簡單算法的乘積來近似表達大尺寸的替換變換乘積密碼就是以某種方式連續(xù)執(zhí)行兩個或多個密碼,以使得所得到的最后結(jié)果或乘積從密碼編碼的角度比其任意一個組成密碼都更強。交替使用代替和置換(permutation)混亂(confusion)和擴散(diffusion)概念的應(yīng)用Feistel分組加密算法結(jié)構(gòu)之思想基本思想:用簡單算法的乘43Feistel密碼

結(jié)構(gòu)Feistel密碼

結(jié)構(gòu)44Feistel結(jié)構(gòu)定義加密:Li=Ri-1;Ri=Li-1⊕F(Ri-1,Ki)解密:Ri-1=LiLi-1=Ri⊕F(Ri-1,Ki)=Ri⊕F(Li,Ki)Feistel結(jié)構(gòu)定義加密:Li=Ri-1;Ri=45Feistel加密與解密Feistel加密與解密46基于Feistel結(jié)構(gòu)的密碼算法設(shè)計分組大小。越大安全性越高,但速度下降,64比特較合理密鑰位數(shù)。越大安全性越高,但速度下降,64比特廣泛使用,但現(xiàn)在已經(jīng)不夠用—〉128循環(huán)次數(shù)。越多越安全,典型16次子鑰產(chǎn)生算法。算法越復(fù)雜,就增加密碼分析的難度round輪函數(shù)。函數(shù)越復(fù)雜,就增加密碼分析的難度快速軟件實現(xiàn),包括加密和解密算法易于分析。便于掌握算法的保密強度以及擴展辦法?;贔eistel結(jié)構(gòu)的密碼算法設(shè)計分組大小。越大安全性越高47內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼48DES的描述DES利用56比特串長度的密鑰K來加密長度為64位的明文,得到長度為64位的密文DES的描述DES利用56比特串長度的密鑰K來加密長度為6449DES加解密過程DES加解密過程50DES示意圖DES示意圖51輸入的明文首先經(jīng)過一個初始置換IP,將明文分為左半部分和右半部分,各長32位。然后進行16輪完全相同的運算,即圖中的f函數(shù)。在這些函數(shù)中,數(shù)據(jù)與密鑰結(jié)合起來從而隱藏了密文,最后左、右半部分合在一起經(jīng)過一個末置換IP-1(初始置換的逆置換),就完成了密文的生成。輸入的明文首先經(jīng)過一個初始置換IP,將明文分為左半部分和右半52初始置換IP和IP-1同S-DES(簡化的DES)相同,DES在算法的開始和結(jié)束部分增加了兩個置換操作。目的增加算法的抗分析能力。初始置換IP和IP-1同S-DES(簡化的DES)相同,DE53輸入(64位)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157輸出(64位)初始變換IPL0(32位)R0(32位)輸入(64位)58504234261810254置換碼組輸入(64位)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725輸出(64位)逆初始變換IP-1置換碼組輸入(64位)408481656255初始置換IP和IP-1(互逆)M20→M'14M‘14→M‘‘20初始置換IP和IP-1(互逆)M20→M'14M‘14→M56一輪DES一輪DES57左32位右32位Li-1Ri-1擴展置換E48位(明文)64位密鑰作第i次迭代的計算機子密鑰Ki密鑰程序表48位(密鑰)8組6位碼S1S2S8模2加選擇函數(shù)輸入:6位輸出:4位+++++…+++++左32位右32位Li-1Ri-1擴展置換E48位(明文)645832位置換32位32位LiRi左32位右32位Ri-1Li-1模2加+++++...++++++乘積變換中的一次迭代32位置換32位32位LiRi左32位右32位Ri-1Li-59DES:FunctionFDES:FunctionF60第4章現(xiàn)代對稱分組密碼課件61擴展置換的作用它產(chǎn)生了與密鑰同長度的數(shù)據(jù)進行異或運算它產(chǎn)生了更長的結(jié)果,使得在代替運算時能進行壓縮(增加復(fù)雜性)輸入的一位將影響兩個替換(例如第一位輸入,存在于第一個和第8個子分組中,每個子分組分別進行S盒替換),所以輸出對輸入的依賴性將傳播得更快,明文或密鑰的一點小的變動應(yīng)該使密文發(fā)生一個大的變化.這叫雪崩效應(yīng)。(avalancheeffect)擴展置換的作用它產(chǎn)生了與密鑰同長度的數(shù)據(jù)進行異或運算62第4章現(xiàn)代對稱分組密碼課件63第4章現(xiàn)代對稱分組密碼課件64第4章現(xiàn)代對稱分組密碼課件65S-Box對每個盒,6比特輸入中的第1和第6比特組成的二進制數(shù)確定的行,中間4位二進制數(shù)用來確定16列中的相應(yīng)列,行、列交叉處的十進制數(shù)轉(zhuǎn)換為二進制數(shù)后,4位二進制數(shù)表示作為輸出。S-Box對每個盒,6比特輸入中的第1和第6比特組66S-盒的構(gòu)造(S6)S-盒的構(gòu)造(S6)67P-盒置換1607202129122817011523260518311002082414322703091913300622110425P-盒置換160720212912281768第4章現(xiàn)代對稱分組密碼課件6957494133251791585042342618102595143352719113605244366355473931331576254463830221466153453729211352820124置換選擇1密鑰(64位)C0(28位)D0(28位)5749413325179635547370DES的解密過程采用與加密相同的算法。以逆序(即)使用密鑰。第一圈用第16個子密鑰K16,第二圈用K15,其余類推。DES的解密過程采用與加密相同的算法。71不同微處理器上的DES軟件實現(xiàn)速度處理器處理器速度(MHz)每秒處理的DES分組個數(shù)80884.7370680007.69008028661,10068020163,50068030163,90080286255,000680305010,000680402516,000680404023,000804866643,000采樣專業(yè)硬件速度可達千萬分組/S不同微處理器上的DES軟件實現(xiàn)速度處理器處理器速度(MHz72內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼73對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰74弱密鑰初始密鑰被分成兩部分,每部分都單獨做移位。如果每一部分的每一位都是0或都是1,則每一圈的子密鑰都相同。這樣的密鑰被稱為弱密鑰。弱密鑰的定義:若k使得加密函數(shù)與解密函數(shù)一致,則稱k為弱密鑰。EK(

EK(p))=pDES存在4個弱密鑰弱密鑰初始密鑰被分成兩部分,每部分都單獨做移位。如果每一部分75半弱密鑰有些成對的密鑰會將明文加密成相同的密文,即一對密鑰中的一個能用來解密由另一個密鑰加密的消息,這種密鑰稱作半弱密鑰。這些密鑰不是產(chǎn)生16個不同的子密鑰,而是產(chǎn)生兩種不同的子密鑰。半弱密鑰:對于密鑰k,存在一個不同的密鑰,滿足。至少有12個半弱密鑰。半弱密鑰有些成對的密鑰會將明文加密成相同的密文,即一對密鑰中76對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰77互補密鑰將密鑰的0換成1,1換成0,就得到該密鑰的補密鑰。如果用原密鑰加密一組明文,則用補密鑰可以將明文的補碼加密成密文的補碼。DES算法具有互補性,即:若、是的補、是的補,則?;パa密鑰將密鑰的0換成1,1換成0,就得到該密鑰的補密鑰。如78證明-i對于一位的A和B有下的真值表,因此,對于任何等長的A和B,有 (A⊕B)′=A′⊕B,A⊕B=A′⊕B′證明-i對于一位的A和B有下的真值表,79證明-ii如果明文和密鑰取補(A’、B’、K’),相當于第一個XOR的輸入也取補,這樣輸出和沒有取補時一樣F(B,K),進一步我們看到對于第二個XOR的輸入只有一個取補了,因此輸出A’⊕F(B,K)=(A⊕F(B,K))’(A⊕B)′=A′⊕B,A⊕B=A′⊕B′證明-ii如果明文和密鑰取80互補密鑰對窮舉式攻擊的影響在一個選擇明文攻擊中,如果選擇明文X,攻擊者可以得到Y(jié)1=EK[X]和Y2=EK[X′],那么窮舉式攻擊只需要進行255次加密,而不是256次.注意到(Y2)′=EK′[X],現(xiàn)在選取一個測試密鑰T,計算ET[X].如果結(jié)果是Y1,T是正確的密鑰.如果結(jié)果是(Y2)′,T′是正確的密鑰.如果都不是,我們就通過一次加密否定了兩個基本密鑰?;パa密鑰對窮舉式攻擊的影響在一個選擇明文攻擊中,如果選擇明文81對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰82DES的破譯:分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊分為以下幾類:唯密文攻擊已知明文攻擊選擇明文攻擊攻擊的復(fù)雜度數(shù)據(jù)復(fù)雜度:實施該攻擊所需輸入的數(shù)據(jù)量處理復(fù)雜度:處理這些數(shù)據(jù)所需要的計算量DES的破譯:分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將83分組密碼的典型攻擊方法最可靠的攻擊辦法:強力攻擊差分密碼分析:通過分析明文對的差值對密文對的差值的影響來恢復(fù)某些密鑰比特。選擇明文攻擊,需要247個選擇明文線性密碼分析:本質(zhì)上是一種已知明文攻擊方法,通過尋找一個給定密碼算法的有效的線性近似表達式來破譯密碼系統(tǒng),需要247個已知明文插值攻擊方法密鑰相關(guān)攻擊分組密碼的典型攻擊方法最可靠的攻擊辦法:強力攻擊84強力攻擊窮盡密鑰搜索攻擊:唯密文:用2k個密鑰對密文解密,看明文是否有意義已知(選擇)明文:用2k個密鑰對明文加密,看明密文是否相同字典攻擊:明密文對編成字典,得到密文后在字典中查找對應(yīng)的明文,需2n個明文-密文對。查表攻擊:是選擇明文攻擊,給定明文,用所有的2k個密鑰,預(yù)計算密文,構(gòu)成密文-密鑰表,得到密文后在表中查找對應(yīng)的密鑰。(某些協(xié)議中會出現(xiàn)固定的短語)強力攻擊窮盡密鑰搜索攻擊:85DES的破譯1990年,以色列密碼學家EliBiham和AdiShamir提出了差分密碼分析法,可對DES進行選擇明文攻擊。IBM聲稱1974年就知道該方法,因此在S盒和P盒的設(shè)計中做了考慮,差分方法對8輪DES需214個選擇明文,對其他分組密碼算法更有效。線性密碼分析比差分密碼分析更有效強力攻擊:平均255次嘗試差分密碼分析法:使用247對明密文的選擇明文攻擊線性密碼分析法:使用247對明密文的已知明文攻擊DES的破譯1990年,以色列密碼學家EliBiham和A86對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰87密鑰長度關(guān)于DES算法的另一個最有爭議的問題就是擔心實際56比特的密鑰長度不足以抵御窮舉式攻擊,因為密鑰量只有256≈1017個早在1977年,Diffie和Hellman已建議制造一個每微秒能測試100萬個密鑰的VLSI芯片。每微秒測試100萬個密鑰的機器大約需要一天就可以搜索整個密鑰空間。他們估計制造這樣的機器大約需要2000萬美元。Hellman提出通過空間和時間的折衷,可以加速密鑰的尋找過程。他建議計算并存儲256種用每種可能密鑰加密一段固定明文的結(jié)果。估計機器造價500萬美元。密鑰長度關(guān)于DES算法的另一個最有爭議的問題就是擔心實際5688密鑰長度1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RSA安全年會上公布了一項“秘密密鑰挑戰(zhàn)”競賽,其中包括懸賞1萬美元破譯密鑰長度為56比特的DES。美國克羅拉多洲的程序員Verser從1997年2月18日起,用了96天時間,在Internet上數(shù)萬名志愿者的協(xié)同工作下,成功地找到了DES的密鑰,贏得了懸賞的1萬美元。1998年7月電子前沿基金會(ElectronicFrontierFoundation)使用一臺25萬美元的電腦在56小時內(nèi)破譯了56比特密鑰的DES。1999年1月RSA數(shù)據(jù)安全會議期間,電子前沿基金會用22小時15分鐘就宣告破解了一個DES的密鑰。密鑰長度1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RS89對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰90DES的輪數(shù)Feistel密碼的編碼強度來自于:迭代輪數(shù)、函數(shù)F和密鑰使用的算法。一般來說,循環(huán)次數(shù)越多進行密碼分析的難度就越大。一般來說,循環(huán)次數(shù)的選擇準則是要使已知的密碼分析的工作量大于簡單的窮舉式密鑰搜索的工作量。對于16個循環(huán)的DES來說,差分密碼分析的運算次數(shù)為255.1,而窮舉式搜索要求255,前者比后者效率稍低,如果DES有15次循環(huán),那么差分密碼分析比窮舉式搜索的工作量要小。DES的輪數(shù)Feistel密碼的編碼強度來自于:迭代輪數(shù)、函91對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰92函數(shù)FFeistel密碼的核心是函數(shù)F,函數(shù)F依賴于S盒的使用。函數(shù)F作用:給Feistel密碼注入了混淆的成分。F是非線性的,是DES中唯一的非線性成分。函數(shù)F設(shè)計的雪崩準則(輸入的一位變化引起輸出的很多位變化嚴格雪崩準則SAC(Strictavalanchecriterion):對于任何的i,j,當任何一個輸入比特i變化時,一個S盒子的任何輸出比特j變化的概率為1/2。比特獨立準則BIC(bitindependencecriterion):對于任意的i,j,k,當任意一個輸入比特i變化時,輸出j和k應(yīng)當獨立地變化。函數(shù)FFeistel密碼的核心是函數(shù)F,函數(shù)F依賴于S盒的使93DES的雪崩效應(yīng)-iDES的雪崩效應(yīng)-i94DES的雪崩效應(yīng)-iiDES的雪崩效應(yīng)-ii95對DES的討論弱密鑰與半弱密鑰互補密鑰DES的破譯密鑰長度的爭論DES的輪數(shù)函數(shù)FS-盒的疑問對DES的討論弱密鑰與半弱密鑰96S-盒的構(gòu)造要求S-盒是許多密碼算法的唯一非線性部件,因此,它的密碼強度決定了整個算法的安全強度提供了密碼算法所必須的混亂作用如何全面準確地度量S-盒的密碼強度和設(shè)計有效的S-盒是分組密碼設(shè)計和分析中的難題非線性度、差分均勻性、嚴格雪崩準則、沒有陷門S-盒的構(gòu)造要求S-盒是許多密碼算法的唯一非線性部件,因此,97S-Box問題-iS-Box的設(shè)計細節(jié),NSA和IBM都未公開過。70年代中Lexar公司和Bell公司都對S-Box進行了大量研究,她們都發(fā)現(xiàn)了S-Box有一些不能解釋的特征,但并沒有找到弱點。Lexar結(jié)論:“已發(fā)現(xiàn)的DES的結(jié)構(gòu)毫無疑問增強了系統(tǒng)抗擊一定攻擊的能力,同時也正是這些結(jié)構(gòu)似乎削弱了系統(tǒng)抗攻擊的能力?!保⊿-Box不是隨機選取的)Bell結(jié)論:S-Box可能隱藏了陷門。S-Box問題-iS-Box的設(shè)計細節(jié),NSA和IBM都未公98S-Box問題-ii1976年美國NSA提出了下列幾條S盒的設(shè)計準則:沒有一個S盒是它輸入變量的線性函數(shù)S盒的每一行是整數(shù)0,…,15的一個置換改變S盒的一個輸入位至少要引起兩位的輸出改變對任何一個S盒和任何一個輸入X,S(X)和S(X⊕001100)至少有兩個比特不同(這里X是長度為6的比特串)對任何一個S盒,對任何一個輸入對e,f屬于{0,1},S(X)≠S(X⊕11ef00)對任何一個S盒,如果固定一個輸入比特,來看一個固定輸出比特的值,使這個輸出比特為0的輸入數(shù)目將接近于使這個輸出比特為1的輸入數(shù)目。S-Box問題-ii1976年美國NSA提出了下列幾條S盒的99S-Box問題-iii在差分分析公開后,1992年IBM公布了S-盒和P-盒設(shè)計準則。沒有一個S盒是它輸入變量的線性函數(shù)S盒的每一行是整數(shù)0,…,15的一個置換改變S盒的一個輸入位至少要引起兩位的輸出改變對任何一個S盒和任何一個輸入X,S(X)和S(X⊕001100)至少有兩個比特不同(這里X是長度為6的比特串)對任何一個S盒,對任何一個輸入對e,f屬于{0,1},S(X)≠S(X⊕11ef00)對于任何輸入之間的非零的6位差值,具有這種差值的輸入中32對中有不超過8對的輸出相同。S-Box問題-iii在差分分析公開后,1992年IBM公布100S盒子的設(shè)計從本質(zhì)上說,希望S盒子輸入向量的任何變動在輸出方都產(chǎn)生看似隨機的變動。這兩種變動之間的關(guān)系是非線性的并難于用線性函數(shù)近似。S盒的設(shè)計方法:隨機產(chǎn)生:s盒較小時不太理想帶測試的隨機產(chǎn)生人工產(chǎn)生:利用簡單的數(shù)學原理,配合手工方法,DES就是利用這種方法設(shè)計。用數(shù)學方法:安全性高S盒子的設(shè)計從本質(zhì)上說,希望S盒子輸入向量的任何變動在輸出方101內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼102分組密碼的工作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計數(shù)器CTR(counter)分組密碼的工作模式電子密碼本ECB(electronic103電子密碼本(ECB)重要特點:在給定的密鑰下,相同的明文總是對應(yīng)相同的密文。名稱的由來:對給定的密鑰,任何64位的明文組只有唯一的密文與之對應(yīng),可以想像存在一個很厚的密碼本,根據(jù)任意64位明文可以查到相應(yīng)的密文。使用方法:若明文長度大于64位,可將其分為64位分組,必要時可對最后一個分組進行填充。電子密碼本(ECB)重要特點:在給定的密鑰下,相同的明文總是104電子密碼本(ECB)電子密碼本(ECB)105ECB的特點簡單和有效可以并行實現(xiàn)不能隱藏明文的模式信息相同明文相同密文同樣信息多次出現(xiàn)造成泄漏對明文的主動攻擊是可能的(提款)信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對應(yīng)明文塊損壞適合于傳輸短信息:加密密鑰ECB的特點簡單和有效106分組密碼的工作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計數(shù)器CTR(counter)分組密碼的工作模式電子密碼本ECB(electronic107密碼分組鏈接(CBC)目點:消除電子密碼本ECB模式的缺點。相同的明文加密成不同的密文。密碼算法的輸入是當前的明文組和上一個密文組的異或。相當于每個明文異或一個初始化向量的ECB密碼分組鏈接(CBC)目點:消除電子密碼本ECB模式的缺點108密碼分組鏈接(CBC)密碼分組鏈接(CBC)109CBC特點沒有已知的并行實現(xiàn)算法能隱藏明文的模式信息:相同明文不同密文需要共同的初始化向量IVIV需要保密:初始化向量IV可以用來改變第一塊對明文的主動攻擊是不容易的信息塊不容易被替換、重排、刪除、重放誤差傳遞:密文塊損壞兩明文塊損壞安全性好于ECB適合于傳輸長度大于64位的報文,是大多系統(tǒng)的標準如SSL、IPSecCBC特點沒有已知的并行實現(xiàn)算法110分組密碼的工作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計數(shù)器CTR(counter)分組密碼的工作模式電子密碼本ECB(electronic111密碼反饋CFB在密碼分組鏈接CBC模式下,整個數(shù)據(jù)分組在接受完成之后才能進行加密。例如:某些安全的網(wǎng)絡(luò)環(huán)境中,可能需要當從終端輸入時,必須把每個字符實時加密傳給主機,這種方式CBC無法滿足。CFB:分組密碼流密碼密碼反饋CFB在密碼分組鏈接CBC模式下,整個數(shù)據(jù)分組在接受112CFB加密示意圖CFB加密示意圖113CFB解密示意圖CFB解密示意圖114CFB特點相當于自同步序列密碼分組密碼流密碼隱藏了明文模式需要共同的移位寄存器初始值IV對于不同的消息,IV必須唯一:如果第三方知道了先前的EK(IV),則可恢復(fù)P1誤差傳遞:明文的一個錯誤會影響后面所有密文。密文的1位錯誤會引起對應(yīng)明文的1位錯誤,同時密文進入移位寄存器后,會引起其后多個明文單元的錯誤。CFB特點相當于自同步序列密碼115流密碼的分類依據(jù)狀態(tài)轉(zhuǎn)移函數(shù)與輸入明文有無關(guān)系分類,也即系統(tǒng)狀態(tài)與明文信息的關(guān)系來劃分:同步流密碼:與明文信息無關(guān),即密碼流獨立于明文。自同步流密碼:與明文信息有關(guān),不僅與當前輸入有關(guān),而且與以前的輸入歷史有關(guān)。流密碼的分類依據(jù)狀態(tài)轉(zhuǎn)移函數(shù)與輸入明文有無關(guān)系分類116分組密碼的工作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計數(shù)器CTR(counter)分組密碼的工作模式電子密碼本ECB(electronic117輸出反饋OFB同CFB模式非常相似OFB:分組密碼流密碼輸出反饋OFB同CFB模式非常相似118OFB加密示意圖OFB加密示意圖119OFB解密示意圖OFB解密示意圖120OFB特點相當于同步序列密碼OFB:分組密碼流密碼隱藏了明文模式對于不同的消息,IV必須唯一誤差傳遞:傳輸過程中一個密文單元的錯誤只影響對應(yīng)明文單元對明文的主動攻擊是可能的密文的某位取反,恢復(fù)的明文相應(yīng)位也取反信息塊可被替換、重放安全性較CFB差在明文存在之前可以進行離線工作OFB特點相當于同步序列密碼121分組密碼的工作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計數(shù)器CTR(counter)分組密碼的工作模式電子密碼本ECB(electronic122計數(shù)器模式Counter(CTR)很早之前就提出,但在ATM網(wǎng)絡(luò)安全和IPSec中的廣泛應(yīng)用才引起注意CTR:分組密碼流密碼與OFB類似,但使用加密計數(shù)器值,而不是反饋值必須對每一個明文使用一個不同的計數(shù)器值加解密方式:Ci=PiXOROi

(取Oi

與Pi長度相同的位數(shù))Oi=DESK(i)應(yīng)用于高速網(wǎng)絡(luò)加密計數(shù)器模式Counter(CTR)很早之前就提出,但在AT123計數(shù)器模式Counter(CTR)計數(shù)器模式Counter(CTR)124CTR特點CTR:分組密碼流密碼有效性:可以并行實現(xiàn)可以預(yù)處理適用于高速網(wǎng)絡(luò)可以隨機訪問加密的數(shù)據(jù)分組隱藏了明文模式,與CBC模式一樣安全可以處理任意長度的消息誤差傳遞:一個單元損壞只影響對應(yīng)單元對明文的主動攻擊是可能的信息塊可被替換、重放CTR特點CTR:分組密碼流密碼125內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼126DES密碼的應(yīng)用由于DES在窮舉攻擊下相對比較脆弱,因此一般不能簡單使用DES進行加密處理,需要某種算法進行替代,這里通常有兩種方案:一種是利用全新的算法。另一種是為保護對使用DES的已有軟件和硬件的投資,采用多個密鑰的多個多次DES加密。應(yīng)用最廣泛的是:三重DES加密DES密碼的應(yīng)用由于DES在窮舉攻擊下相對比較脆弱,因此一般127雙重DES(DoubleDES)雙重DES(DoubleDES)128雙重DES的討論雙重DES的討論129中間相遇攻擊對雙重DES有:攻擊過程:給定明文密文對(P,C)1、首先用K1的所有256個密鑰加密P,對結(jié)果按X的值排序保存在表T中。2、用K2的所有256個密鑰解密C,每解密一次,就將解密結(jié)果與T中的值比較,如果有相等的,就用剛測試的兩個密鑰對P加密,若結(jié)果為C,則這兩個密鑰可能是正確的密鑰。中間相遇攻擊對雙重DES有:攻擊過程:130對雙重DES的中間相遇攻擊的分析二重DES所用密鑰的長度應(yīng)是112bits,所以密鑰空間為2112,也就是選擇密鑰有2112個可能性。即一個明文P有2112種方式映射到密文空間對于任意給定的一個明文P,經(jīng)二重DES加密后可能得到264個密文中的一個。即一個明文P有264個變換結(jié)果。于是對給定一個明文P,可加密成密文C的密鑰個數(shù)為2112/264=248。也就是對一個(P,C)對將產(chǎn)生248個錯誤的結(jié)果。2112264密文分組明文分組明文分組密文分組264對雙重DES的中間相遇攻擊的分析二重DES所用密鑰的長度應(yīng)是131對雙重DES的中間相遇攻擊的分析給定兩個明密文對,虛警率降為248-64=2-16。因為對第一個明密文對成立的密鑰K,使第2個(P,C)成立的概率為1/264。換句話說,對已知2個明文-密文對的中間相遇攻擊成功的概率為1-2-16。攻擊用的代價{加密或解密所用運算次數(shù)}≦2×256,比攻擊單DES所需的255多不了多少。需要大量的存儲器:256×64=1017字節(jié),例如對128位密鑰,中間攻擊需要1039字節(jié),如果一位信息對應(yīng)一個鋁原子,1039字節(jié)需要一立方公里的鋁。對雙重DES的中間相遇攻擊的分析給定兩個明密文對,虛警率降為132Triple-DES的四種模型對付中間攻擊的一個方法是使用三重DESDES-EEE3:三個不同密鑰,順序使用三次加密算法DES-EDE3:三個不同密鑰,依次使用加密-解密-加密算法DES-EEE2:K1=K3,同上DES-EDE2:K1=K3,同上Triple-DES的四種模型對付中間攻擊的一個方法是使用三133雙密鑰的三重DES雙密鑰的三重DES134對雙密鑰的三重DES的分析該模式由IBM設(shè)計,可與常規(guī)加密算法兼容這種替代DES的加密較為流行并且已被采納用于密鑰管理標準(TheKeyManagerStandardsANSX9.17和ISO8732).交替使用K1和K2可以抵抗中間相遇攻擊C=EK1(DK2(EK1(P))),如果C=EK2(EK1(EK1(P))),可以采用中間攻擊,只需要256+2次加密目前還沒有針對兩個密鑰三重DES的實用攻擊方法。但對兩個密鑰三重DES的攻擊有一些設(shè)想,以這些設(shè)想為基礎(chǔ)將來可能設(shè)計出更成功的攻擊技術(shù)。對雙密鑰的三重DES的分析該模式由IBM設(shè)計,可與常規(guī)加密135三密鑰的三重DES三密鑰的三重DES136結(jié)束語當你盡了自己的最大努力時,失敗也是偉大的,所以不要放棄,堅持就是正確的。WhenYouDoYourBest,FailureIsGreat,SoDon'TGiveUp,StickToTheEnd結(jié)束語137謝謝大家榮幸這一路,與你同行It'SAnHonorToWalkWithYouAllTheWay演講人:XXXXXX時間:XX年XX月XX日

謝謝大家演講人:XXXXXX138現(xiàn)代對稱分組密碼forest@現(xiàn)代對稱分組密碼139回顧上一講的內(nèi)容古典密碼代替密碼單字母密碼多字母密碼置換密碼對稱密碼的兩個基本運算代替和置換(Substitution&permutation)對稱密碼分析的兩個基本方法系統(tǒng)分析法(統(tǒng)計分析法)、窮舉法多輪加密數(shù)據(jù)安全基于算法的保密回顧上一講的內(nèi)容古典密碼140內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼141乘積密碼(ProductCiphers)因為語言的特征,用代替和置換規(guī)則構(gòu)造的密碼是不安全的因此,可以考慮連續(xù)使用兩個或兩個以上的基本密碼的方式來增強密碼強度:兩次代替可以構(gòu)造一個更難于分析的代替兩次置換可以構(gòu)造一個更難于分析的置換代替之后在進行一次置換,可以構(gòu)造一個強度更高的新密碼這是古典密碼通往現(xiàn)代密碼的橋梁乘積密碼(ProductCiphers)因為語言的特征,用142乘積密碼(ProductCiphers)乘積密碼就是以某種方式連續(xù)執(zhí)行兩個或多個密碼以使得到的最后結(jié)果從密碼編碼的角度比其任何一個組成密碼都強.兩個加密按它們加密的順序連接進行合成時,要求第一個方法的密文空間與第二個方法的明文空間一致。挫敗基于統(tǒng)計分析的密碼破譯乘積密碼(ProductCiphers)乘積密碼就是以某種143加密合成兩類方法的合成比單個方法更具有抗非法解密的能力?這不一定都對,第二個方法可以部分或全部抵消第一個方法的作用。加密合成兩類方法的合成比單個方法更具有抗非法解密的能力?144第4章現(xiàn)代對稱分組密碼課件145如果合成的方法不滿足交換性,而且其中之一與另一個還獨立,則這一合成是有效的。比如換位,執(zhí)行一次“擴散”,多字母代替,執(zhí)行一次“混亂”,不是一個群,因此可以被重復(fù)而且其組合復(fù)雜度進一步增加。等于是擴大了密鑰空間。如果合成的方法不滿足交換性,而且其中之一與另一個還獨立,則這146轉(zhuǎn)子機(RotorMachines)在現(xiàn)代密碼之前,轉(zhuǎn)子機是最普遍的乘積密碼在第二次世界大戰(zhàn)中得到廣泛應(yīng)用 –GermanEnigma,AlliedHagelin,JapanesePurple實現(xiàn)了一個非常復(fù)雜的可變的代替密碼使用一系列的轉(zhuǎn)子,每一個狀態(tài)給定一種代替表,每加密一個字母,轉(zhuǎn)子轉(zhuǎn)一格,代替表就變一個3個轉(zhuǎn)子可以產(chǎn)生263=17576代替表轉(zhuǎn)子機(RotorMachines)在現(xiàn)代密碼之前,轉(zhuǎn)子機147轉(zhuǎn)子機Rotormachine轉(zhuǎn)子機Rotormachine148置換密碼換位密碼把明文按行寫入,按列讀出密鑰包含3方面信息:行寬,列高,讀出順序key: 4312567plaintext:attackp ostpone duntilt woamxyzciphertext:TTNAAPTMTSUOAODWCOIXPETZ完全保留字符的統(tǒng)計信息使用多輪加密可提高安全性置換密碼換位密碼把明文按行寫入,按列讀出149多次置多次置換,減少結(jié)構(gòu)性排列,不易于重構(gòu)。多次置多次置換,減少結(jié)構(gòu)性排列,不易于重構(gòu)。150置換密碼分析置換密碼分析151內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼152DES的產(chǎn)生背景美國國家標準局(NBS)1973年公開征求計算機加密算法標準,要求如下:該算法必須提供較高的安全性;該算法必須完全確定并且易于理解;該算法的安全性不應(yīng)依賴于算法本身,而是應(yīng)該依賴于密鑰;該算法必須對所有的用戶有效;該算法必須適用于各種應(yīng)用;該算法必須能夠通過價格合理的電子器件得以實現(xiàn);該算法必須能夠有效使用;該算法必須能夠得以驗證;該算法必須能夠得以出口。DES的產(chǎn)生背景美國國家標準局(NBS)1973年公開征153數(shù)據(jù)加密標準(DES)HISTORY1974年8月27日,NBS開始第二次征集IBM提交了算法LucifercipherbyteamledbyFeistelused64-bitdatablockswith128-bitkey1977年正式頒布為數(shù)據(jù)加密標準(DES-DataEncryptionStandard)。1979年,美國銀行協(xié)會批準使用DES。1980年,DES成為美國標準化協(xié)會(ANSI)標準。1984年,ISO開始在DES基礎(chǔ)上制定數(shù)據(jù)加密的國際標準,稱之為DEA-1。美國國家安全局NSA每五年對該算法進行評估,1994年,決定1998年12月之后不再使用DES?,F(xiàn)已由采用Rijndael算法的高級加密標準AES取代。數(shù)據(jù)加密標準(DES)HISTORY1974年8月27日,154內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼155分組密碼與流密碼流密碼加密過程是將信息流分為基本的信息單位,然后與相應(yīng)的密鑰流作運算從而掩蓋明文信息。分組密碼與之不同的是將明文編碼表示后的數(shù)字序列,劃分成等長的組,在密鑰的作用下變換成等長的輸出序列。解密時,將加密后的分組與相同的密鑰相互作用而得到明文信息。分組密碼與流密碼流密碼加密過程是將信息流分為基本的信息單位,156分組密碼的特點分組密碼與流密碼的不同之處在于,分組密碼輸出的每一位數(shù)字不是只與相應(yīng)時刻輸入的明文數(shù)字有關(guān),而是還與一組長為m的明文數(shù)字有關(guān)。在密鑰相同下,分組密碼對長為m的輸入明文所實施的變換是等同的,所以只需研究對任一組明文數(shù)字的變換規(guī)則。分組密碼易于標準化和易于實現(xiàn);不善于隱藏明文的數(shù)據(jù)模式,可以離線操作,對于重放、插入、刪除等攻擊方式的抵御能力不強。(時間無關(guān))分組密碼的特點分組密碼與流密碼的不同之處在于,分組密碼輸出157分組密碼的長度明文為分組長度為m的序列,密文為分組長度為n的序列:n>m,稱其為有數(shù)據(jù)擴展的分組密碼;n<m,稱其為有數(shù)據(jù)壓縮的分組密碼;n=m,稱其為無數(shù)據(jù)擴展與壓縮的分組密碼。我們一般所說的分組密碼為無數(shù)據(jù)擴展與壓縮的分組密碼。分組密碼的長度明文為分組長度為m的序列,密文為分組長度為n的158分組密碼的一般設(shè)計原理-i分組密碼是將明文信息編碼表示后的數(shù)字序列劃分成長為m的組 ,各組(長為m的矢量)分別在密鑰控制下變換成等長的輸出數(shù)字序列(長度為n的矢量),其加密函數(shù)為,是n維矢量空間,為密鑰空間。分組密碼的一般設(shè)計原理-i分組密碼是將明文信息編碼表示后的數(shù)159分組密碼與簡單代替密碼名文分組同密文分組一一映射;分組密碼算法可以理解為明文分組到密文分組的代替;分組的長度n決定了代替方式的數(shù)量n=2時,有12總代替方式:(2n)!分組密碼的密鑰:表示采用哪種代替方式明文分組密文分組變換規(guī)則分組密碼與簡單代替密碼名文分組同密文分組一一映射;明文分組密160分組密碼的一般設(shè)計原理-iiN=4時,共有16!=(24)!個映射方法密鑰長度:表達16!需要45位分組必須足夠長以抵抗窮舉攻擊分組密碼的一般設(shè)計原理-iiN=4時,共有16!=(24)!161分組密碼的一般設(shè)計原理-iii一般地,對于n位的一般代替分組密碼,密鑰的個數(shù)為(2n)!(明文->密文的映射方法),為表示任一特定代替所需的二元數(shù)字位數(shù)為:lb(2n!)≈(n-1.44)2n=O(n2n)(bit)即密鑰長度達n2n位。n=4,4×24=64n=64,64×264=270

≈1021位分組長度n要足夠大,防止明文窮舉攻擊。分組密碼的一般設(shè)計原理-iii一般地,對于n位的一般代替分組162分組密碼的一般設(shè)計原理-ivDES的密鑰長度僅為56位,AES的密鑰長度為128/196/256分組密碼的設(shè)計問題在于找到一種算法,能在密鑰的控制之下,從一個足夠大而且足夠好的代替子集中,簡單而迅速地選取出一個代替。分組密碼的一般設(shè)計原理-ivDES的密鑰長度僅為56位,AE163分組密碼的一般設(shè)計原理-v分組長度足夠大密鑰量足夠大,能抵抗密鑰窮舉攻擊,但又不能過長,以利于密鑰管理由密鑰確定代替的算法要足夠復(fù)雜,能抵抗各種已知攻擊分組密碼的一般設(shè)計原理-v分組長度足夠大164分組密碼設(shè)計原則Shannon指出:理想的密碼中,密文的統(tǒng)計特性獨立于密鑰。1949年Shannon提出了保證實際密碼安全的兩個基本原則:混亂(Confusion)和擴散(Diffusion)原則?;靵y原則:為了避免密碼分析者利用明文和密文之間的依賴關(guān)系進行破譯,密碼的設(shè)計應(yīng)保證這種依賴關(guān)系足夠復(fù)雜。需要非線性代換算法。擴散原則:為避免密碼分析者對密鑰逐段破譯,密碼的設(shè)計應(yīng)保證密鑰的每位數(shù)字能夠影響密文中的多位數(shù)字。同時,為了避免密碼分析者利用明文的統(tǒng)計特性,密碼的設(shè)計應(yīng)該保證明文的每位數(shù)字能夠影響密文中的多位數(shù)字,從而隱藏明文的統(tǒng)計特性。分組密碼設(shè)計原則Shannon指出:理想的密碼中,密文的統(tǒng)計165ShannonandSubstitution-

PermutationCiphers1949Shannon提出了代替置換網(wǎng)絡(luò)的思想substitution-permutation(S-P)networks–modernsubstitution-transpositionproductcipher這是構(gòu)成現(xiàn)代分組密碼的基礎(chǔ)S-P網(wǎng)絡(luò)基于密碼學的兩個基本操作:–substitution(S-box)–permutation(P-box)提供了消息的擴散與混亂ShannonandSubstitution-

Perm166實現(xiàn)方法的設(shè)計原則軟件實現(xiàn)的要求:使用子模塊:密碼運算在子模塊上進行,要求子塊的長度能自然地適應(yīng)軟件編程,如8、16、32比特等。使用簡單的運算。在子塊上所進行的密碼運算盡量采用易于軟件實現(xiàn)的運算。最好是用標準處理器所具有的一些基本指令,如加法、乘法、移位等。硬件實現(xiàn)的要求:能夠采用同樣的器件來實現(xiàn)加密和解密,以節(jié)省費用和體積。盡量采用標準的組件結(jié)構(gòu),以便能適應(yīng)于在超大規(guī)模集成電路中實現(xiàn)。實現(xiàn)方法的設(shè)計原則軟件實現(xiàn)的要求:167內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼168簡化的DESSimplifiedDES方案,簡稱S-DES方案。分組長度8位,密鑰長度10位加密算法涉及五個函數(shù):(1)初始置換IP(initialpermutation)(2)復(fù)合函數(shù)fk1,它是由密鑰K確定的,具有置換和代替的運算。(3)轉(zhuǎn)換函數(shù)SW(4)復(fù)合函數(shù)fk2(5)初始置換IP的逆置換IP-1簡化的DESSimplifiedDES方案,簡稱S-DES169加密算法的數(shù)學表示IP-1?fk2?SW?fk1?IP 也可寫為 密文=IP-1fk2(SW(fk1(IP(明文))))) 其中K1=P8(移位(P10(密鑰K))) K2=P8(移位(移位(P10(密鑰K))))解密算法的數(shù)學表示: 明文=IP-1(fk1(SW(fk2(IP(密文)))))加密算法的數(shù)學表示IP-1?fk2?SW?fk1?IP170第4章現(xiàn)代對稱分組密碼課件171S-DES的密鑰生成S-DES的密鑰生成172exampleexample173S-DES加密操作S-DES加密操作174第4章現(xiàn)代對稱分組密碼課件175第4章現(xiàn)代對稱分組密碼課件176第4章現(xiàn)代對稱分組密碼課件177第4章現(xiàn)代對稱分組密碼課件178內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼179Feistel分組加密算法結(jié)構(gòu)之動機分組加密算法,一一映射(加密是可逆的)當n較小時,等價于代替變換當n較大時,比如n=64,無法表達這樣的任意變換。Feistel結(jié)構(gòu)很好地解決了二者之間的矛盾Feistel分組加密算法結(jié)構(gòu)之動機分組加密算法,一一映射(180Feistel分組加密算法結(jié)構(gòu)之思想基本思想:用簡單算法的乘積來近似表達大尺寸的替換變換乘積密碼就是以某種方式連續(xù)執(zhí)行兩個或多個密碼,以使得所得到的最后結(jié)果或乘積從密碼編碼的角度比其任意一個組成密碼都更強。交替使用代替和置換(permutation)混亂(confusion)和擴散(diffusion)概念的應(yīng)用Feistel分組加密算法結(jié)構(gòu)之思想基本思想:用簡單算法的乘181Feistel密碼

結(jié)構(gòu)Feistel密碼

結(jié)構(gòu)182Feistel結(jié)構(gòu)定義加密:Li=Ri-1;Ri=Li-1⊕F(Ri-1,Ki)解密:Ri-1=LiLi-1=Ri⊕F(Ri-1,Ki)=Ri⊕F(Li,Ki)Feistel結(jié)構(gòu)定義加密:Li=Ri-1;Ri=183Feistel加密與解密Feistel加密與解密184基于Feistel結(jié)構(gòu)的密碼算法設(shè)計分組大小。越大安全性越高,但速度下降,64比特較合理密鑰位數(shù)。越大安全性越高,但速度下降,64比特廣泛使用,但現(xiàn)在已經(jīng)不夠用—〉128循環(huán)次數(shù)。越多越安全,典型16次子鑰產(chǎn)生算法。算法越復(fù)雜,就增加密碼分析的難度round輪函數(shù)。函數(shù)越復(fù)雜,就增加密碼分析的難度快速軟件實現(xiàn),包括加密和解密算法易于分析。便于掌握算法的保密強度以及擴展辦法。基于Feistel結(jié)構(gòu)的密碼算法設(shè)計分組大小。越大安全性越高185內(nèi)容提要乘積密碼DES的產(chǎn)生與應(yīng)用分組密碼的設(shè)計原理與方法簡化的DESFeistel密碼結(jié)構(gòu)對DES的描述對DES的討論分組密碼的工作模式DES密碼的應(yīng)用內(nèi)容提要乘積密碼186DES的描述DES利用56比特串長度的密鑰K來加密長度為64位的明文,得到長度為64位的密文DES的描述DES利用56比特串長度的密鑰K來加密長度為64187DES加解密過程DES加解密過程188DES示意圖DES示意圖189輸入的明文首先經(jīng)過一個初始置換IP,將明文分為左半部分和右半部分,各長32位。然后進行16輪完全相同的運算,即圖中的f函數(shù)。在這些函數(shù)中,數(shù)據(jù)與密鑰結(jié)合起來從而隱藏了密文,最后左、右半部分合在一起經(jīng)過一個末置換IP-1(初始置換的逆置換),就完成了密文的生成。輸入的明文首先經(jīng)過一個初始置換IP,將明文分為左半部分和右半190初始置換IP和IP-1同S-DES(簡化的DES)相同,DES在算法的開始和結(jié)束部分增加了兩個置換操作。目的增加算法的抗分析能力。初始置換IP和IP-1同S-DES(簡化的DES)相同,DE191輸入(64位)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157輸出(64位)初始變換IPL0(32位)R0(32位)輸入(64位)585042342618102192置換碼組輸入(64位)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725輸出(64位)逆初始變換IP-1置換碼組輸入(64位)4084816562193初始置換IP和IP-1(互逆)M20→M'14M‘14→M‘‘20初始置換IP和IP-1(互逆)M20→M'14M‘14→M194一輪DES一輪DES195左32位右32位Li-1Ri-1擴展置換E48位(明文)64位密鑰作第i次迭代的計算機子密鑰Ki密鑰程序表48位(密鑰)8組6位碼S1S2S8模2加選擇函數(shù)輸入:6位輸出:4位+++++…+++++左32位右32位Li-1Ri-1擴展置換E48位(明文)6419632位置換32位32位LiRi左32位右32位Ri-1Li-1模2加+++++...++++++乘積變換中的一次迭代32位置換32位32位LiRi左32位右32位Ri-1Li-197DES:FunctionFDES:FunctionF198第4章現(xiàn)代對稱分組密碼課件199擴展置換的作用它產(chǎn)生了與密鑰同長度的數(shù)據(jù)進行異或運算它產(chǎn)生了更長的結(jié)果,使得在代替運算時能進行壓縮(增加復(fù)雜性)輸入的一位將影響兩個替換(例如第一位輸入,存在于第一個和第8個子分組中,每個子分組分別進行S盒替換),所以輸出對輸入的依賴性將傳播得更快,明文或密鑰的一點小的變動應(yīng)該使密文發(fā)生一個大的變化.這叫雪崩效應(yīng)。(avalancheeffect)擴展置換的作用它產(chǎn)生了與密鑰同長度的數(shù)據(jù)進行異或運算200第4章現(xiàn)代對稱分組密碼課件201第4章現(xiàn)代對稱分組密碼課件202第4章現(xiàn)代對稱分組密碼課件20

溫馨提示

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

評論

0/150

提交評論