資源描述:
《分組密碼分組密碼的工作模式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、分組密碼:分組密碼的工作模式《現(xiàn)代密碼學(xué)》第4章(3)1本節(jié)主要內(nèi)容1、分組密碼的工作模式2、BlockModesECB,CBC3、StreamModesCFB,OFB2分組密碼在加密時(shí),明文分組的長(zhǎng)度是固定的,而實(shí)際應(yīng)用中待加密消息的數(shù)據(jù)量是不定的,數(shù)據(jù)格式可能是多種多樣的。為了能在各種應(yīng)用場(chǎng)合使用DES,美國(guó)在FIPSPUS74和81中定義了DES的4種運(yùn)行模式,如表3.5所示。這些模式也可用于其他分組密碼,下面以DES為例來(lái)介紹這4種模式。(見(jiàn)49頁(yè)表3.5)分組密碼的運(yùn)行模式3分組密碼工
2、作模式分組密碼加密固定長(zhǎng)度的年信息,eg.DES加密64-bit,使用56-bitkey需要一種使用方法,加密任意長(zhǎng)度的消息,這種使用方法叫做工作模式ModeofUse對(duì)于DES,定義了4種模式(inANSIstandardANSIX3.106-1983ModesofUse)四種模式:BlockModesECB,CBCStreamModesCFB,OFB4ECB(electroniccodebook)模式是最簡(jiǎn)單的運(yùn)行模式,它一次對(duì)一個(gè)64比特長(zhǎng)的明文分組加密,而且每次的加密密鑰都相同,如圖4.
3、10所示。當(dāng)密鑰取定時(shí),對(duì)明文的每一個(gè)分組,都有一個(gè)惟一的密文與之對(duì)應(yīng)。因此形象地說(shuō),可以認(rèn)為有一個(gè)非常大的電碼本,對(duì)任意一個(gè)可能的明文分組,電碼本中都有一項(xiàng)對(duì)應(yīng)于它的密文。1.電碼本(ECB)模式5DES加密第1次DES加密第2次KKDES加密第2次K加密1.電碼本(ECB)模式6DES加密第1次DES加密第2次KKDES加密第2次K解密1.電碼本(ECB)模式7ECB模式示意圖8如果消息長(zhǎng)于64比特,則將其分為長(zhǎng)為64比特的分組,最后一個(gè)分組如果不夠64比特,則需要填充。解密過(guò)程也是一次對(duì)一
4、個(gè)分組解密,而且每次解密都使用同一密鑰。圖4.10中,明文是由分組長(zhǎng)為64比特的分組序列P1,P2,…,PN構(gòu)成,相應(yīng)的密文分組序列是C1,C2,…,CN。1.電碼本(ECB)模式9ECB在用于短數(shù)據(jù)(如加密密鑰)時(shí)非常理想,因此如果需要安全地傳遞DES密鑰,ECB是最合適的模式。ECB的最大特性是同一明文分組在消息中重復(fù)出現(xiàn)的話,產(chǎn)生的密文分組也相同。1.電碼本(ECB)模式10ECB的優(yōu)勢(shì)與局限相同的明文對(duì)于相同的密文結(jié)構(gòu)化明文消息有重復(fù)部分主要用于發(fā)送少數(shù)量的分組數(shù)據(jù)11ECB用于長(zhǎng)消息時(shí)
5、可能不夠安全,如果消息有固定結(jié)構(gòu),密碼分析者有可能找出這種關(guān)系。例如,如果已知消息總是以某個(gè)預(yù)定義字段開(kāi)始,那么分析者就可能得到很多明文密文對(duì)。如果消息有重復(fù)的元素而重復(fù)的周期是64的倍數(shù),那么密碼分析者就能夠識(shí)別這些元素。以上這些特性都有助于密碼分析者,有可能為其提供對(duì)分組的代換或重排的機(jī)會(huì)。1.電碼本(ECB)模式12為了解決ECB的安全缺陷,可以讓重復(fù)的明文分組產(chǎn)生不同的密文分組,CBC(cipherblockchaining)模式就可滿(mǎn)足這一要求。圖4.11是CBC模式示意圖,它一次對(duì)
6、一個(gè)明文分組加密,每次加密使用同一密鑰,加密算法的輸入是當(dāng)前明文分組和前一次密文分組的異或,因此加密算法的輸入不會(huì)顯示出與這次的明文分組之間的固定關(guān)系,所以重復(fù)的明文分組不會(huì)在密文中暴露出這種重復(fù)關(guān)系。2.密碼分組鏈接(CBC)模式132.密碼分組鏈接(CBC)模式加密x1IV=y0DES加密C1Kx2C2Kx3C3KDES加密DES加密14CBC模式解密DES解密KC1IV=y0P1DES解密KC2P2DES解密KC3P32.密碼分組鏈接(CBC)模式15CBC模式示意圖16解密時(shí),每一個(gè)密文
7、分組被解密后,再與前一個(gè)密文分組異或,即(設(shè))因而產(chǎn)生出明文分組。2.密碼分組鏈接(CBC)模式17在產(chǎn)生第1個(gè)密文分組時(shí),需要有一個(gè)初始向量IV與第1個(gè)明文分組異或。解密時(shí),IV和解密算法對(duì)第1個(gè)密文分組的輸出進(jìn)行異或以恢復(fù)第1個(gè)明文分組。IV對(duì)于收發(fā)雙方都應(yīng)是已知的,為使安全性最高,IV應(yīng)像密鑰一樣被保護(hù),可使用ECB加密模式來(lái)發(fā)送IV。保護(hù)IV的原因如下:2.密碼分組鏈接(CBC)模式18如果敵手能欺騙接收方使用不同的IV值,敵手就能夠在明文的第1個(gè)分組中插入自己選擇的比特值,這是因?yàn)椋河?/p>
8、X(i)表示64比特分組X的第i個(gè)比特,那么,由異或的性質(zhì)得其中撇號(hào)表示比特補(bǔ)。2.密碼分組鏈接(CBC)模式19上式意味著如果敵手篡改IV中的某些比特,則接收方收到的P1中相應(yīng)的比特也發(fā)生了變化。由于CBC模式的鏈接機(jī)制,CBC模式對(duì)加密長(zhǎng)于64比特的消息非常合適。CBC模式除能夠獲得保密性外,還能用于認(rèn)證。2.密碼分組鏈接(CBC)模式20消息分成模塊加密是相互聯(lián)系的密文與明文聯(lián)結(jié)利用一個(gè)初始向量開(kāi)始:Ci=DESK1(PiXORCi-1)C-1=IV適合加密長(zhǎng)度大于64比特的消息還可以用來(lái)