資源描述:
《對(duì)稱密碼學(xué)及其應(yīng)用 第4章 典型分組密碼算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第四章典型分組密碼算法DES算法IDEA算法RC5算法AES算法DES算法DES的歷史1971IBM,由HorstFeistel領(lǐng)導(dǎo)的密碼研究項(xiàng)目組研究出LUCIFER算法。并應(yīng)用于商業(yè)領(lǐng)域。1973美國(guó)標(biāo)準(zhǔn)局征求標(biāo)準(zhǔn),IBM提交結(jié)果,在1977年,被選為數(shù)據(jù)加密標(biāo)準(zhǔn)。DES利用56比特串長(zhǎng)度的密鑰K來加密長(zhǎng)度為64位的明文,得到長(zhǎng)度為64位的密文DES的描述該算法主要步驟:將64位明文分組送入初始置換(IP,InitialPermutation)函數(shù)。對(duì)明文進(jìn)行初始置換。初始置換產(chǎn)生轉(zhuǎn)換塊的兩半,假設(shè)為左明文(LPT)和右明文(RPT)。每個(gè)左明文與右明文用各自的密鑰經(jīng)過16輪加密過程。
2、將左明文與右明文重接起來,對(duì)組成的塊進(jìn)行最終置換(FP,F(xiàn)inalPermutation)。這個(gè)過程的結(jié)果得到64位密文。DES主要步驟IP-初始置換最終轉(zhuǎn)換(FP)DES的一輪異或與交換DES輪函數(shù)F()DES加密的一個(gè)例子取16進(jìn)制明文X:0123456789ABCDEF密鑰K為:133457799BBCDFF1去掉奇偶校驗(yàn)位以二進(jìn)制形式表示的密鑰是00010010011010010101101111001001101101111011011111111000應(yīng)用IP,我們得到:L0=11001100000000001100110011111111L1=R0=111100001010
3、10101111000010101010然后進(jìn)行16輪加密。最后對(duì)L16,R16使用IP-1得到密文:85E813540F0AB405DES的設(shè)計(jì)思想和特點(diǎn)DES的核心是S盒,除此之外的計(jì)算是屬線性的。S盒作為該密碼體制的非線性組件對(duì)安全性至關(guān)重要。S盒的設(shè)計(jì)準(zhǔn)則:1.S盒不是它輸入變量的線性函數(shù)2.改變S盒的一個(gè)輸入位至少要引起兩位的輸出改變3.對(duì)任何一個(gè)S盒,如果固定一個(gè)輸入比特,其它輸入變化時(shí),輸出數(shù)字中0和1的總數(shù)近于相等。DES的安全性對(duì)DES的批評(píng)主要集中在以下幾點(diǎn):DES的密鑰長(zhǎng)度(56位)可能太小。DES的迭代次數(shù)可能太少。S盒中可能有不安全因素。DES的一些關(guān)鍵部分不
4、應(yīng)當(dāng)保密。3DESIDEA簡(jiǎn)介瑞士的XuejiaLai和JamesMassey于1990年公布了IDEA密碼算法第一版,稱為PES(ProposedEncryptionStandard)。為抗擊差分密碼攻擊,他們?cè)鰪?qiáng)了算法的強(qiáng)度,稱IPES(ImprovedPES),并于1992年改名為IDEA(InternationalDataEncryptionAlgorithm,國(guó)際數(shù)據(jù)加密算法。)IDEA(Cont.)IDEA是一個(gè)分組長(zhǎng)度為64位的分組密碼算法,密鑰長(zhǎng)度為128位(抗強(qiáng)力攻擊能力比DES強(qiáng)),同一算法既可加密也可解密。IDEA的“混淆”和“擴(kuò)散”設(shè)計(jì)原則來自三種運(yùn)算,它們易于軟、
5、硬件實(shí)現(xiàn)(加密速度快):IDEA簡(jiǎn)介(Cont.)IDEA是PGP的一部分;IDEA能抗差分分析和相關(guān)分析;IDEA似乎沒有DES意義下的弱密鑰;BruceSchneier認(rèn)為IDEA是DES的最好替代,但問題是IDEA太新,許多問題沒解決。IDEA簡(jiǎn)介(Cont.)異或運(yùn)算()整數(shù)模216加(+)整數(shù)模216+1乘()(IDEA的S盒)擴(kuò)散由稱為MA結(jié)構(gòu)的算法基本構(gòu)件提供。Z6F2F1Z5G1G2IDEA簡(jiǎn)介(Cont.)實(shí)現(xiàn)上的考慮使用子分組:16bit的子分組;使用簡(jiǎn)單操作(易于加法、移位等操作實(shí)現(xiàn))加密解密過程類似;規(guī)則的結(jié)構(gòu)(便于VLSI實(shí)現(xiàn))。IDEA加密的總體方案圖循環(huán)2循環(huán)
6、8循環(huán)1輸出變換64位密文64位明文Z1Z6Z7Z12Z43Z48Z49Z52子密鑰生成器128位密鑰Z1Z5216IDEA的密鑰生產(chǎn)56個(gè)16bit的子密鑰從128bit的密鑰中生成前8個(gè)子密鑰直接從密鑰中取出;對(duì)密鑰進(jìn)行25bit的循環(huán)左移,接下來的密鑰就從中取出;重復(fù)進(jìn)行直到52個(gè)子密鑰都產(chǎn)生出來。IDEA的解密加密解密實(shí)質(zhì)相同,但使用不同的密鑰;解密密鑰以如下方法從加密子密鑰中導(dǎo)出:解密循環(huán)I的頭4個(gè)子密鑰從加密循環(huán)10-I的頭4個(gè)子密鑰中導(dǎo)出;解密密鑰第1、4個(gè)子密鑰對(duì)應(yīng)于1、4加密子密鑰的乘法逆元;2、3對(duì)應(yīng)2、3的加法逆元;對(duì)前8個(gè)循環(huán)來說,循環(huán)I的最后兩個(gè)子密鑰等于加密循環(huán)
7、9-I的最后兩個(gè)子密鑰;RC5加密算法作者為RonRivest算法特點(diǎn)三個(gè)參數(shù)參數(shù)w:表示字長(zhǎng),RC5加密兩字長(zhǎng)分組,可用值為16、32、64參數(shù)r:表示輪數(shù),可用值0,1,…,255參數(shù)b:表示密鑰K的字節(jié)數(shù),可用值0,1,…,255RC5版本:RC5-w/r/b算法作者建議標(biāo)定版本為RC5-32/12/16RC5加密算法三個(gè)基本運(yùn)算字的加法,模2w+按位異或⊕左循環(huán)移位<<<算法:A=A+S[0];B=B+S[1];