![對(duì)稱(chēng)密碼體系課件_第1頁(yè)](http://file4.renrendoc.com/view/8d7e31d71d222f19eeb9ec5998ef3972/8d7e31d71d222f19eeb9ec5998ef39721.gif)
![對(duì)稱(chēng)密碼體系課件_第2頁(yè)](http://file4.renrendoc.com/view/8d7e31d71d222f19eeb9ec5998ef3972/8d7e31d71d222f19eeb9ec5998ef39722.gif)
![對(duì)稱(chēng)密碼體系課件_第3頁(yè)](http://file4.renrendoc.com/view/8d7e31d71d222f19eeb9ec5998ef3972/8d7e31d71d222f19eeb9ec5998ef39723.gif)
![對(duì)稱(chēng)密碼體系課件_第4頁(yè)](http://file4.renrendoc.com/view/8d7e31d71d222f19eeb9ec5998ef3972/8d7e31d71d222f19eeb9ec5998ef39724.gif)
![對(duì)稱(chēng)密碼體系課件_第5頁(yè)](http://file4.renrendoc.com/view/8d7e31d71d222f19eeb9ec5998ef3972/8d7e31d71d222f19eeb9ec5998ef39725.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二講信息安全技術(shù)第2章密碼技術(shù)基礎(chǔ)第3章對(duì)稱(chēng)密碼體系第4章公鑰密碼體系第5章公鑰基礎(chǔ)設(shè)施PKI第六章信息隱藏技術(shù)第二講信息安全技術(shù)第2章密碼技術(shù)基礎(chǔ)第三章對(duì)稱(chēng)密碼體系3.1概述3.2序列密碼(流密碼)3.3分組密碼3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)
3.5IDEA算法3.6RC5算法第三章對(duì)稱(chēng)密碼體系3.1概述3.1概述對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱(chēng)加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密。也稱(chēng)為“傳統(tǒng)加密算法”、“單密鑰加密算法”、“秘密密鑰算法”。3.1概述對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。對(duì)稱(chēng)密鑰保密體制模型注意:一個(gè)密鑰對(duì)稱(chēng)密鑰保密體制模型注意:對(duì)存儲(chǔ)信息的保護(hù)模型對(duì)存儲(chǔ)信息的保護(hù)模型對(duì)傳輸信息的保護(hù)模型對(duì)傳輸信息的保護(hù)模型優(yōu)/缺點(diǎn)優(yōu)點(diǎn):算法簡(jiǎn)單,效率高,系統(tǒng)開(kāi)銷(xiāo)小,適合加密大量數(shù)據(jù)。缺點(diǎn):(1)通信雙方都使用同樣鑰匙,安全性得不到保證,存在密鑰安全交換問(wèn)題。(2)每對(duì)用戶(hù)每次使用對(duì)稱(chēng)加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì)使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級(jí)數(shù)增長(zhǎng),密鑰管理成為用戶(hù)的負(fù)擔(dān)。優(yōu)/缺點(diǎn)優(yōu)點(diǎn):對(duì)稱(chēng)加密算法分類(lèi)(1)序列密碼(流密碼)(streamcipher)一次只對(duì)明文中的單個(gè)位(有時(shí)對(duì)字節(jié))運(yùn)算的算法稱(chēng)為序列算法或序列密碼。(2)分組密碼(blockcipher)對(duì)明文的一組位進(jìn)行運(yùn)算,這些位組稱(chēng)為分組,相應(yīng)的算法稱(chēng)為分組算法或分組密碼。對(duì)稱(chēng)加密算法分類(lèi)(1)序列密碼(流密碼)(streamc3.2序列密碼(流密碼)
(StreamCipher)序列密碼是由一種專(zhuān)業(yè)的密碼,Vernam密碼(也稱(chēng)為一次性密碼本(one-timepad)),發(fā)展而來(lái)的。具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)施、加解密處理速度快、沒(méi)有或只有有限的錯(cuò)誤傳播等特點(diǎn)。3.2序列密碼(流密碼)
(StreamCi序列密碼主要原理通過(guò)有限狀態(tài)機(jī)產(chǎn)生性能優(yōu)良的偽隨機(jī)序列,使用該序列加密信息流,(逐比特加密)得到密文序列。序列密碼主要原理通過(guò)有限狀態(tài)機(jī)產(chǎn)生性能優(yōu)良的偽隨機(jī)序列,使用加密與解密加密:解密:加密與解密加密:密鑰流生成器構(gòu)造密鑰流生成器是流密碼最核心的內(nèi)容。密鑰流生成器的目的是由一個(gè)短的隨機(jī)密鑰(也稱(chēng)實(shí)際密鑰或種子密鑰)k生成一個(gè)長(zhǎng)的密鑰流,用這個(gè)長(zhǎng)的密鑰流對(duì)明文加密或?qū)γ芪慕饷埽瑥亩挂粋€(gè)短的密鑰可用來(lái)加密更長(zhǎng)的明文或解密更長(zhǎng)的密文的目的。密鑰流生成器構(gòu)造密鑰流生成器是流密碼最核心的內(nèi)容。由于大部分密碼是基于世界上公開(kāi)的數(shù)學(xué)難題,所以造成大多數(shù)密鑰流生成器的不安全性。目前應(yīng)用最廣泛的流密碼是同步流密碼。一個(gè)同步流密碼是否具有很高的密碼強(qiáng)度主要取決于密鑰流生成器的設(shè)計(jì)。
由于大部分密碼是基于世界上公開(kāi)的數(shù)學(xué)難題,所以造成大多數(shù)密鑰序列密碼典型算法RC4算法RC4加密算法是大名鼎鼎的RSA三人組中的頭號(hào)人物RonRivest在1987年設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法簇。之所以稱(chēng)其為簇,是由于其核心部分的S-box長(zhǎng)度可為任意,但一般為256字節(jié)。該算法的速度可以達(dá)到DES加密的10倍左右。A5算法歐洲GSM標(biāo)準(zhǔn)中規(guī)定的加密算法,用于數(shù)字蜂窩移動(dòng)電話(huà)的加密,加密從用戶(hù)設(shè)備到基站之間的鏈路。A5算法包括很多種,主要為A5/1和A5/2。其中,A5/1為強(qiáng)加密算法,適用于歐洲地區(qū);A5/2為弱加密算法,適用于歐洲以外的地區(qū)。序列密碼典型算法RC4算法Seal算法IBM提出的、適合于軟件實(shí)現(xiàn)的160位流密碼算法,世界公認(rèn)的高安全加密算法。加解密速度快,比128bitAES快8倍左右。PKZIP
廣泛應(yīng)用于數(shù)據(jù)壓縮的算法,是一種按字節(jié)加密的流密碼。
Seal算法流密碼的重點(diǎn)研究方向①自同步流密碼的研究;②有記憶前饋網(wǎng)絡(luò)密碼系統(tǒng)的研究;③多輸出密碼函數(shù)的研究;④高速密碼芯片的開(kāi)發(fā);⑤同步序列密碼在失步后如何重新同步的問(wèn)題;流密碼的重點(diǎn)研究方向①自同步流密碼的研究;3.3分組密碼3.3.1分組密碼工作方式3.3.2分組密碼的設(shè)計(jì)原則3.3.3典型分組密碼算法3.3分組密碼3.3.1分組密碼工作方式3.3.1分組密碼工作方式分組密碼的工作方式:將明文分成固定長(zhǎng)度的組(塊),如64比特一組
,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長(zhǎng)度的密文。其中,明文為分組長(zhǎng)度為m比特的序列,密文為分組長(zhǎng)度為n的序列,加密與解密過(guò)程由x比特密鑰控制。3.3.1分組密碼工作方式分組密碼的工作方式:其分組密碼的優(yōu)缺點(diǎn)分組密碼主要有兩個(gè)優(yōu)點(diǎn):易于標(biāo)準(zhǔn)化易于實(shí)現(xiàn)同步一些局限性。比如:分組密碼不便于隱藏明文的數(shù)據(jù)模式,對(duì)于重放、插入、刪除等攻擊方式的抵御能力不強(qiáng)。但是通過(guò)采用流密碼的設(shè)計(jì)思想,在加密過(guò)程中采用合理的記憶組件,能夠消除這些局限性。如果在構(gòu)造分組密碼系統(tǒng)的時(shí)候直接采用分組密碼算法,則稱(chēng)這種工作模式為電碼本(ECB)模式。分組密碼的上述缺陷導(dǎo)致了這種工作模式也具有相應(yīng)的缺陷。因此,實(shí)際采用的分組密碼工作模式是對(duì)電碼本(ECB)模式的改進(jìn)。分組密碼的優(yōu)缺點(diǎn)分組密碼主要有兩個(gè)優(yōu)點(diǎn):3.3.2分組密碼的設(shè)計(jì)原則
為保證密碼的安全性,Shannon提出了混亂原則和擴(kuò)散原則:
混亂原則指的是:為了避免密碼分析者利用明文和密文之間的依賴(lài)關(guān)系進(jìn)行破譯,密碼的設(shè)計(jì)因該保證這種依賴(lài)關(guān)系足夠復(fù)雜。
擴(kuò)散原則指的是:為避免密碼分析者對(duì)密鑰逐段破譯,密碼的設(shè)計(jì)因該保證密鑰的每位數(shù)字能夠影響密文中的多位數(shù)字
在設(shè)計(jì)分組密碼時(shí),必須結(jié)合預(yù)定的實(shí)現(xiàn)方法進(jìn)行考慮
3.3.2分組密碼的設(shè)計(jì)原則為保證密碼的安全性,Shan3.3.3典型分組密碼算法DESIDEARC5SAFERBlowfishSkipjack3.3.3典型分組密碼算法DES3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法描述DES安全分析三重DES3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法描述3.4.1DES算法描述DES算法加密時(shí)把明文以64bit為單位分成塊,而后用密鑰把每一塊明文轉(zhuǎn)化成同樣64bit的密文塊。DES可提供72,000,000,000,000,000個(gè)密鑰,用每微秒可進(jìn)行一次DES加密的機(jī)器來(lái)破譯密碼需兩千年。。
3.4.1DES算法描述DES算法加密時(shí)把明文以64b1、DES歷史歷史:IBM在60年代啟動(dòng)了LUCIFER項(xiàng)目,當(dāng)時(shí)的算法采用128位密鑰改進(jìn)算法,降低為56位密鑰,IBM提交給NBS(NIST),于是產(chǎn)生DES
1977年由美國(guó)的標(biāo)準(zhǔn)化局(NBS,現(xiàn)為NIST采納)選為數(shù)據(jù)加密標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)每5年重新審查和評(píng)估一次,至今繼續(xù)64位分組、56位密鑰1、DES歷史歷史:2、DES算法步驟DES算法大致可以分成四個(gè)部分:(1)初始置換(2)迭代過(guò)程(3)逆初始置換(4)子密鑰生成2、DES算法步驟DES算法大致可以分成四個(gè)部分:①DES算法基本邏輯結(jié)構(gòu)①DES算法基本邏輯結(jié)構(gòu)結(jié)構(gòu)說(shuō)明16輪迭代:Round1~Round16每輪采用不同的密鑰:K1~K16每輪的密鑰都是從上一輪密鑰產(chǎn)生而來(lái)結(jié)構(gòu)說(shuō)明16輪迭代:Round1~Round16②迭代過(guò)程DES每一輪:Li=Ri-1Ri=Li-1F(Ri-1,Ki)②迭代過(guò)程DES每一輪:Li=Ri-1Ri=L③DES:FunctionFExpansion:3248S-box:64Permutation32bits③DES:FunctionFExpansion:32④DES:32位到48位的擴(kuò)展表—E-table32|01020304|0504|05060708|0908|09101112|1312|13141516|1716|17181920|2120|21222324|2524|25262728|2928|29303132|01比特位序號(hào)第30個(gè)位值④DES:32位到48位的擴(kuò)展表—E-table32⑤DES:S-box把Si的輸入b1,b2,b3,b4,b5,b6分成中b1b6和b2,b3,b4,b5,計(jì)算出x=b1*2+b6,y=b5+b4*2+b3*4+b2*8。然后從Si表中查出x行,y列的值Sxy。將Sxy化為二進(jìn)制,即得Si盒的輸出。⑤DES:S-box把Si的輸入b1,b2,b3,b4,bSi表Si表⑥D(zhuǎn)ES:Permutation⑥D(zhuǎn)ES:PermutationIP置換表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157(1)58表示:結(jié)果中位于第1個(gè)位置的值,等于原文中第58個(gè)位置的值(2)圖中的一格代表1bit,共有64bit,即8字節(jié)⑦DES:InitialPermutation待加密的64比特明文串m,經(jīng)過(guò)IP置換后,得到的比特串的下標(biāo)列表如下:34IP置換表5850423426181026052443628⑧DES:InverseInitialPermutation⑧DES:InverseInitialPermutat3、密鑰生成64位初始密鑰k=8位是奇偶校驗(yàn)位+56位密鑰。56位密鑰的密鑰生成16個(gè)48比特的子密鑰。其生成過(guò)程如右圖。3、密鑰生成64位初始密鑰k=8位是奇偶校驗(yàn)位+56位密鑰。PC-1置換64bits密鑰變換為56bits密鑰經(jīng)置換后的56bits密鑰分為各28bits的C0和D0。PC-1置換64bits密鑰變換為56bits密鑰經(jīng)置換后的循環(huán)左移運(yùn)算初始密鑰k經(jīng)過(guò)PC-1置換后分為C0和D0,其它的Ci和Di循環(huán)左移得到:式中i=1,2,…,16,LS是循環(huán)左移位變換,其中LS1、LS2、LS9、LS16是循環(huán)左移一位,其余的LSi是循環(huán)左移兩位。第i次密鑰循環(huán)左移運(yùn)算初始密鑰k經(jīng)過(guò)PC-1置換后分為C0和D0,其它PC-2置換首先將Ci和Di組合成56位,然后按下面表進(jìn)行置換。PC-2置換首先將Ci和Di組合成56位,然后按下面表進(jìn)行置4、解密算法
解密是加密的逆變換解密算法和加密算法相同,但是它使用的子密鑰順序是相反的:第一次是用K16,第2次迭代用K15,……最后一次用K1。4、解密算法解密是加密的逆變換5、DES加密的一個(gè)例子取16進(jìn)制明文X:0123456789ABCDEF密鑰K為:133457799BBCDFF1去掉奇偶校驗(yàn)位以二進(jìn)制形式表示的密鑰是:00010010011010010101101111001001101101111011011111111000應(yīng)用IP,我們得到:
L0=11001100000000001100110011111111
L1=R0=11110000101010101111000010101010然后進(jìn)行16輪加密。最后對(duì)L16,R16使用IP-1得到密文:85E813540F0AB4055、DES加密的一個(gè)例子取16進(jìn)制明文X:0123456786、DES的四種工作方式
第一種:電子密碼本方式(ECB)這種模式是最早采用和最簡(jiǎn)單的模式,它將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長(zhǎng)度相同,然后每組都用相同的密鑰進(jìn)行加密。DES算法中,采用該模式加密時(shí),就是將要加密的數(shù)據(jù)分成每組64位的數(shù)據(jù),如果最后一組不夠64位,那么就補(bǔ)齊為64位,然后每組數(shù)據(jù)都采用DES算法的64位密鑰進(jìn)行加密。
6、DES的四種工作方式
第一種:電子密碼本方式(ECB)ECB加密模型ECB加密模型第二種:密文分組鏈接方式(CBC)
在CBC方式下,每個(gè)明文組xi在加密前與先一組密文按位模二加后,再送到DES加密,CBC方式克服了ECB方式報(bào)內(nèi)組重的缺點(diǎn),但由于明文組加密與前一組密文有關(guān),因此前一組密文的錯(cuò)誤會(huì)傳播到下一組。第二種:密文分組鏈接方式(CBC)
在CBC方式下,每個(gè)明文CBC加密模型CBC加密模型CBC加密步驟1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到D1D2……Dn(若數(shù)據(jù)不是8的整數(shù)倍,用指定的PADDING數(shù)據(jù)補(bǔ)位)2)第一組數(shù)據(jù)D1與初始化向量I異或后的結(jié)果進(jìn)行DES加密得到第一組密文C1(初始化向量I為全零)3)第二組數(shù)據(jù)D2與第一組的加密結(jié)果C1異或以后的結(jié)果進(jìn)行DES加密,得到第二組密文C24)之后的數(shù)據(jù)以此類(lèi)推,得到Cn5)按順序連為C1C2C3……Cn即為加密結(jié)果。CBC加密步驟1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到D1CBC解密過(guò)程1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到C1C2C3……Cn2)將第一組數(shù)據(jù)進(jìn)行解密后與初始化向量I進(jìn)行異或得到第一組明文D1(注意:一定是先解密再異或)3)將第二組數(shù)據(jù)C2進(jìn)行解密后與第一組密文數(shù)據(jù)進(jìn)行異或得到第二組數(shù)據(jù)D24)之后依此類(lèi)推,得到Dn5)按順序連為D1D2D3……Dn即為解密結(jié)果。CBC解密過(guò)程1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到C1第三種:密文反饋方式(CFB)
將少量遞增的純文本加密成密碼文本,而不是一次處理整個(gè)塊。該模式使用在長(zhǎng)度上為一個(gè)塊且被分為幾部分的移位寄存器。例如,如果塊大小為8個(gè)字節(jié),并且每次處理一個(gè)字節(jié),則移位寄存器被分為8個(gè)部分。如果密碼文本中有一個(gè)位出錯(cuò),則一個(gè)純文本位出錯(cuò),并且移位寄存器損壞。這將導(dǎo)致接下來(lái)若干次遞增的純文本出錯(cuò),直到出錯(cuò)位從移位寄存器中移出為止。第三種:密文反饋方式(CFB)
CFB加密模型CFB加密模型CFB解密模型CFB解密模型第四種:輸出反饋方式(OFB)
將少量遞增的純文本處理成密碼文本,而不是一次處理整個(gè)塊。此模式與CFB相似。與CFB唯一不同的是OFB是直接取DES輸出的t個(gè)比特,而不是取密文的t個(gè)比特,其余都與CFB相同。但它取的是DES的輸出,所以它克服了CFB的密文錯(cuò)誤傳播的缺點(diǎn)。第四種:輸出反饋方式(OFB)
3.4.2DES安全分析DES的安全性取決于密鑰的保密
,與算法無(wú)關(guān)。主要表現(xiàn)在:密鑰的互補(bǔ)性、弱密鑰與半弱密鑰、密文-明文相關(guān)性、密文-密鑰相關(guān)性、S盒的設(shè)計(jì)、密鑰搜索等。對(duì)DES的攻擊方法:
(1)窮舉攻擊
(2)差分密碼分析(3)線性密碼分析3.4.2DES安全分析DES的安全性取決于密鑰的保密,不同條件下DES攻擊時(shí)間的預(yù)測(cè)攻擊者類(lèi)型密鑰長(zhǎng)度個(gè)人攻擊小組攻擊院校網(wǎng)絡(luò)攻擊大公司軍事情報(bào)機(jī)構(gòu)計(jì)算資源(假設(shè))1臺(tái)高性能計(jì)算機(jī)16臺(tái)高性能計(jì)算機(jī)256臺(tái)高性能計(jì)算機(jī)大型機(jī)(百萬(wàn)美元級(jí))大型機(jī)(百萬(wàn)美元級(jí))及先進(jìn)攻擊技術(shù)40bit數(shù)周數(shù)日數(shù)小時(shí)數(shù)毫秒數(shù)微秒56bit數(shù)百年數(shù)十年數(shù)年數(shù)小時(shí)數(shù)秒鐘64bit數(shù)千年數(shù)百年數(shù)十年數(shù)日數(shù)分鐘80bit不可能不可能不可能數(shù)百年數(shù)百年128bit不可能不可能不可能不可能數(shù)千年不同條件下DES攻擊時(shí)間的預(yù)測(cè)攻擊者類(lèi)型個(gè)人攻擊小組攻擊3.4.3三重DESDES的唯一密碼學(xué)缺點(diǎn)就是密鑰長(zhǎng)度較短。解決密鑰長(zhǎng)度的問(wèn)題的辦法之一是采用三重DES。三重DES由Tuchman于1979年提出,使用了168bits密鑰。1985年成為金融應(yīng)用標(biāo)準(zhǔn),1999年并入美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究局的數(shù)據(jù)加密標(biāo)準(zhǔn)。三重DES方法需要執(zhí)行三次常規(guī)的DES加密步驟。其算法步驟:①用密鑰進(jìn)行DES加密;②用步驟①的結(jié)果使用密鑰進(jìn)行DES解密③用步驟②的結(jié)果使用密鑰進(jìn)行DES加密3.4.3三重DESDES的唯一密碼學(xué)缺點(diǎn)就是密鑰長(zhǎng)度較三重DES示意圖三重DES示意圖三重DES加密:設(shè)K1、K2、K3是三個(gè)長(zhǎng)度為56的密鑰,給定明文m,則密文為:解密:給定密文c,則明文為:56三重DES加密:56三重DES說(shuō)明三重DES的加密次序:考慮兼容性;當(dāng)K1=K2=K3,三重DES退化為單重DES;當(dāng)K1=K3,密鑰長(zhǎng)度為112bits。三重DES說(shuō)明三重DES的加密次序:考慮兼容性;3.5IDEA算法IDEAInternationDataEncryptionAlgorithm可用于加密和解密,一個(gè)非常成功的分組密碼,并廣泛的應(yīng)用在安全電子郵件PGP中。主要有三種運(yùn)算:異或、模加、模乘,容易用軟件和硬件來(lái)實(shí)現(xiàn)583.5IDEA算法IDEA581、IDEA算法歷史由中國(guó)學(xué)者來(lái)學(xué)嘉博士和著名的密碼專(zhuān)家
James
L.
Massey
于1990年聯(lián)合提出的,91年修訂,92公布細(xì)節(jié)128位密鑰,64位分組設(shè)計(jì)目標(biāo)可從兩個(gè)方面考慮加密強(qiáng)度易實(shí)現(xiàn)性1、IDEA算法歷史由中國(guó)學(xué)者來(lái)學(xué)嘉博士和著名的密碼專(zhuān)家
2、IDEA
算法框架2、IDEA
算法框架IDEA總共進(jìn)行8輪迭代操作,每輪需要6個(gè)子密鑰,另外還需要4個(gè)額外子密鑰,所以總共需要52個(gè)子密鑰,這52個(gè)子密鑰都是從128位密鑰中擴(kuò)展出來(lái)的。IDEA總共進(jìn)行8輪迭代操作,每輪需要6個(gè)子密鑰,另外還需要異或運(yùn)算()整數(shù)模216加(+)整數(shù)模216+1乘()(IDEA的S盒)擴(kuò)散由稱(chēng)為MA結(jié)構(gòu)的算法基本構(gòu)件提供。3、IDEA運(yùn)算MA盒子異或運(yùn)算()3、IDEA運(yùn)算MA盒子4、IDEA每一輪4、IDEA每一輪64IDEA的各輪都相同的結(jié)構(gòu),但所用的子密鑰和輪輸入不同。從結(jié)構(gòu)圖可見(jiàn),IDEA不是傳統(tǒng)的Feistel密碼結(jié)構(gòu)。每輪開(kāi)始時(shí)有一個(gè)變換,該變換的輸入是4個(gè)子段和4個(gè)子密鑰,變換中的運(yùn)算是兩個(gè)乘法和兩個(gè)加法,輸出的4個(gè)子段經(jīng)過(guò)異或運(yùn)算形成了兩個(gè)16比特的子段作為MA結(jié)構(gòu)的輸入。MA結(jié)構(gòu)也有兩個(gè)輸入的子密鑰,輸出是兩個(gè)16比特的子段。5、IDEA的輪結(jié)構(gòu)64IDEA的各輪都相同的結(jié)構(gòu),但所用的子密鑰和輪輸入不同。65加密過(guò)程由連續(xù)的8輪迭代和一個(gè)輸出變換組成,算法將64比特的明文分組分成4個(gè)16比特的子段,每輪迭代以4個(gè)16比特的子段作為輸入,輸出也為4個(gè)16比特的子段。最后的輸出變換也產(chǎn)生4個(gè)16比特的子段,鏈接起來(lái)后形成64比特的密文分組。每輪迭代還需使用6個(gè)16比特的子密鑰,最后的輸出變換需使用4個(gè)16比特的子密鑰,所以子密鑰總數(shù)為52。6.IDEA加密過(guò)程65加密過(guò)程由連續(xù)的8輪迭代和一個(gè)輸出變換組成,算法將64比66算法框架的右半部分表示由初始的128比特密鑰產(chǎn)生52個(gè)子密鑰的子密鑰產(chǎn)生器。
最后,變換的4個(gè)輸出子段和MA結(jié)構(gòu)的兩個(gè)輸出子段經(jīng)過(guò)異或運(yùn)算產(chǎn)生這一輪的4個(gè)輸出子段。注意,由X2產(chǎn)生的輸出子段和由X3產(chǎn)生的輸出子段交換位置后形成Wi2和Wi3,目的在于進(jìn)一步增加混淆效果,使得算法更易抵抗差分密碼分析。IDEA加密過(guò)程(續(xù))66算法框架的右半部分表示由初始的128比特密鑰產(chǎn)生52個(gè)子67在每一輪中,執(zhí)行的順序如下:1.X1和第一個(gè)子密鑰相乘。2.X2和第二個(gè)子密鑰相加。3.X3和第三個(gè)子密鑰相加。4.X4和第四個(gè)子密鑰相乘。5.將第1步和第3步的結(jié)果相異或。6.將第2步和第4步的結(jié)果相異或。7、IDEA每一輪的加密順序67在每一輪中,執(zhí)行的順序如下:7、IDEA每一輪的加密順序687.將第5步的結(jié)果與第五個(gè)子密鑰相乘。8.將第6步和第7步的結(jié)果相加。9.將第8步的結(jié)果與第六個(gè)子密鑰相乘。10.將第7步和第9步的結(jié)果相加。11.將第1步和第9步的結(jié)果相異或。12.將第3步和第9步的結(jié)果相異或。13.將第2步和第10步的結(jié)果相異或。14.將第4步和第10步的結(jié)果相異或。IDEA每一輪的加密順序(續(xù)1)687.將第5步的結(jié)果與第五個(gè)子密鑰相乘。IDEA每一輪的69
算法的第9步是一個(gè)輸出變換。它的結(jié)構(gòu)和每一輪開(kāi)始的變換結(jié)構(gòu)一樣,不同之處在于輸出變換的第2個(gè)和第3個(gè)輸入首先交換了位置,目的在于撤銷(xiāo)第8輪輸出中兩個(gè)子段的交換。還需注意,第9步僅需4個(gè)子密鑰,而前面8輪中每輪需要6個(gè)子密鑰。IDEA每一輪的加密順序(續(xù)2)69算法的第9步是一個(gè)輸出變換。它的結(jié)構(gòu)和每一輪開(kāi)8、IDEA輸出變換階段8、IDEA輸出變換階段9、IDEA的安全性①窮舉法攻擊IDEA的密匙空間(密匙長(zhǎng)度)是128位,用十進(jìn)制表示所有可能的密匙個(gè)數(shù)將是一個(gè)天文數(shù)字:340,282,366,920,938,463,463,374,607,431,768,211,456.
為了試探出一個(gè)特定的密匙,平均要試探一半上面的可能性。即使你用了十億臺(tái)每秒鐘能夠試探十億個(gè)密匙的計(jì)算機(jī),所需的時(shí)間也比目前所知的宇宙的年齡要長(zhǎng),而即使是在當(dāng)代制造每秒試探十億個(gè)密匙的計(jì)算機(jī)還是不可能的。②差分密碼分析已證明IDEA算法在其8輪迭代的第4圈之后便不受差分密碼分析的影響了③線性分析④弱密鑰
9、IDEA的安全性①窮舉法攻擊3.6RC5算法
Ron.Rivest于1994年設(shè)計(jì)的一種新的分組算法,1995年正式公開(kāi)。它的前身RC2、RC4分別是可變密鑰長(zhǎng)度的分組和流加密算法。RC5是可變密文長(zhǎng)度、可變輪數(shù)、可變密鑰長(zhǎng)度的分組加密算法。3.6RC5算法Ron.Rivest于1994年設(shè)計(jì)的一1、算法特點(diǎn)RC5加密算法的特點(diǎn)有:基本運(yùn)算是微處理器上常見(jiàn)的初等運(yùn)算字的位數(shù)作為RC5的參數(shù)安全性依賴(lài)于旋轉(zhuǎn)運(yùn)算和不同運(yùn)算的混合存儲(chǔ)要求低,適合在智能卡上實(shí)現(xiàn)輪數(shù)和密鑰長(zhǎng)度可以變化RC5算法由密鑰擴(kuò)展算法、加密算法、解密算法組成。1、算法特點(diǎn)RC5加密算法的特點(diǎn)有:2、RC5的參數(shù)RC5實(shí)際上是由三個(gè)參數(shù)決定的一族加密算法。一個(gè)特定的RC5表示為
RC5-w/r/b,data=2w2、RC5的參數(shù)RC5實(shí)際上是由三個(gè)參數(shù)決定的一族加密算法2、RC5的參數(shù)(續(xù))Rivest建議使用的標(biāo)注RC5為
RC5-32/12/16明文分組32位的字,長(zhǎng)度64位加密輪數(shù)12密鑰長(zhǎng)度128bits2、RC5的參數(shù)(續(xù))Rivest建議使用的標(biāo)注RC5為3、三個(gè)基本運(yùn)算三個(gè)基本運(yùn)算字的加法模2w+按位異或⊕左循環(huán)移位<<<3、三個(gè)基本運(yùn)算三個(gè)基本運(yùn)算4、RC5密鑰擴(kuò)展
RC5采用t=2r+2個(gè)子密鑰字,每個(gè)密鑰的長(zhǎng)度為一個(gè)字長(zhǎng)(wbits)。子密鑰存儲(chǔ)在數(shù)組S[i],i=0..t-1中s[0],s[1],…,s[t-1]它為w×t矩陣對(duì)給定的密鑰K來(lái)說(shuō),經(jīng)過(guò)一些復(fù)合運(yùn)算可產(chǎn)生總數(shù)為t的字密鑰,使得每一輪都分配一對(duì)密鑰。除此之外的非輪運(yùn)算部分也要分配一對(duì)密鑰。4、RC5密鑰擴(kuò)展RC5采用t=2r+2個(gè)子密鑰字,每個(gè)初始化混合轉(zhuǎn)換s[0]S[1]
S[t-1]……L[0]L[1]L[c-1]……K[0]K[1]……K[b-1]S[0]S[1]……S[t-1]r,wByteswordswords步驟初始化混合轉(zhuǎn)換s[0]S[1]S[t-1]……L[0]說(shuō)明1將參數(shù)r,w輸入,左面標(biāo)出的t-字陣列是一些偽隨機(jī)bit,按r,w的規(guī)格選入的。然后把b-bytes長(zhǎng)的密鑰K[0,…,b-1]轉(zhuǎn)換成c-字陣列L[0,…,c-1](字的bit數(shù)為w,這里c=b×8/w;注意:密鑰長(zhǎng)度為b個(gè)字節(jié))。如果b不是w的整數(shù)倍,那么L右端的空位用0填入。下面描述密鑰生成的細(xì)節(jié):說(shuō)明1將參數(shù)r,w輸入,左面標(biāo)出的t-字陣列是一些偽隨機(jī)bi對(duì)于給定的參數(shù)r和w,開(kāi)始初始化運(yùn)算
Pw=Odd((e-2)2w)Qw=Odd((Φ-1)2w)這里
e=2.718281828459…(自然對(duì)數(shù)的底)
Φ=1.618033988749…(黃金分割比率)并且Odd[x]表示最接近x且可左可右的奇整數(shù)。例:Odd[e]=3,Odd[Φ]=1用上述兩個(gè)常數(shù),按下述方式得到初始化的陣列S:S[0]=PwFori=1tot-1do S[i]=S[i-1]+Qw
其中的加法是模2w的加法運(yùn)算。說(shuō)明2對(duì)于給定的參數(shù)r和w,開(kāi)始初始化運(yùn)算說(shuō)明2
得到初始化陣列S,然后與最后產(chǎn)生的密鑰陣列L做混合,最終得到子密鑰陣列。注1*.為了增強(qiáng)復(fù)雜性,可對(duì)陣列S,L做多次處理:
i=j=x=y=0do3×max(t,c)times:{S[i]=(S[i]+X+Y)<<<3;
X=S[i];i=(i+1)(modt);L[j]=(L[j]+X+Y)<<<(X+Y);
Y=L[j];j=(j+1)(modc);}2*.Rivest聲稱(chēng),這個(gè)擴(kuò)張函數(shù)具有單向性。說(shuō)明3得到初始化陣列S,然后與最后產(chǎn)生的密鑰陣列L5、加解密運(yùn)算圖5、加解密運(yùn)算圖6、加密算法加密:將明文分組為左右A,B;用變量LEi,REi參與運(yùn)算程序?yàn)椋?/p>
LE0=A+S[0]RE0=B+S[1]fori=1tordoLEi=((LEi-1⊕REi-1)<<<REi-1)+S[2×i];REi=((REi-1⊕LEi)<<<LEi)+S[2×i+1];每一輪相當(dāng)DES的兩輪,移位是算法中唯一的非線性部分6、加密算法加密:將明文分組為左右A,B;用變量LEi,RE7、解密算法對(duì)兩個(gè)1-字變量LDr和RDr。用變量LDi和RDi從r到1做:
fori=rdownto1doRDi-1=((RDi-S[2*i+1]>>>LDi)⊕LDi);LDi-1=((LDi-S[2*i]>>>RDi-1)⊕RDi-1);B=RD0-S[1];A=LD0-S[0].7、解密算法對(duì)兩個(gè)1-字變量LDr和RDr。用變量LDi和R8、RC5運(yùn)行模式RFC2040定義了RC5的4種運(yùn)行模式RC5BlockCipher,isECBmodeRC5-CBC,isCBCmodeRC5-CBC-PAD,isCBCwithpaddingbybyteswithvaluebeingthenumberofpaddingbytesRC5-CTS,avariantofCBCwhichisthesamesizeastheoriginalmessage,usesciphertextstealingtokeepsizesameasoriginal8、RC5運(yùn)行模式RFC2040定義了RC5的4種運(yùn)行9、RC5的安全性①RC5的安全主要依賴(lài)循環(huán)移位操作和不同運(yùn)算的混合使用。②逐位異或操作與mod2w加法操作存在漏洞。③5輪迭代后的統(tǒng)計(jì)特性相當(dāng)好。④56位密鑰的RC5算法已被攻破。9、RC5的安全性①RC5的安全主要依賴(lài)循環(huán)移位操作和不同運(yùn)思考題
1、分組密碼設(shè)計(jì)原則應(yīng)考慮哪些問(wèn)題?2、試述DES算法的加密過(guò)程。3、在DES數(shù)據(jù)加密標(biāo)準(zhǔn)中,設(shè)主密鑰K(64位)為:
K=00000001*00100011*01000101*01100111*10001001*10101011*11001101*11101111*
其中帶*號(hào)為奇偶校驗(yàn)位,分別求出:
(1)經(jīng)過(guò)PC-1選定后的C0、D0(56位)結(jié)果;
(2)經(jīng)循環(huán)左移LS1=1位后的C1、D1結(jié)果;
(3)由C1、D1再經(jīng)PC-2選擇后的K1(48位)結(jié)果。4、DES算法中,密鑰的生成主要分幾步?5、試分析DES的安全性。思考題
1、分組密碼設(shè)計(jì)原則應(yīng)考慮哪些問(wèn)題?6、簡(jiǎn)述DES的四種加密方式。7、簡(jiǎn)述三重DES的加密過(guò)程。8、簡(jiǎn)述分組密碼設(shè)計(jì)的兩個(gè)原則及其目的。9、典型的流密碼算法有哪些?10、典型的分組密碼算法有哪些?11、試簡(jiǎn)述攻擊DES的方法。6、簡(jiǎn)述DES的四種加密方式。結(jié)束結(jié)束ClaudeElwoodShannon克勞德?艾爾伍德?香農(nóng)(1916-2001):anAmericanelectronicengineerandmathematician,is“thefatherofinformationtheory”。/wiki/Claude_ShannonClaudeElwoodShannon克勞德?艾爾伍德窮舉攻擊窮舉攻擊——窮舉各種可能性的攻擊。窮舉攻擊可用于任何分組密碼,攻擊的復(fù)雜性只依賴(lài)于分組長(zhǎng)度和密鑰長(zhǎng)度。窮舉攻擊窮舉攻擊——窮舉各種可能性的攻擊。窮舉攻擊可用于任何差分密碼分析差分分析是以色列密碼學(xué)家Biham和Shamir于1991年提出的一種分析方法。其基本思想是:通過(guò)分析明文對(duì)的差值對(duì)密文對(duì)的差值的影響來(lái)恢復(fù)某些密鑰比特。差分密碼分析最初是針對(duì)DES提出的一種攻擊方法,雖然差分密碼分析方法未能破譯16-輪的DES,但是用它破譯輪數(shù)低的DES是很成功的。差分密碼分析有許多的推廣方法,如截段差分密碼分析、高階差分密碼分析、不可能差分密碼分析等。BihamEli,ShamirAdi;DifferentialCryptanalysitofFealandN-hash[M];LectureNotesinComputerScience;1991年差分密碼分析差分分析是以色列密碼學(xué)家Biham和Shamir線性密碼分析線形分析是Matsui和Yamagishi于1992年提出的一種攻擊方法?;舅枷耄和ㄟ^(guò)尋找一個(gè)給定密碼算法的有效的線性近似表達(dá)式來(lái)破譯密碼系統(tǒng)。本質(zhì)是一種已知明文攻擊方法。這種方法可用于243個(gè)已知明文破譯8輪DES。MitsuruMatsui,AtsuhiroYamagishi:ANewMethodforKnownPlaintextAttackofFEALCipher.EUROCRYPT1992:81–91線性密碼分析線形分析是Matsui和Yamagishi于19弱密鑰弱密鑰(Weakkey)是指因?yàn)樗莫?dú)特?cái)?shù)
學(xué)特性能夠被很容易破壞的密碼密鑰。DES
只有四個(gè)弱密鑰和
12
個(gè)次弱密鑰,
而
IDEA
中的弱密鑰數(shù)相當(dāng)可觀,有
2
的
51
次方個(gè)。弱密鑰弱密鑰(Weakkey)是指因?yàn)樗莫?dú)特?cái)?shù)第二講之第3章對(duì)稱(chēng)密碼體系課件第二講信息安全技術(shù)第2章密碼技術(shù)基礎(chǔ)第3章對(duì)稱(chēng)密碼體系第4章公鑰密碼體系第5章公鑰基礎(chǔ)設(shè)施PKI第六章信息隱藏技術(shù)第二講信息安全技術(shù)第2章密碼技術(shù)基礎(chǔ)第三章對(duì)稱(chēng)密碼體系3.1概述3.2序列密碼(流密碼)3.3分組密碼3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)
3.5IDEA算法3.6RC5算法第三章對(duì)稱(chēng)密碼體系3.1概述3.1概述對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱(chēng)加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密。也稱(chēng)為“傳統(tǒng)加密算法”、“單密鑰加密算法”、“秘密密鑰算法”。3.1概述對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。對(duì)稱(chēng)密鑰保密體制模型注意:一個(gè)密鑰對(duì)稱(chēng)密鑰保密體制模型注意:對(duì)存儲(chǔ)信息的保護(hù)模型對(duì)存儲(chǔ)信息的保護(hù)模型對(duì)傳輸信息的保護(hù)模型對(duì)傳輸信息的保護(hù)模型優(yōu)/缺點(diǎn)優(yōu)點(diǎn):算法簡(jiǎn)單,效率高,系統(tǒng)開(kāi)銷(xiāo)小,適合加密大量數(shù)據(jù)。缺點(diǎn):(1)通信雙方都使用同樣鑰匙,安全性得不到保證,存在密鑰安全交換問(wèn)題。(2)每對(duì)用戶(hù)每次使用對(duì)稱(chēng)加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì)使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級(jí)數(shù)增長(zhǎng),密鑰管理成為用戶(hù)的負(fù)擔(dān)。優(yōu)/缺點(diǎn)優(yōu)點(diǎn):對(duì)稱(chēng)加密算法分類(lèi)(1)序列密碼(流密碼)(streamcipher)一次只對(duì)明文中的單個(gè)位(有時(shí)對(duì)字節(jié))運(yùn)算的算法稱(chēng)為序列算法或序列密碼。(2)分組密碼(blockcipher)對(duì)明文的一組位進(jìn)行運(yùn)算,這些位組稱(chēng)為分組,相應(yīng)的算法稱(chēng)為分組算法或分組密碼。對(duì)稱(chēng)加密算法分類(lèi)(1)序列密碼(流密碼)(streamc3.2序列密碼(流密碼)
(StreamCipher)序列密碼是由一種專(zhuān)業(yè)的密碼,Vernam密碼(也稱(chēng)為一次性密碼本(one-timepad)),發(fā)展而來(lái)的。具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)施、加解密處理速度快、沒(méi)有或只有有限的錯(cuò)誤傳播等特點(diǎn)。3.2序列密碼(流密碼)
(StreamCi序列密碼主要原理通過(guò)有限狀態(tài)機(jī)產(chǎn)生性能優(yōu)良的偽隨機(jī)序列,使用該序列加密信息流,(逐比特加密)得到密文序列。序列密碼主要原理通過(guò)有限狀態(tài)機(jī)產(chǎn)生性能優(yōu)良的偽隨機(jī)序列,使用加密與解密加密:解密:加密與解密加密:密鑰流生成器構(gòu)造密鑰流生成器是流密碼最核心的內(nèi)容。密鑰流生成器的目的是由一個(gè)短的隨機(jī)密鑰(也稱(chēng)實(shí)際密鑰或種子密鑰)k生成一個(gè)長(zhǎng)的密鑰流,用這個(gè)長(zhǎng)的密鑰流對(duì)明文加密或?qū)γ芪慕饷埽瑥亩挂粋€(gè)短的密鑰可用來(lái)加密更長(zhǎng)的明文或解密更長(zhǎng)的密文的目的。密鑰流生成器構(gòu)造密鑰流生成器是流密碼最核心的內(nèi)容。由于大部分密碼是基于世界上公開(kāi)的數(shù)學(xué)難題,所以造成大多數(shù)密鑰流生成器的不安全性。目前應(yīng)用最廣泛的流密碼是同步流密碼。一個(gè)同步流密碼是否具有很高的密碼強(qiáng)度主要取決于密鑰流生成器的設(shè)計(jì)。
由于大部分密碼是基于世界上公開(kāi)的數(shù)學(xué)難題,所以造成大多數(shù)密鑰序列密碼典型算法RC4算法RC4加密算法是大名鼎鼎的RSA三人組中的頭號(hào)人物RonRivest在1987年設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法簇。之所以稱(chēng)其為簇,是由于其核心部分的S-box長(zhǎng)度可為任意,但一般為256字節(jié)。該算法的速度可以達(dá)到DES加密的10倍左右。A5算法歐洲GSM標(biāo)準(zhǔn)中規(guī)定的加密算法,用于數(shù)字蜂窩移動(dòng)電話(huà)的加密,加密從用戶(hù)設(shè)備到基站之間的鏈路。A5算法包括很多種,主要為A5/1和A5/2。其中,A5/1為強(qiáng)加密算法,適用于歐洲地區(qū);A5/2為弱加密算法,適用于歐洲以外的地區(qū)。序列密碼典型算法RC4算法Seal算法IBM提出的、適合于軟件實(shí)現(xiàn)的160位流密碼算法,世界公認(rèn)的高安全加密算法。加解密速度快,比128bitAES快8倍左右。PKZIP
廣泛應(yīng)用于數(shù)據(jù)壓縮的算法,是一種按字節(jié)加密的流密碼。
Seal算法流密碼的重點(diǎn)研究方向①自同步流密碼的研究;②有記憶前饋網(wǎng)絡(luò)密碼系統(tǒng)的研究;③多輸出密碼函數(shù)的研究;④高速密碼芯片的開(kāi)發(fā);⑤同步序列密碼在失步后如何重新同步的問(wèn)題;流密碼的重點(diǎn)研究方向①自同步流密碼的研究;3.3分組密碼3.3.1分組密碼工作方式3.3.2分組密碼的設(shè)計(jì)原則3.3.3典型分組密碼算法3.3分組密碼3.3.1分組密碼工作方式3.3.1分組密碼工作方式分組密碼的工作方式:將明文分成固定長(zhǎng)度的組(塊),如64比特一組
,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長(zhǎng)度的密文。其中,明文為分組長(zhǎng)度為m比特的序列,密文為分組長(zhǎng)度為n的序列,加密與解密過(guò)程由x比特密鑰控制。3.3.1分組密碼工作方式分組密碼的工作方式:其分組密碼的優(yōu)缺點(diǎn)分組密碼主要有兩個(gè)優(yōu)點(diǎn):易于標(biāo)準(zhǔn)化易于實(shí)現(xiàn)同步一些局限性。比如:分組密碼不便于隱藏明文的數(shù)據(jù)模式,對(duì)于重放、插入、刪除等攻擊方式的抵御能力不強(qiáng)。但是通過(guò)采用流密碼的設(shè)計(jì)思想,在加密過(guò)程中采用合理的記憶組件,能夠消除這些局限性。如果在構(gòu)造分組密碼系統(tǒng)的時(shí)候直接采用分組密碼算法,則稱(chēng)這種工作模式為電碼本(ECB)模式。分組密碼的上述缺陷導(dǎo)致了這種工作模式也具有相應(yīng)的缺陷。因此,實(shí)際采用的分組密碼工作模式是對(duì)電碼本(ECB)模式的改進(jìn)。分組密碼的優(yōu)缺點(diǎn)分組密碼主要有兩個(gè)優(yōu)點(diǎn):3.3.2分組密碼的設(shè)計(jì)原則
為保證密碼的安全性,Shannon提出了混亂原則和擴(kuò)散原則:
混亂原則指的是:為了避免密碼分析者利用明文和密文之間的依賴(lài)關(guān)系進(jìn)行破譯,密碼的設(shè)計(jì)因該保證這種依賴(lài)關(guān)系足夠復(fù)雜。
擴(kuò)散原則指的是:為避免密碼分析者對(duì)密鑰逐段破譯,密碼的設(shè)計(jì)因該保證密鑰的每位數(shù)字能夠影響密文中的多位數(shù)字
在設(shè)計(jì)分組密碼時(shí),必須結(jié)合預(yù)定的實(shí)現(xiàn)方法進(jìn)行考慮
3.3.2分組密碼的設(shè)計(jì)原則為保證密碼的安全性,Shan3.3.3典型分組密碼算法DESIDEARC5SAFERBlowfishSkipjack3.3.3典型分組密碼算法DES3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法描述DES安全分析三重DES3.4DES數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法描述3.4.1DES算法描述DES算法加密時(shí)把明文以64bit為單位分成塊,而后用密鑰把每一塊明文轉(zhuǎn)化成同樣64bit的密文塊。DES可提供72,000,000,000,000,000個(gè)密鑰,用每微秒可進(jìn)行一次DES加密的機(jī)器來(lái)破譯密碼需兩千年。。
3.4.1DES算法描述DES算法加密時(shí)把明文以64b1、DES歷史歷史:IBM在60年代啟動(dòng)了LUCIFER項(xiàng)目,當(dāng)時(shí)的算法采用128位密鑰改進(jìn)算法,降低為56位密鑰,IBM提交給NBS(NIST),于是產(chǎn)生DES
1977年由美國(guó)的標(biāo)準(zhǔn)化局(NBS,現(xiàn)為NIST采納)選為數(shù)據(jù)加密標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)每5年重新審查和評(píng)估一次,至今繼續(xù)64位分組、56位密鑰1、DES歷史歷史:2、DES算法步驟DES算法大致可以分成四個(gè)部分:(1)初始置換(2)迭代過(guò)程(3)逆初始置換(4)子密鑰生成2、DES算法步驟DES算法大致可以分成四個(gè)部分:①DES算法基本邏輯結(jié)構(gòu)①DES算法基本邏輯結(jié)構(gòu)結(jié)構(gòu)說(shuō)明16輪迭代:Round1~Round16每輪采用不同的密鑰:K1~K16每輪的密鑰都是從上一輪密鑰產(chǎn)生而來(lái)結(jié)構(gòu)說(shuō)明16輪迭代:Round1~Round16②迭代過(guò)程DES每一輪:Li=Ri-1Ri=Li-1F(Ri-1,Ki)②迭代過(guò)程DES每一輪:Li=Ri-1Ri=L③DES:FunctionFExpansion:3248S-box:64Permutation32bits③DES:FunctionFExpansion:32④DES:32位到48位的擴(kuò)展表—E-table32|01020304|0504|05060708|0908|09101112|1312|13141516|1716|17181920|2120|21222324|2524|25262728|2928|29303132|01比特位序號(hào)第30個(gè)位值④DES:32位到48位的擴(kuò)展表—E-table32⑤DES:S-box把Si的輸入b1,b2,b3,b4,b5,b6分成中b1b6和b2,b3,b4,b5,計(jì)算出x=b1*2+b6,y=b5+b4*2+b3*4+b2*8。然后從Si表中查出x行,y列的值Sxy。將Sxy化為二進(jìn)制,即得Si盒的輸出。⑤DES:S-box把Si的輸入b1,b2,b3,b4,bSi表Si表⑥D(zhuǎn)ES:Permutation⑥D(zhuǎn)ES:PermutationIP置換表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157(1)58表示:結(jié)果中位于第1個(gè)位置的值,等于原文中第58個(gè)位置的值(2)圖中的一格代表1bit,共有64bit,即8字節(jié)⑦DES:InitialPermutation待加密的64比特明文串m,經(jīng)過(guò)IP置換后,得到的比特串的下標(biāo)列表如下:129IP置換表5850423426181026052443628⑧DES:InverseInitialPermutation⑧DES:InverseInitialPermutat3、密鑰生成64位初始密鑰k=8位是奇偶校驗(yàn)位+56位密鑰。56位密鑰的密鑰生成16個(gè)48比特的子密鑰。其生成過(guò)程如右圖。3、密鑰生成64位初始密鑰k=8位是奇偶校驗(yàn)位+56位密鑰。PC-1置換64bits密鑰變換為56bits密鑰經(jīng)置換后的56bits密鑰分為各28bits的C0和D0。PC-1置換64bits密鑰變換為56bits密鑰經(jīng)置換后的循環(huán)左移運(yùn)算初始密鑰k經(jīng)過(guò)PC-1置換后分為C0和D0,其它的Ci和Di循環(huán)左移得到:式中i=1,2,…,16,LS是循環(huán)左移位變換,其中LS1、LS2、LS9、LS16是循環(huán)左移一位,其余的LSi是循環(huán)左移兩位。第i次密鑰循環(huán)左移運(yùn)算初始密鑰k經(jīng)過(guò)PC-1置換后分為C0和D0,其它PC-2置換首先將Ci和Di組合成56位,然后按下面表進(jìn)行置換。PC-2置換首先將Ci和Di組合成56位,然后按下面表進(jìn)行置4、解密算法
解密是加密的逆變換解密算法和加密算法相同,但是它使用的子密鑰順序是相反的:第一次是用K16,第2次迭代用K15,……最后一次用K1。4、解密算法解密是加密的逆變換5、DES加密的一個(gè)例子取16進(jìn)制明文X:0123456789ABCDEF密鑰K為:133457799BBCDFF1去掉奇偶校驗(yàn)位以二進(jìn)制形式表示的密鑰是:00010010011010010101101111001001101101111011011111111000應(yīng)用IP,我們得到:
L0=11001100000000001100110011111111
L1=R0=11110000101010101111000010101010然后進(jìn)行16輪加密。最后對(duì)L16,R16使用IP-1得到密文:85E813540F0AB4055、DES加密的一個(gè)例子取16進(jìn)制明文X:0123456786、DES的四種工作方式
第一種:電子密碼本方式(ECB)這種模式是最早采用和最簡(jiǎn)單的模式,它將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長(zhǎng)度相同,然后每組都用相同的密鑰進(jìn)行加密。DES算法中,采用該模式加密時(shí),就是將要加密的數(shù)據(jù)分成每組64位的數(shù)據(jù),如果最后一組不夠64位,那么就補(bǔ)齊為64位,然后每組數(shù)據(jù)都采用DES算法的64位密鑰進(jìn)行加密。
6、DES的四種工作方式
第一種:電子密碼本方式(ECB)ECB加密模型ECB加密模型第二種:密文分組鏈接方式(CBC)
在CBC方式下,每個(gè)明文組xi在加密前與先一組密文按位模二加后,再送到DES加密,CBC方式克服了ECB方式報(bào)內(nèi)組重的缺點(diǎn),但由于明文組加密與前一組密文有關(guān),因此前一組密文的錯(cuò)誤會(huì)傳播到下一組。第二種:密文分組鏈接方式(CBC)
在CBC方式下,每個(gè)明文CBC加密模型CBC加密模型CBC加密步驟1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到D1D2……Dn(若數(shù)據(jù)不是8的整數(shù)倍,用指定的PADDING數(shù)據(jù)補(bǔ)位)2)第一組數(shù)據(jù)D1與初始化向量I異或后的結(jié)果進(jìn)行DES加密得到第一組密文C1(初始化向量I為全零)3)第二組數(shù)據(jù)D2與第一組的加密結(jié)果C1異或以后的結(jié)果進(jìn)行DES加密,得到第二組密文C24)之后的數(shù)據(jù)以此類(lèi)推,得到Cn5)按順序連為C1C2C3……Cn即為加密結(jié)果。CBC加密步驟1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到D1CBC解密過(guò)程1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到C1C2C3……Cn2)將第一組數(shù)據(jù)進(jìn)行解密后與初始化向量I進(jìn)行異或得到第一組明文D1(注意:一定是先解密再異或)3)將第二組數(shù)據(jù)C2進(jìn)行解密后與第一組密文數(shù)據(jù)進(jìn)行異或得到第二組數(shù)據(jù)D24)之后依此類(lèi)推,得到Dn5)按順序連為D1D2D3……Dn即為解密結(jié)果。CBC解密過(guò)程1)首先將數(shù)據(jù)按照8個(gè)字節(jié)一組進(jìn)行分組得到C1第三種:密文反饋方式(CFB)
將少量遞增的純文本加密成密碼文本,而不是一次處理整個(gè)塊。該模式使用在長(zhǎng)度上為一個(gè)塊且被分為幾部分的移位寄存器。例如,如果塊大小為8個(gè)字節(jié),并且每次處理一個(gè)字節(jié),則移位寄存器被分為8個(gè)部分。如果密碼文本中有一個(gè)位出錯(cuò),則一個(gè)純文本位出錯(cuò),并且移位寄存器損壞。這將導(dǎo)致接下來(lái)若干次遞增的純文本出錯(cuò),直到出錯(cuò)位從移位寄存器中移出為止。第三種:密文反饋方式(CFB)
CFB加密模型CFB加密模型CFB解密模型CFB解密模型第四種:輸出反饋方式(OFB)
將少量遞增的純文本處理成密碼文本,而不是一次處理整個(gè)塊。此模式與CFB相似。與CFB唯一不同的是OFB是直接取DES輸出的t個(gè)比特,而不是取密文的t個(gè)比特,其余都與CFB相同。但它取的是DES的輸出,所以它克服了CFB的密文錯(cuò)誤傳播的缺點(diǎn)。第四種:輸出反饋方式(OFB)
3.4.2DES安全分析DES的安全性取決于密鑰的保密
,與算法無(wú)關(guān)。主要表現(xiàn)在:密鑰的互補(bǔ)性、弱密鑰與半弱密鑰、密文-明文相關(guān)性、密文-密鑰相關(guān)性、S盒的設(shè)計(jì)、密鑰搜索等。對(duì)DES的攻擊方法:
(1)窮舉攻擊
(2)差分密碼分析(3)線性密碼分析3.4.2DES安全分析DES的安全性取決于密鑰的保密,不同條件下DES攻擊時(shí)間的預(yù)測(cè)攻擊者類(lèi)型密鑰長(zhǎng)度個(gè)人攻擊小組攻擊院校網(wǎng)絡(luò)攻擊大公司軍事情報(bào)機(jī)構(gòu)計(jì)算資源(假設(shè))1臺(tái)高性能計(jì)算機(jī)16臺(tái)高性能計(jì)算機(jī)256臺(tái)高性能計(jì)算機(jī)大型機(jī)(百萬(wàn)美元級(jí))大型機(jī)(百萬(wàn)美元級(jí))及先進(jìn)攻擊技術(shù)40bit數(shù)周數(shù)日數(shù)小時(shí)數(shù)毫秒數(shù)微秒56bit數(shù)百年數(shù)十年數(shù)年數(shù)小時(shí)數(shù)秒鐘64bit數(shù)千年數(shù)百年數(shù)十年數(shù)日數(shù)分鐘80bit不可能不可能不可能數(shù)百年數(shù)百年128bit不可能不可能不可能不可能數(shù)千年不同條件下DES攻擊時(shí)間的預(yù)測(cè)攻擊者類(lèi)型個(gè)人攻擊小組攻擊3.4.3三重DESDES的唯一密碼學(xué)缺點(diǎn)就是密鑰長(zhǎng)度較短。解決密鑰長(zhǎng)度的問(wèn)題的辦法之一是采用三重DES。三重DES由Tuchman于1979年提出,使用了168bits密鑰。1985年成為金融應(yīng)用標(biāo)準(zhǔn),1999年并入美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究局的數(shù)據(jù)加密標(biāo)準(zhǔn)。三重DES方法需要執(zhí)行三次常規(guī)的DES加密步驟。其算法步驟:①用密鑰進(jìn)行DES加密;②用步驟①的結(jié)果使用密鑰進(jìn)行DES解密③用步驟②的結(jié)果使用密鑰進(jìn)行DES加密3.4.3三重DESDES的唯一密碼學(xué)缺點(diǎn)就是密鑰長(zhǎng)度較三重DES示意圖三重DES示意圖三重DES加密:設(shè)K1、K2、K3是三個(gè)長(zhǎng)度為56的密鑰,給定明文m,則密文為:解密:給定密文c,則明文為:151三重DES加密:56三重DES說(shuō)明三重DES的加密次序:考慮兼容性;當(dāng)K1=K2=K3,三重DES退化為單重DES;當(dāng)K1=K3,密鑰長(zhǎng)度為112bits。三重DES說(shuō)明三重DES的加密次序:考慮兼容性;3.5IDEA算法IDEAInternationDataEncryptionAlgorithm可用于加密和解密,一個(gè)非常成功的分組密碼,并廣泛的應(yīng)用在安全電子郵件PGP中。主要有三種運(yùn)算:異或、模加、模乘,容易用軟件和硬件來(lái)實(shí)現(xiàn)1533.5IDEA算法IDEA581、IDEA算法歷史由中國(guó)學(xué)者來(lái)學(xué)嘉博士和著名的密碼專(zhuān)家
James
L.
Massey
于1990年聯(lián)合提出的,91年修訂,92公布細(xì)節(jié)128位密鑰,64位分組設(shè)計(jì)目標(biāo)可從兩個(gè)方面考慮加密強(qiáng)度易實(shí)現(xiàn)性1、IDEA算法歷史由中國(guó)學(xué)者來(lái)學(xué)嘉博士和著名的密碼專(zhuān)家
2、IDEA
算法框架2、IDEA
算法框架IDEA總共進(jìn)行8輪迭代操作,每輪需要6個(gè)子密鑰,另外還需要4個(gè)額外子密鑰,所以總共需要52個(gè)子密鑰,這52個(gè)子密鑰都是從128位密鑰中擴(kuò)展出來(lái)的。IDEA總共進(jìn)行8輪迭代操作,每輪需要6個(gè)子密鑰,另外還需要異或運(yùn)算()整數(shù)模216加(+)整數(shù)模216+1乘()(IDEA的S盒)擴(kuò)散由稱(chēng)為MA結(jié)構(gòu)的算法基本構(gòu)件提供。3、IDEA運(yùn)算MA盒子異或運(yùn)算()3、IDEA運(yùn)算MA盒子4、IDEA每一輪4、IDEA每一輪159IDEA的各輪都相同的結(jié)構(gòu),但所用的子密鑰和輪輸入不同。從結(jié)構(gòu)圖可見(jiàn),IDEA不是傳統(tǒng)的Feistel密碼結(jié)構(gòu)。每輪開(kāi)始時(shí)有一個(gè)變換,該變換的輸入是4個(gè)子段和4個(gè)子密鑰,變換中的運(yùn)算是兩個(gè)乘法和兩個(gè)加法,輸出的4個(gè)子段經(jīng)過(guò)異或運(yùn)算形成了兩個(gè)16比特的子段作為MA結(jié)構(gòu)的輸入。MA結(jié)構(gòu)也有兩個(gè)輸入的子密鑰,輸出是兩個(gè)16比特的子段。5、IDEA的輪結(jié)構(gòu)64IDEA的各輪都相同的結(jié)構(gòu),但所用的子密鑰和輪輸入不同。160加密過(guò)程由連續(xù)的8輪迭代和一個(gè)輸出變換組成,算法將64比特的明文分組分成4個(gè)16比特的子段,每輪迭代以4個(gè)16比特的子段作為輸入,輸出也為4個(gè)16比特的子段。最后的輸出變換也產(chǎn)生4個(gè)16比特的子段,鏈接起來(lái)后形成64比特的密文分組。每輪迭代還需使用6個(gè)16比特的子密鑰,最后的輸出變換需使用4個(gè)16比特的子密鑰,所以子密鑰總數(shù)為52。6.IDEA加密過(guò)程65加密過(guò)程由連續(xù)的8輪迭代和一個(gè)輸出變換組成,算法將64比161算法框架的右半部分表示由初始的128比特密鑰產(chǎn)生52個(gè)子密鑰的子密鑰產(chǎn)生器。
最后,變換的4個(gè)輸出子段和MA結(jié)構(gòu)的兩個(gè)輸出子段經(jīng)過(guò)異或運(yùn)算產(chǎn)生這一輪的4個(gè)輸出子段。注意,由X2產(chǎn)生的輸出子段和由X3產(chǎn)生的輸出子段交換位置后形成Wi2和Wi3,目的在于進(jìn)一步增加混淆效果,使得算法更易抵抗差分密碼分析。IDEA加密過(guò)程(續(xù))66算法框架的右半部分表示由初始的128比特密鑰產(chǎn)生52個(gè)子162在每一輪中,執(zhí)行的順序如下:1.X1和第一個(gè)子密鑰相乘。2.X2和第二個(gè)子密鑰相加。3.X3和第三個(gè)子密鑰相加。4.X4和第四個(gè)子密鑰相乘。5.將第1步和第3步的結(jié)果相異或。6.將第2步和第4步的結(jié)果相異或。7、IDEA每一輪的加密順序67在每一輪中,執(zhí)行的順序如下:7、IDEA每一輪的加密順序1637.將第5步的結(jié)果與第五個(gè)子密鑰相乘。8.將第6步和第7步的結(jié)果相加。9.將第8步的結(jié)果與第六個(gè)子密鑰相乘。10.將第7步和第9步的結(jié)果相加。11.將第1步和第9步的結(jié)果相異或。12.將第3步和第9步的結(jié)果相異或。13.將第2步和第10步的結(jié)果相異或。14.將第4步和第10步的結(jié)果相異或。IDEA每一輪的加密順序(續(xù)1)687.將第5步的結(jié)果與第五個(gè)子密鑰相乘。IDEA每一輪的164
算法的第9步是一個(gè)輸出變換。它的結(jié)構(gòu)和每一輪開(kāi)始的變換結(jié)構(gòu)一樣,不同之處在于輸出變換的第2個(gè)和第3個(gè)輸入首先交換了位置,目的在于撤銷(xiāo)第8輪輸出中兩個(gè)子段的交換。還需注意,第9步僅需4個(gè)子密鑰,而前面8輪中每輪需要6個(gè)子密鑰。IDEA每一輪的加密順序(續(xù)2)69算法的第9步是一個(gè)輸出變換。它的結(jié)構(gòu)和每一輪開(kāi)8、IDEA輸出變換階段8、IDEA輸出變換階段9、IDEA的安全性①窮舉法攻擊IDEA的密匙空間(密匙長(zhǎng)度)是128位,用十進(jìn)制表示所有可能的密匙個(gè)數(shù)將是一個(gè)天文數(shù)字:340,282,366,920,938,463,463,374,607,431,768,211,456.
為了試探出一個(gè)特定的密匙,平均要試探一半上面的可能性。即使你用了十億臺(tái)每秒鐘能夠試探十億個(gè)密匙的計(jì)算機(jī),所需的時(shí)間也比目前所知的宇宙的年齡要長(zhǎng),而即使是在當(dāng)代制造每秒試探十億個(gè)密匙的計(jì)算機(jī)還是不可能的。②差分密碼分析已證明IDEA算法在其8輪迭代的第4圈之后便不受差分密碼分析的影響了③線性分析④弱密鑰
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力工程承包協(xié)議書(shū)
- 2024-2025學(xué)年高中化學(xué)專(zhuān)題4硫氮和可持續(xù)發(fā)展第二單元生產(chǎn)生活中的含氮化合物第2課時(shí)氮肥的生產(chǎn)和使用學(xué)案含解析蘇教版必修1
- 2024-2025學(xué)年高中物理第二章1第1節(jié)電源和電流練習(xí)含解析新人教版選修3-1
- 項(xiàng)目經(jīng)理年度總結(jié)
- 的委托書(shū)代收案款
- 行政總監(jiān)年度工作總結(jié)
- 2025年年度政治思想工作總結(jié)
- 小學(xué)四年級(jí)暑假學(xué)習(xí)計(jì)劃
- 房地產(chǎn)項(xiàng)目聯(lián)合開(kāi)發(fā)協(xié)議書(shū)范本
- 焦作新材料職業(yè)學(xué)院《證券投資進(jìn)階實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 科技計(jì)劃項(xiàng)目申報(bào)培訓(xùn)
- 591食堂不合格食品處置制度
- 產(chǎn)業(yè)鏈鏈長(zhǎng)分工表
- 國(guó)際金融課件(完整版)
- 導(dǎo)向標(biāo)識(shí)系統(tǒng)設(shè)計(jì)(一)課件
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
- 黑布林繪本 Dad-for-Sale 出售爸爸課件
- 京東方頂崗實(shí)習(xí)報(bào)告1
- 超全六年級(jí)陰影部分的面積(詳細(xì)答案)
評(píng)論
0/150
提交評(píng)論