![密碼學(xué)-信息安全概論課件_第1頁](http://file4.renrendoc.com/view/d8c81c605625d6f72b920f8891103f0a/d8c81c605625d6f72b920f8891103f0a1.gif)
![密碼學(xué)-信息安全概論課件_第2頁](http://file4.renrendoc.com/view/d8c81c605625d6f72b920f8891103f0a/d8c81c605625d6f72b920f8891103f0a2.gif)
![密碼學(xué)-信息安全概論課件_第3頁](http://file4.renrendoc.com/view/d8c81c605625d6f72b920f8891103f0a/d8c81c605625d6f72b920f8891103f0a3.gif)
![密碼學(xué)-信息安全概論課件_第4頁](http://file4.renrendoc.com/view/d8c81c605625d6f72b920f8891103f0a/d8c81c605625d6f72b920f8891103f0a4.gif)
![密碼學(xué)-信息安全概論課件_第5頁](http://file4.renrendoc.com/view/d8c81c605625d6f72b920f8891103f0a/d8c81c605625d6f72b920f8891103f0a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
密碼學(xué)基礎(chǔ)2計(jì)算機(jī)學(xué)院信息安全課題組 信息安全概論 信息安全概論1
回顧上次課的內(nèi)容對(duì)稱密碼的兩個(gè)基本運(yùn)算代替和置換(Substitution&permutation)對(duì)稱密碼分析的兩個(gè)基本方法系統(tǒng)分析法(統(tǒng)計(jì)分析法)窮舉法對(duì)稱密碼的兩個(gè)基本設(shè)計(jì)原則:混亂和擴(kuò)散密碼分析攻擊的方式
回顧上次課的內(nèi)容對(duì)稱密碼的兩個(gè)基本運(yùn)算2討論議題分組密碼的操作模式實(shí)用中數(shù)據(jù)格式的多樣性安全的工作模式分組密碼的分析方法現(xiàn)代常規(guī)分組加密算法TripleDESRC5、RC6AES……加密的位置:鏈路方式和端到端的方式討論議題分組密碼的操作模式3分組密碼的操作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)美國(guó)NSB在[FIPSPUB74和81]中規(guī)定ANSI在[ANSIX3.106]中規(guī)定ISO和ISO/IEC在[ISO9732ISO/IEC10116]中規(guī)定分組密碼的操作模式電子密碼本ECB(electronic4電子密碼本(ECB)Ci=EK(Pi)Pi=DK(Ci)電子密碼本(ECB)Ci=EK(Pi)Pi=D5ECB特點(diǎn)簡(jiǎn)單和有效可以并行實(shí)現(xiàn)不能隱藏明文的模式信息相同明文相同密文同樣信息多次出現(xiàn)造成泄漏對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對(duì)應(yīng)明文塊損壞適合于傳輸短信息ECB特點(diǎn)簡(jiǎn)單和有效6密碼分組鏈接CBCCi=EK(Ci-1Pi)Pi=EK(Ci)Ci-1密碼分組鏈接CBCCi=EK(Ci-1Pi)Pi=E7CBC特點(diǎn)沒有已知的并行實(shí)現(xiàn)算法能隱藏明文的模式信息需要共同的初始化向量IV相同明文不同密文初始化向量IV可以用來改變第一塊對(duì)明文的主動(dòng)攻擊是不容易的信息塊不容易被替換、重排、刪除、重放誤差傳遞:密文塊損壞兩明文塊損壞安全性好于ECB適合于傳輸長(zhǎng)度大于64位的報(bào)文,還可以進(jìn)行用戶鑒別,是大多系統(tǒng)的標(biāo)準(zhǔn)如SSL、IPSecCBC特點(diǎn)沒有已知的并行實(shí)現(xiàn)算法8密碼反饋CFBCFB:分組密碼流密碼Si為移位寄存器,j為流單元寬度
加密:Ci=Pi(EK(Si)的高j位)Si+1=(Si<<j)|Ci解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|Ci
密碼反饋CFBCFB:分組密碼流密碼9
CFB加密示意圖Ci=Pi(EK(Si)的高j位);Si+1=(Si<<j)|Ci
CFB加密示意圖Ci=Pi(EK(Si)的高j位);10
CFB解密示意圖Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|Ci
CFB解密示意圖Pi=Ci(EK(Si)的高j位);11CFB特點(diǎn)分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV對(duì)于不同的消息,IV必須唯一誤差傳遞:一個(gè)單元損壞影響多個(gè)單元
CFB特點(diǎn)分組密碼流密碼12輸出反饋OFBOFB:分組密碼流密碼Si為移位寄存器,j為流單元寬度
加密:Ci=Pi(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)輸出反饋OFBOFB:分組密碼流密碼13
OFB加密示意圖Ci=Pi(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)OFB加密示意圖Ci=Pi(EK(Si)的高j位);14
OFB解密示意圖Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)OFB解密示意圖Pi=Ci(EK(Si)的高j位);S15OFB特點(diǎn)OFB:分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV誤差傳遞:一個(gè)單元損壞只影響對(duì)應(yīng)單元對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放安全性較CFB差OFB特點(diǎn)OFB:分組密碼流密碼16運(yùn)行模式總結(jié)種類有無反饋有無并行算法P=>C影響C=>P影響結(jié)構(gòu)相關(guān)性主動(dòng)攻擊有無IV安全性ECBCBCCFBOFB運(yùn)行模式總結(jié)種類有無有無并行算法P=>C影響C=>P影響結(jié)構(gòu)17分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊分為以下幾類:唯密文攻擊已知明文攻擊選擇明文攻擊攻擊的復(fù)雜度數(shù)據(jù)復(fù)雜度:實(shí)施該攻擊所需輸入的數(shù)據(jù)量處理復(fù)雜度:處理這些數(shù)據(jù)所需要的計(jì)算量分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊18分組密碼的典型攻擊方法最可靠的攻擊辦法:強(qiáng)力攻擊最有效的攻擊:差分密碼分析,通過分析明文對(duì)的差值對(duì)密文對(duì)的差值的影響來恢復(fù)某些密鑰比特.線性密碼分析:本質(zhì)上是一種已知明文攻擊方法,通過尋找一個(gè)給定密碼算法的有效的線性近似表達(dá)式來破譯密碼系統(tǒng)插值攻擊方法密鑰相關(guān)攻擊分組密碼的典型攻擊方法最可靠的攻擊辦法:強(qiáng)力攻擊19現(xiàn)代常規(guī)分組加密算法一種是對(duì)DES進(jìn)行復(fù)合,強(qiáng)化它的抗攻擊能力;另一種是開辟新的方法,即象DES那樣加解密速度快,又具有抗差分攻擊和其他方式攻擊的能力?,F(xiàn)代常規(guī)分組加密算法一種是對(duì)DES進(jìn)20現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES其他一些較實(shí)用的算法,如Blowfish,CAST,以及RC2?,F(xiàn)代常規(guī)分組加密算法1.TripleDES211.TRIPLEDES由于已經(jīng)證明DES不能成為群,見K.W.CampbellandM.J.WienerProofthatDESisnotagroupInAdvancesinCryptology——Crpto’92.Springer-Verlag,NewYork,1993.于是多重DES,尤其是三重DES還在普遍使用。1.TRIPLEDES由于已經(jīng)證明DES不能成為群,22雙重DES(DoubleDES)
C=EK2(EK1(P))P=DK1(DK2(C))
雙重DES(DoubleDES)
C=EK2(EK23雙重DES的討論假設(shè)對(duì)于DES和所有56比特密鑰,給定任意兩個(gè)密鑰K1和K2,都能找到一個(gè)密鑰K3使得EK2(EK1(P))=EK3(P)。如果這個(gè)假設(shè)是事實(shí),則DES的兩重加密或者多重加密都將等價(jià)于用一個(gè)56比特密鑰的一次加密。
從直觀上看,上面的假設(shè)不可能為真。因?yàn)镈ES的加密事實(shí)上就是做一個(gè)從64比特分組到一個(gè)64分組的置換,而64比特分組共有264可能的狀態(tài),因而可能的置換個(gè)數(shù)為另一方面,DES的每個(gè)密鑰確定了一個(gè)置換,因而總的置換個(gè)數(shù)為。直到1992年才有人證明了這個(gè)結(jié)果。雙重DES的討論假設(shè)對(duì)于DES和所有56比特密鑰,給定任意24中間相遇(meet-in-the-middle)攻擊
C=EK2(EK1(P))X=EK1(P)=DK2(C)給定明文密文對(duì)(P,C)對(duì)所有256個(gè)密鑰,加密P,對(duì)結(jié)果排序?qū)λ?56個(gè)密鑰,解密C,對(duì)結(jié)果排序逐個(gè)比較,找出K1,K2使得EK1(P)=DK2(C)中間相遇(meet-in-the-middle)攻擊
C=25對(duì)雙重DES的中間相遇攻擊的分析已知,給定一個(gè)明文P,經(jīng)二重DES加密有264個(gè)可能的密文。而二重DES所用密鑰的長(zhǎng)度應(yīng)是112bits,所以選擇密鑰有2112個(gè)可能性。于是對(duì)給定一個(gè)明文P加密成一定的密文方式有2112/264=248種可能。給定兩個(gè)明密文對(duì),虛警率降為248-64=2-16。換句話說,對(duì)已知2個(gè)明文-密文對(duì)的中間相遇攻擊成功的概率為1-2-16。攻擊用的代價(jià){加密或解密所用運(yùn)算次數(shù)}≦2256需要大量的存儲(chǔ)器:256
64=1017字節(jié)=230*232對(duì)雙重DES的中間相遇攻擊的分析已知,給定一個(gè)明文P,經(jīng)二重26Triple-DES的四種模型DES-EEE3:三個(gè)不同密鑰,順序使用三次加密算法DES-EDE3:三個(gè)不同密鑰,依次使用加密-解密-加密算法DES-EEE2:K1=K3,同上DES-EDE2:K1=K3,同上Triple-DES的四種模型DES-EEE3:三個(gè)不同密鑰27雙密鑰的三重DES
(TripleDESwithTwoKeys)C=EK1(DK2(EK1(P)))P=DK1(EK2(DK1(C)))雙密鑰的三重DES
(TripleDESwithTwo28對(duì)雙密鑰的三重DES的分析-i該模式由IBM設(shè)計(jì),可與常規(guī)加密算法兼容這種替代DES的加密較為流行并且已被采納用于密鑰管理標(biāo)準(zhǔn)(TheKeyManagerStandardsANSX9.17和ISO8732).交替使用K1和K2可以抵抗中間相遇攻擊.如果C=EK2(EK1(EK1(P))),只需要256+2次加密到目前為止,還沒有人給出攻擊三重DES的有效方法。對(duì)其密鑰空間中密鑰進(jìn)行蠻干搜索,那么由于空間太大為2112=5×1033,這實(shí)際上是不可行的。若用差分攻擊的方法,相對(duì)于單一DES來說復(fù)雜性以指數(shù)形式增長(zhǎng),要超過1052。對(duì)雙密鑰的三重DES的分析-i該模式由IBM設(shè)計(jì),可與常規(guī)29對(duì)雙密鑰的三重DES的分析-ii目前還沒有針對(duì)兩個(gè)密鑰三重DES的實(shí)用攻擊方法。但對(duì)兩個(gè)密鑰三重DES的攻擊有一些設(shè)想,以這些設(shè)想為基礎(chǔ)將來可能設(shè)計(jì)出更成功的攻擊技術(shù)。
MerkleR.andHellman,M.“Onthesecurityofmultipleencryption”.CommunicationoftheACM,July1981Oorschot,PandWiener,M.“AKnown-plaintextattackontwo-keytripleencryption”Proceedings,EUROCrypt’90,1990:publishedbySpringer-Verlag對(duì)雙密鑰的三重DES的分析-ii目前還沒有針對(duì)兩個(gè)密鑰三重D30三密鑰的三重DES
(TripleDESwithThreeKeys)C=EK3(DK2(EK1(P)))P=DK3(EK2(DK1(C)))三密鑰的三重DES
(TripleDESwithThr31三密鑰的三重DES分析密鑰的有效長(zhǎng)度為168位與DES的兼容性可以通過令K3=K2或K1=K2得到許多基于Internet的應(yīng)用里用到:PGP和S/MIME三密鑰的三重DES分析密鑰的有效長(zhǎng)度為168位32現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES33國(guó)際數(shù)據(jù)加密IDEA(InternationalDataEncryptionAlgorithm)算法1990年瑞士聯(lián)邦技術(shù)學(xué)院的來學(xué)嘉和Massey提出,PES,91年修訂,92公布細(xì)節(jié)設(shè)計(jì)目標(biāo)從兩個(gè)方面考慮加密強(qiáng)度易實(shí)現(xiàn)性強(qiáng)化了抗差分分析的能力,PGP國(guó)際數(shù)據(jù)加密IDEA(InternationalData34IDEA算法特點(diǎn)64位分組,128位密鑰運(yùn)算:XOR,模216(65536)加,模(216+1)(65537)乘三種運(yùn)算均不滿足分配律與結(jié)合律有大量弱密鑰難以直接擴(kuò)展到128位塊IDEA算法特點(diǎn)64位分組,128位密鑰35IDEA設(shè)計(jì)思想得到confusion的途徑按位異或以216(65536)為模的加法以216+1
(65537)為模的乘法互不滿足分配律、結(jié)合律得到diffusion的途徑乘加(MA)結(jié)構(gòu)實(shí)現(xiàn)上的考慮軟件和硬件實(shí)現(xiàn)上的考慮IDEA設(shè)計(jì)思想得到confusion的途徑36IDEA加密算法IDEA加密算法37IDEA
每一輪
IDEA
每一輪38IDEA輸出變換階段IDEA輸出變換階段39IDEA的子密鑰IDEA的子密鑰40
現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES41RC5作者為RonRivest1994設(shè)計(jì)、1995公開1.適用于軟件或者硬件實(shí)現(xiàn)2.運(yùn)算速度快3.能適應(yīng)于不同字長(zhǎng)的程序(一個(gè)字的bit數(shù)是RC5的一個(gè)參數(shù);)加密的輪數(shù)可變(輪數(shù)是RC5的第二個(gè)參數(shù))密鑰長(zhǎng)度是可變的(密鑰長(zhǎng)度是RC5的第三個(gè)參數(shù))6.對(duì)內(nèi)存要求低7.依賴于數(shù)據(jù)的循環(huán)移位(增強(qiáng)抗攻擊能力)RC5作者為RonRivest1994設(shè)計(jì)、1995公42RC5參數(shù)三個(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參數(shù)三個(gè)參數(shù)43RC5基本運(yùn)算整個(gè)加密使用了下述3個(gè)基本運(yùn)算和它們的逆運(yùn)算:模2w加法運(yùn)算,表示為“+”;逐比特異或運(yùn)算,表示為“⊕”;字的循環(huán)左移運(yùn)算:字x循環(huán)左移y比特,表示為
x<<<y
實(shí)際只有y的log2w個(gè)低位比特來確定x的循環(huán)數(shù)它的逆為循環(huán)右移y比特,表示為
x>>>y如(a0,a1,a2,…,an-1)<<<3=(a3,a4,…,an-1,a0,a1,a2)RC5基本運(yùn)算整個(gè)加密使用了下述3個(gè)基本運(yùn)算和它們的逆運(yùn)算:44密鑰擴(kuò)展總計(jì)產(chǎn)生t=2r+2
個(gè)子密鑰,每個(gè)密鑰的長(zhǎng)度為一個(gè)字長(zhǎng)(wbits)。密鑰擴(kuò)展總計(jì)產(chǎn)生t=2r+2個(gè)子密鑰,每個(gè)密鑰的長(zhǎng)度為45密鑰的初始化對(duì)于給定的參數(shù)r和w,開始初始化運(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)算。密鑰的初始化對(duì)于給定的參數(shù)r和w,開始初始化運(yùn)算46密鑰擴(kuò)展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聲稱,這個(gè)擴(kuò)張函數(shù)具有單向性。密鑰擴(kuò)展1*.為了增強(qiáng)復(fù)雜性,可對(duì)陣列S,L做多次處理:47加解密運(yùn)算圖加解密運(yùn)算圖48加密算法加密:將明文分組為左右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];加密算法加密:將明文分組為左右A,B;用變量Lei,Rei參49解密算法對(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].RC5操作模式[RFC2040]Baldwin,R.,andRivest,R.TheRC5,RC5-CBC,RC5-CBC-Pad,andRC5-CTSalgorithms.Oct.1996P96~96解密算法對(duì)兩個(gè)1-字變量LDr和RDr。用變量LDi和RDi50
現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES51RC6被選為21世紀(jì)加密標(biāo)準(zhǔn)算法。RC6是RC5的進(jìn)一步改進(jìn)。像RC5那樣,RC6實(shí)際上是利用數(shù)據(jù)的循環(huán)移位。RC5自1995年公布以來,盡管至今為止還沒有發(fā)現(xiàn)實(shí)際攻擊的有效手段,然而一些理論攻擊的文章先后也分析出RC5的一些弱點(diǎn)。RC6的加密程序:RC6-w/r/bRC6被選為21世紀(jì)加密標(biāo)準(zhǔn)算法。RC6是RC5的進(jìn)一步改進(jìn)52DesignPhilosophyLeverageourexperiencewithRC5:usedata-dependentrotationstoachieveahighlevelofsecurity.AdaptRC5tomeetAESrequirementsTakeadvantageofanewprimitiveforincreasedsecurityandefficiency:32x32multiplication,whichexecutesquicklyonmodernprocessors,tocomputerotationamounts.DesignPhilosophyLeverageour53DescriptionofRC6RC6-w/r/b
parameters:Wordsizeinbits:w
(32)(lg(w)=5)Numberofrounds:r
(20)Numberofkeybytes:b
(16,24,or32)KeyExpansion:ProducesarrayS[0…2r
+3]ofw-bitroundkeys.EncryptionandDecryption:Input/Outputin32-bitregistersA,B,C,DDescriptionofRC6RC6-w/r/bp54RC6的基本運(yùn)算
A+B
Additionmodulo2wA-B
Subtractionmodulo2wA
B
Exclusive-OrA<<<B RotateA
leftbyamountin
low-orderlg(w
)bitsofB
A>>>B
RotateA
right,similarly(A,B,C,D)=(B,C,D,A)ParallelassignmentAxB
Multiplicationmodulo2w
RC5RC6的基本運(yùn)算A+B Additionmodul55
RC6-w/r/b加密圖,其中f(x)=x×(2x+1):
A⊕<<<B+f<<<C⊕<<<++D+<<<f++S[2r+2]S[2r+3]ABCDRepeatForrrounds…………S[2i]S[2i+1]S[0]S[1]log2wlog2wlog2wRC6-w/r/b加密圖,其中f(x)=x×(2x+156
RC6Encryption(Generic)
B=B+S[0]
D=D+S[1]
fori=1tordo
{
t=(Bx(2B+1))<<<lg(w
)
u=(Dx(2D+1))<<<lg(w
)
A=((At)<<<u)+S[2i
]
C=((Cu)<<<t)+S[2i
+1]
(A,B,C,D)=(B,C,D,A)
}
A=A+S[2r
+2]
C=C+S[2r
+3]
RC6Encryption(Generic)57RC6Encryption(forAES)
B=B+S[0]
D=D+S[1]
fori=1to20do
{
t=(Bx(2B+1))<<<5
u=(Dx(2D+1))<<<5
A=((At)<<<u)+S[2i]
C=((Cu)<<<t)+S[2i
+1]
(A,B,C,D)=(B,C,D,A)
}
A=A+S[42]
C=C+S[43]
RC6Encryption(forAES)B58RC6Decryption(forAES)
C=C-S[43]
A=A-S[42]
fori=20downto1do
{
(A,B,C,D)=(D,A,B,C)
u=(Dx(2D+1))<<<5
t=(Bx(2B+1))<<<5
C=((C-S[2i+1])>>>t)u
A=((A-S[2i])>>>u)t
}
D=D-S[1]
B=B-S[0]
RC6Decryption(forAES)C59KeyExpansion(SameasRC5’s)Input:arrayL[0…c-1]ofinputkeywordsOutput:arrayS[0…43]ofroundkeywordsProcedure:
S[0]=0xB7E15163
fori=1to43doS[i]=S[i-1]+0x9E3779B9
A=B=i=j=0
fors=1to132do
{A=S[i]=(S[i]+A+B)<<<3
B=L[j]=(L[j]+A+B)<<<(A+B)
i=(i+1)mod44
j=(j+1)modc}
KeyExpansion(SameasRC5’s)I60SecurityofKeyExpansionKeyexpansionisidenticaltothatofRC5;noknownweaknesses.Noknownweakkeys.Noknownrelated-keyattacks.Roundkeysappeartobea“random”functionofthesuppliedkey.keyexpansionisquite“one-way”---difficulttoinfersuppliedkeyfromroundkeys.SecurityofKeyExpansionKeye61RC6小結(jié)RC6morethanmeetstherequirementsfortheAES;itissimple,fast,andsecure.RC6小結(jié)RC6morethanmeetsther62
現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES63AES背景-i1997年4月15日,(美國(guó))國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)起征集高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard)AES的活動(dòng),活動(dòng)目的是確定一個(gè)非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法,作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。1997年9月12日,美國(guó)聯(lián)邦登記處公布了正式征集AES候選算法的通告。作為進(jìn)入AES候選過程的一個(gè)條件,開發(fā)者承諾放棄被選中算法的知識(shí)產(chǎn)權(quán)。對(duì)AES的基本要求是:比三重DES快、至少與三重DES一樣安全、數(shù)據(jù)分組長(zhǎng)度為128比特、密鑰長(zhǎng)度為128/192/256比特。AES背景-i1997年4月15日,(美國(guó))國(guó)家標(biāo)準(zhǔn)技術(shù)研究64AES背景-ii1998年8月12日,在首屆AES會(huì)議上指定了15個(gè)候選算法。1999年3月22日第二次AES會(huì)議上,將候選名單減少為5個(gè),這5個(gè)算法是RC6,Rijndael,SERPENT,Twofish和MARS。2000年4月13日,第三次AES會(huì)議上,對(duì)這5個(gè)候選算法的各種分析結(jié)果進(jìn)行了討論。2000年10月2日,NIST宣布了獲勝者—Rijndael算法,2001年11月出版了最終標(biāo)準(zhǔn)FIPSPUB197。AES背景-ii1998年8月12日,在首屆AES會(huì)議上指定65Rijndael簡(jiǎn)介不屬于Feistel結(jié)構(gòu)加密、解密相似但不對(duì)稱支持128/32=Nb數(shù)據(jù)塊大小支持128/192/256(/32=Nk)密鑰長(zhǎng)度有較好的數(shù)學(xué)理論作為基礎(chǔ)結(jié)構(gòu)簡(jiǎn)單、速度快Rijndael簡(jiǎn)介不屬于Feistel結(jié)構(gòu)66AES參數(shù)AES參數(shù)67SP網(wǎng)絡(luò)結(jié)構(gòu)在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰控制的可逆函數(shù)S作用,然后再對(duì)所得結(jié)果用置換(或可逆線性變換)P作用。S和P分別被稱為混亂層和擴(kuò)散層,主要起混亂和擴(kuò)散作用。
SP網(wǎng)絡(luò)結(jié)構(gòu)在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰控68AES算法結(jié)構(gòu)-iAES算法的輪變換中沒有Feistel結(jié)構(gòu),輪變換是由三個(gè)不同的可逆一致變換組成,稱之為層,
線性混合層:確保多輪之上的高度擴(kuò)散。非線性層:具有最優(yōu)最差-情形非線性性的S-盒的并行應(yīng)用。密鑰加層:輪密鑰簡(jiǎn)單地異或到中間狀態(tài)上。AES算法結(jié)構(gòu)-iAES算法的輪變換中沒有Feistel結(jié)構(gòu)69AES算法結(jié)構(gòu)-iiAES算法結(jié)構(gòu)-ii70AES-128加解密過程AES-128加解密過程71AES算法描述假設(shè):State表示數(shù)據(jù),以及每一輪的中間結(jié)果
RoundKey表示每一輪對(duì)應(yīng)的子密鑰算法如下:第一輪之前執(zhí)行AddRoundKey(State,RoundKey)Round(State,RoundKey){ ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State,RoundKey);
}FinalRound(State,RoundKey){ ByteSub(State); ShiftRow(State); AddRoundKey(State,RoundKey);
}AES算法描述假設(shè):State表示數(shù)據(jù),以及每一輪的中間結(jié)果72狀態(tài)、密鑰狀態(tài)/密鑰的矩陣表示S00S01S02S03S04S05S06S07S08S09S10S11S12S13S14S15k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k33狀態(tài)、密鑰狀態(tài)/密鑰的矩陣表示S00S01S02S03S0473字節(jié)代替(SubstituteBytes)變換字節(jié)代替是一個(gè)非線性的字節(jié)代替,獨(dú)立地在每個(gè)狀態(tài)字節(jié)上進(jìn)行運(yùn)算。代替表(S-盒)是可逆的,是一個(gè)1616的矩陣。字節(jié)代替(SubstituteBytes)變換字節(jié)代替是74
75exampleexample76行移位(ShiftRow)變換簡(jiǎn)單的置換行移位(ShiftRow)變換簡(jiǎn)單的置換77exampleexample78列混合MixColumn變換代替操作,將狀態(tài)的列看作有限域GF(28)上的4維向量并被有限域GF(28)上的一個(gè)固定可逆方陣A乘列混合MixColumn變換代替操作,將狀態(tài)的列看作有限域79
80exampleexample81輪密鑰加(AddRoundKey)一個(gè)簡(jiǎn)單地按位異或的操作輪密鑰加(AddRoundKey)一個(gè)簡(jiǎn)單地按位異或的操82AES的密鑰調(diào)度輪密鑰是通過密鑰調(diào)度算法從密鑰中產(chǎn)生,包括兩個(gè)組成部分:密鑰擴(kuò)展和輪密鑰選取?;驹砣缦拢核休喢荑€比特的總數(shù)等于分組長(zhǎng)度乘輪數(shù)加1。(如128比特的分組長(zhǎng)度和10輪迭代,共需要1408比特的密鑰)。將密碼密鑰擴(kuò)展成一個(gè)擴(kuò)展密鑰。輪密鑰按下述方式從擴(kuò)展密鑰中選?。旱谝粋€(gè)輪密鑰由開始Nb個(gè)字組成,第二個(gè)輪密鑰由接下來的Nb個(gè)字組成,如此繼續(xù)下去。AES的密鑰調(diào)度輪密鑰是通過密鑰調(diào)度算法從密鑰中產(chǎn)生,包括兩83AES的密鑰擴(kuò)展AES的密鑰擴(kuò)展84密鑰擴(kuò)展的偽代碼密鑰擴(kuò)展的偽代碼85偽代碼之二偽代碼之二86
87G變換Rotword執(zhí)行一字節(jié)循環(huán)左移[b0,b1,b2,b3][b1,b2,b3,b0]Subword執(zhí)行使用S-盒實(shí)行字節(jié)替換前兩步的結(jié)果XOR與輪常數(shù)Rcon[j]G變換Rotword執(zhí)行一字節(jié)循環(huán)左移88exampleexample89Rijndael安全性沒有發(fā)現(xiàn)弱密鑰或補(bǔ)密鑰能有效抵抗目前已知的攻擊算法線性攻擊差分攻擊Rijndael安全性沒有發(fā)現(xiàn)弱密鑰或補(bǔ)密鑰90先進(jìn)對(duì)稱分組加密算法的特點(diǎn)可變的密鑰長(zhǎng)度:RC5混合的運(yùn)算IDEA數(shù)據(jù)相關(guān)的圈數(shù)RC5密鑰相關(guān)的圈數(shù)CAST-128密鑰相關(guān)的S盒:Blowfish冗長(zhǎng)密鑰調(diào)度算法:Blowfish可變的F:CAST-128可變長(zhǎng)明文/密文塊長(zhǎng)度可變?nèi)?shù)每圈操作作用于全部數(shù)據(jù)先進(jìn)對(duì)稱分組加密算法的特點(diǎn)可變的密鑰長(zhǎng)度:RC591分組密碼的一般設(shè)計(jì)原理針對(duì)安全性的一般原則:混亂擴(kuò)散重要的設(shè)計(jì)原理:必須能抵抗現(xiàn)有的攻擊方法針對(duì)實(shí)現(xiàn)的原則軟件硬件分組密碼的一般設(shè)計(jì)原理針對(duì)安全性的一般原則:92分組密碼的整體結(jié)構(gòu)Feistel網(wǎng)絡(luò)SP網(wǎng)絡(luò)分組密碼的整體結(jié)構(gòu)Feistel網(wǎng)絡(luò)93S盒的設(shè)計(jì)準(zhǔn)則S-盒首次出現(xiàn)在Lucifer算法中,因DES的使用而流行.S-盒是許多密碼算法的唯一非線性部件,因此,它的密碼強(qiáng)度決定了整個(gè)算法的安全強(qiáng)度.提供了密碼算法所必須的混亂作用.如何全面準(zhǔn)確地度量S-盒的密碼強(qiáng)度和設(shè)計(jì)有效的S-盒是分組密碼設(shè)計(jì)和分析中的難題.非線性度、差分均勻性、嚴(yán)格雪崩準(zhǔn)則、可逆性、沒有陷門S盒的設(shè)計(jì)準(zhǔn)則S-盒首次出現(xiàn)在Lucifer算法中,因DES94P置換的設(shè)計(jì)準(zhǔn)則P置換的目的是提供雪崩效應(yīng)(明文或密鑰的一點(diǎn)小的變動(dòng)都引起密文的較大變化)P置換的設(shè)計(jì)準(zhǔn)則P置換的目的是提供雪崩效應(yīng)(明文或密鑰的一點(diǎn)95輪函數(shù)的設(shè)計(jì)準(zhǔn)則安全性速度靈活性:能在多種平臺(tái)實(shí)現(xiàn)輪函數(shù)的設(shè)計(jì)準(zhǔn)則安全性96輪函數(shù)的構(gòu)造加法、減法和異或固定循環(huán)/移位數(shù)據(jù)依賴循環(huán)乘法輪函數(shù)的構(gòu)造加法、減法和異或97密鑰擴(kuò)展算法的設(shè)計(jì)設(shè)計(jì)目標(biāo):子密鑰的統(tǒng)計(jì)獨(dú)立性和靈活性實(shí)現(xiàn)簡(jiǎn)單速度不存在簡(jiǎn)單關(guān)系:(給定兩個(gè)有某種關(guān)系的種子密鑰,能預(yù)測(cè)它們輪子密鑰之間的關(guān)系)種子密鑰的所有比特對(duì)每個(gè)子密鑰比特的影響大致相同從一些子密鑰比特獲得其他的子密鑰比特在計(jì)算上是難的沒有弱密鑰密鑰擴(kuò)展算法的設(shè)計(jì)設(shè)計(jì)目標(biāo):子密鑰的統(tǒng)計(jì)獨(dú)立性和靈活性98思考和練習(xí)(推薦)四種模式(ECB,CBC,CFB和OFB)的加解密特點(diǎn)思考和練習(xí)(推薦)四種模式(ECB,CBC,CFB和OF99Reference/encryption/aes//rsalabs/rc6//Crypto3e.htmlWilliamStallings,Cryptographyandnetworksecurity:principlesandpractice,SecondEdition.Reference/100
密碼學(xué)基礎(chǔ)2計(jì)算機(jī)學(xué)院信息安全課題組 信息安全概論 信息安全概論101
回顧上次課的內(nèi)容對(duì)稱密碼的兩個(gè)基本運(yùn)算代替和置換(Substitution&permutation)對(duì)稱密碼分析的兩個(gè)基本方法系統(tǒng)分析法(統(tǒng)計(jì)分析法)窮舉法對(duì)稱密碼的兩個(gè)基本設(shè)計(jì)原則:混亂和擴(kuò)散密碼分析攻擊的方式
回顧上次課的內(nèi)容對(duì)稱密碼的兩個(gè)基本運(yùn)算102討論議題分組密碼的操作模式實(shí)用中數(shù)據(jù)格式的多樣性安全的工作模式分組密碼的分析方法現(xiàn)代常規(guī)分組加密算法TripleDESRC5、RC6AES……加密的位置:鏈路方式和端到端的方式討論議題分組密碼的操作模式103分組密碼的操作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)美國(guó)NSB在[FIPSPUB74和81]中規(guī)定ANSI在[ANSIX3.106]中規(guī)定ISO和ISO/IEC在[ISO9732ISO/IEC10116]中規(guī)定分組密碼的操作模式電子密碼本ECB(electronic104電子密碼本(ECB)Ci=EK(Pi)Pi=DK(Ci)電子密碼本(ECB)Ci=EK(Pi)Pi=D105ECB特點(diǎn)簡(jiǎn)單和有效可以并行實(shí)現(xiàn)不能隱藏明文的模式信息相同明文相同密文同樣信息多次出現(xiàn)造成泄漏對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對(duì)應(yīng)明文塊損壞適合于傳輸短信息ECB特點(diǎn)簡(jiǎn)單和有效106密碼分組鏈接CBCCi=EK(Ci-1Pi)Pi=EK(Ci)Ci-1密碼分組鏈接CBCCi=EK(Ci-1Pi)Pi=E107CBC特點(diǎn)沒有已知的并行實(shí)現(xiàn)算法能隱藏明文的模式信息需要共同的初始化向量IV相同明文不同密文初始化向量IV可以用來改變第一塊對(duì)明文的主動(dòng)攻擊是不容易的信息塊不容易被替換、重排、刪除、重放誤差傳遞:密文塊損壞兩明文塊損壞安全性好于ECB適合于傳輸長(zhǎng)度大于64位的報(bào)文,還可以進(jìn)行用戶鑒別,是大多系統(tǒng)的標(biāo)準(zhǔn)如SSL、IPSecCBC特點(diǎn)沒有已知的并行實(shí)現(xiàn)算法108密碼反饋CFBCFB:分組密碼流密碼Si為移位寄存器,j為流單元寬度
加密:Ci=Pi(EK(Si)的高j位)Si+1=(Si<<j)|Ci解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|Ci
密碼反饋CFBCFB:分組密碼流密碼109
CFB加密示意圖Ci=Pi(EK(Si)的高j位);Si+1=(Si<<j)|Ci
CFB加密示意圖Ci=Pi(EK(Si)的高j位);110
CFB解密示意圖Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|Ci
CFB解密示意圖Pi=Ci(EK(Si)的高j位);111CFB特點(diǎn)分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV對(duì)于不同的消息,IV必須唯一誤差傳遞:一個(gè)單元損壞影響多個(gè)單元
CFB特點(diǎn)分組密碼流密碼112輸出反饋OFBOFB:分組密碼流密碼Si為移位寄存器,j為流單元寬度
加密:Ci=Pi(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)輸出反饋OFBOFB:分組密碼流密碼113
OFB加密示意圖Ci=Pi(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)OFB加密示意圖Ci=Pi(EK(Si)的高j位);114
OFB解密示意圖Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)OFB解密示意圖Pi=Ci(EK(Si)的高j位);S115OFB特點(diǎn)OFB:分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV誤差傳遞:一個(gè)單元損壞只影響對(duì)應(yīng)單元對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放安全性較CFB差OFB特點(diǎn)OFB:分組密碼流密碼116運(yùn)行模式總結(jié)種類有無反饋有無并行算法P=>C影響C=>P影響結(jié)構(gòu)相關(guān)性主動(dòng)攻擊有無IV安全性ECBCBCCFBOFB運(yùn)行模式總結(jié)種類有無有無并行算法P=>C影響C=>P影響結(jié)構(gòu)117分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊分為以下幾類:唯密文攻擊已知明文攻擊選擇明文攻擊攻擊的復(fù)雜度數(shù)據(jù)復(fù)雜度:實(shí)施該攻擊所需輸入的數(shù)據(jù)量處理復(fù)雜度:處理這些數(shù)據(jù)所需要的計(jì)算量分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊118分組密碼的典型攻擊方法最可靠的攻擊辦法:強(qiáng)力攻擊最有效的攻擊:差分密碼分析,通過分析明文對(duì)的差值對(duì)密文對(duì)的差值的影響來恢復(fù)某些密鑰比特.線性密碼分析:本質(zhì)上是一種已知明文攻擊方法,通過尋找一個(gè)給定密碼算法的有效的線性近似表達(dá)式來破譯密碼系統(tǒng)插值攻擊方法密鑰相關(guān)攻擊分組密碼的典型攻擊方法最可靠的攻擊辦法:強(qiáng)力攻擊119現(xiàn)代常規(guī)分組加密算法一種是對(duì)DES進(jìn)行復(fù)合,強(qiáng)化它的抗攻擊能力;另一種是開辟新的方法,即象DES那樣加解密速度快,又具有抗差分攻擊和其他方式攻擊的能力?,F(xiàn)代常規(guī)分組加密算法一種是對(duì)DES進(jìn)120現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES其他一些較實(shí)用的算法,如Blowfish,CAST,以及RC2?,F(xiàn)代常規(guī)分組加密算法1.TripleDES1211.TRIPLEDES由于已經(jīng)證明DES不能成為群,見K.W.CampbellandM.J.WienerProofthatDESisnotagroupInAdvancesinCryptology——Crpto’92.Springer-Verlag,NewYork,1993.于是多重DES,尤其是三重DES還在普遍使用。1.TRIPLEDES由于已經(jīng)證明DES不能成為群,122雙重DES(DoubleDES)
C=EK2(EK1(P))P=DK1(DK2(C))
雙重DES(DoubleDES)
C=EK2(EK123雙重DES的討論假設(shè)對(duì)于DES和所有56比特密鑰,給定任意兩個(gè)密鑰K1和K2,都能找到一個(gè)密鑰K3使得EK2(EK1(P))=EK3(P)。如果這個(gè)假設(shè)是事實(shí),則DES的兩重加密或者多重加密都將等價(jià)于用一個(gè)56比特密鑰的一次加密。
從直觀上看,上面的假設(shè)不可能為真。因?yàn)镈ES的加密事實(shí)上就是做一個(gè)從64比特分組到一個(gè)64分組的置換,而64比特分組共有264可能的狀態(tài),因而可能的置換個(gè)數(shù)為另一方面,DES的每個(gè)密鑰確定了一個(gè)置換,因而總的置換個(gè)數(shù)為。直到1992年才有人證明了這個(gè)結(jié)果。雙重DES的討論假設(shè)對(duì)于DES和所有56比特密鑰,給定任意124中間相遇(meet-in-the-middle)攻擊
C=EK2(EK1(P))X=EK1(P)=DK2(C)給定明文密文對(duì)(P,C)對(duì)所有256個(gè)密鑰,加密P,對(duì)結(jié)果排序?qū)λ?56個(gè)密鑰,解密C,對(duì)結(jié)果排序逐個(gè)比較,找出K1,K2使得EK1(P)=DK2(C)中間相遇(meet-in-the-middle)攻擊
C=125對(duì)雙重DES的中間相遇攻擊的分析已知,給定一個(gè)明文P,經(jīng)二重DES加密有264個(gè)可能的密文。而二重DES所用密鑰的長(zhǎng)度應(yīng)是112bits,所以選擇密鑰有2112個(gè)可能性。于是對(duì)給定一個(gè)明文P加密成一定的密文方式有2112/264=248種可能。給定兩個(gè)明密文對(duì),虛警率降為248-64=2-16。換句話說,對(duì)已知2個(gè)明文-密文對(duì)的中間相遇攻擊成功的概率為1-2-16。攻擊用的代價(jià){加密或解密所用運(yùn)算次數(shù)}≦2256需要大量的存儲(chǔ)器:256
64=1017字節(jié)=230*232對(duì)雙重DES的中間相遇攻擊的分析已知,給定一個(gè)明文P,經(jīng)二重126Triple-DES的四種模型DES-EEE3:三個(gè)不同密鑰,順序使用三次加密算法DES-EDE3:三個(gè)不同密鑰,依次使用加密-解密-加密算法DES-EEE2:K1=K3,同上DES-EDE2:K1=K3,同上Triple-DES的四種模型DES-EEE3:三個(gè)不同密鑰127雙密鑰的三重DES
(TripleDESwithTwoKeys)C=EK1(DK2(EK1(P)))P=DK1(EK2(DK1(C)))雙密鑰的三重DES
(TripleDESwithTwo128對(duì)雙密鑰的三重DES的分析-i該模式由IBM設(shè)計(jì),可與常規(guī)加密算法兼容這種替代DES的加密較為流行并且已被采納用于密鑰管理標(biāo)準(zhǔn)(TheKeyManagerStandardsANSX9.17和ISO8732).交替使用K1和K2可以抵抗中間相遇攻擊.如果C=EK2(EK1(EK1(P))),只需要256+2次加密到目前為止,還沒有人給出攻擊三重DES的有效方法。對(duì)其密鑰空間中密鑰進(jìn)行蠻干搜索,那么由于空間太大為2112=5×1033,這實(shí)際上是不可行的。若用差分攻擊的方法,相對(duì)于單一DES來說復(fù)雜性以指數(shù)形式增長(zhǎng),要超過1052。對(duì)雙密鑰的三重DES的分析-i該模式由IBM設(shè)計(jì),可與常規(guī)129對(duì)雙密鑰的三重DES的分析-ii目前還沒有針對(duì)兩個(gè)密鑰三重DES的實(shí)用攻擊方法。但對(duì)兩個(gè)密鑰三重DES的攻擊有一些設(shè)想,以這些設(shè)想為基礎(chǔ)將來可能設(shè)計(jì)出更成功的攻擊技術(shù)。
MerkleR.andHellman,M.“Onthesecurityofmultipleencryption”.CommunicationoftheACM,July1981Oorschot,PandWiener,M.“AKnown-plaintextattackontwo-keytripleencryption”Proceedings,EUROCrypt’90,1990:publishedbySpringer-Verlag對(duì)雙密鑰的三重DES的分析-ii目前還沒有針對(duì)兩個(gè)密鑰三重D130三密鑰的三重DES
(TripleDESwithThreeKeys)C=EK3(DK2(EK1(P)))P=DK3(EK2(DK1(C)))三密鑰的三重DES
(TripleDESwithThr131三密鑰的三重DES分析密鑰的有效長(zhǎng)度為168位與DES的兼容性可以通過令K3=K2或K1=K2得到許多基于Internet的應(yīng)用里用到:PGP和S/MIME三密鑰的三重DES分析密鑰的有效長(zhǎng)度為168位132現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES133國(guó)際數(shù)據(jù)加密IDEA(InternationalDataEncryptionAlgorithm)算法1990年瑞士聯(lián)邦技術(shù)學(xué)院的來學(xué)嘉和Massey提出,PES,91年修訂,92公布細(xì)節(jié)設(shè)計(jì)目標(biāo)從兩個(gè)方面考慮加密強(qiáng)度易實(shí)現(xiàn)性強(qiáng)化了抗差分分析的能力,PGP國(guó)際數(shù)據(jù)加密IDEA(InternationalData134IDEA算法特點(diǎn)64位分組,128位密鑰運(yùn)算:XOR,模216(65536)加,模(216+1)(65537)乘三種運(yùn)算均不滿足分配律與結(jié)合律有大量弱密鑰難以直接擴(kuò)展到128位塊IDEA算法特點(diǎn)64位分組,128位密鑰135IDEA設(shè)計(jì)思想得到confusion的途徑按位異或以216(65536)為模的加法以216+1
(65537)為模的乘法互不滿足分配律、結(jié)合律得到diffusion的途徑乘加(MA)結(jié)構(gòu)實(shí)現(xiàn)上的考慮軟件和硬件實(shí)現(xiàn)上的考慮IDEA設(shè)計(jì)思想得到confusion的途徑136IDEA加密算法IDEA加密算法137IDEA
每一輪
IDEA
每一輪138IDEA輸出變換階段IDEA輸出變換階段139IDEA的子密鑰IDEA的子密鑰140
現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES141RC5作者為RonRivest1994設(shè)計(jì)、1995公開1.適用于軟件或者硬件實(shí)現(xiàn)2.運(yùn)算速度快3.能適應(yīng)于不同字長(zhǎng)的程序(一個(gè)字的bit數(shù)是RC5的一個(gè)參數(shù);)加密的輪數(shù)可變(輪數(shù)是RC5的第二個(gè)參數(shù))密鑰長(zhǎng)度是可變的(密鑰長(zhǎng)度是RC5的第三個(gè)參數(shù))6.對(duì)內(nèi)存要求低7.依賴于數(shù)據(jù)的循環(huán)移位(增強(qiáng)抗攻擊能力)RC5作者為RonRivest1994設(shè)計(jì)、1995公142RC5參數(shù)三個(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參數(shù)三個(gè)參數(shù)143RC5基本運(yùn)算整個(gè)加密使用了下述3個(gè)基本運(yùn)算和它們的逆運(yùn)算:模2w加法運(yùn)算,表示為“+”;逐比特異或運(yùn)算,表示為“⊕”;字的循環(huán)左移運(yùn)算:字x循環(huán)左移y比特,表示為
x<<<y
實(shí)際只有y的log2w個(gè)低位比特來確定x的循環(huán)數(shù)它的逆為循環(huán)右移y比特,表示為
x>>>y如(a0,a1,a2,…,an-1)<<<3=(a3,a4,…,an-1,a0,a1,a2)RC5基本運(yùn)算整個(gè)加密使用了下述3個(gè)基本運(yùn)算和它們的逆運(yùn)算:144密鑰擴(kuò)展總計(jì)產(chǎn)生t=2r+2
個(gè)子密鑰,每個(gè)密鑰的長(zhǎng)度為一個(gè)字長(zhǎng)(wbits)。密鑰擴(kuò)展總計(jì)產(chǎn)生t=2r+2個(gè)子密鑰,每個(gè)密鑰的長(zhǎng)度為145密鑰的初始化對(duì)于給定的參數(shù)r和w,開始初始化運(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)算。密鑰的初始化對(duì)于給定的參數(shù)r和w,開始初始化運(yùn)算146密鑰擴(kuò)展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聲稱,這個(gè)擴(kuò)張函數(shù)具有單向性。密鑰擴(kuò)展1*.為了增強(qiáng)復(fù)雜性,可對(duì)陣列S,L做多次處理:147加解密運(yùn)算圖加解密運(yùn)算圖148加密算法加密:將明文分組為左右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];加密算法加密:將明文分組為左右A,B;用變量Lei,Rei參149解密算法對(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].RC5操作模式[RFC2040]Baldwin,R.,andRivest,R.TheRC5,RC5-CBC,RC5-CBC-Pad,andRC5-CTSalgorithms.Oct.1996P96~96解密算法對(duì)兩個(gè)1-字變量LDr和RDr。用變量LDi和RDi150
現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES現(xiàn)代常規(guī)分組加密算法1.TripleDES151RC6被選為21世紀(jì)加密標(biāo)準(zhǔn)算法。RC6是RC5的進(jìn)一步改進(jìn)。像RC5那樣,RC6實(shí)際上是利用數(shù)據(jù)的循環(huán)移位。RC5自1995年公布以來,盡管至今為止還沒有發(fā)現(xiàn)實(shí)際攻擊的有效手段,然而一些理論攻擊的文章先后也分析出RC5的一些弱點(diǎn)。RC6的加密程序:RC6-w/r/bRC6被選為21世紀(jì)加密標(biāo)準(zhǔn)算法。RC6是RC5的進(jìn)一步改進(jìn)152DesignPhilosophyLeverageourexperiencewithRC5:usedata-dependentrotationstoachieveahighlevelofsecurity.AdaptRC5tomeetAESrequirementsTakeadvantageofanewprimitiveforincreasedsecurityandefficiency:32x32multiplication,whichexecutesquicklyonmodernprocessors,tocomputerotationamounts.DesignPhilosophyLeverageour153DescriptionofRC6RC6-w/r/b
parameters:Wordsizeinbits:w
(32)(lg(w)=5)Numberofrounds:r
(20)Numberofkeybytes:b
(16,24,or32)KeyExpansion:ProducesarrayS[0…2r
+3]ofw-bitroundkeys.EncryptionandDecryption:Input/Outputin32-bitregistersA,B,C,DDescriptionofRC6RC6-w/r/bp154RC6的基本運(yùn)算
A+B
Additionmodulo2wA-B
Subtractionmodulo2wA
B
Exclusive-OrA<<<B RotateA
leftbyamountin
low-orderlg(w
)bitsofB
A>>>B
RotateA
right,similarly(A,B,C,D)=(B,C,D,A)ParallelassignmentAxB
Multiplicationmodulo2w
RC5RC6的基本運(yùn)算A+B Additionmodul155
RC6-w/r/b加密圖,其中f(x)=x×(2x+1):
A⊕<<<B+f<<<C⊕<<<++D+<<<f++S[2r+2]S[2r+3]ABCDRepeatForrrounds…………S[2i]S[2i+1]S[0]S[1]log2wlog2wlog2wRC6-w/r/b加密圖,其中f(x)=x×(2x+1156
RC6Encryption(Generic)
B=B+S[0]
D=D+S[1]
fori=1tordo
{
t=(Bx(2B+1))<<<lg(w
)
u=(Dx(2D+1))<<<lg(w
)
A=((At)<<<u)+S[2i
]
C=((Cu)<<<t)+S[2i
+1]
(A,B,C,D)=(B,C,D,A)
}
A=A+S[2r
+2]
C=C+S[2r
+3]
RC6Encryption(Generic)157RC6Encryption(forAES)
B=B+S[0]
D=D+S[1]
fori=1to20do
{
t=(Bx(2B+1))<<<5
u=(Dx(2D+1))<<<5
A=((At)<<<u)+S[2i]
C=((Cu)<<<t)+S[2i
+1]
(A,B,C,D)=(B,C,D,A)
}
A=A+S[42]
C=C+S[43]
RC6Encryption(forAES)B158RC6Decryption(forAES)
C=C-S[43]
A=A-S[42]
fori=20downto1do
{
(A,B,C,D)=(D,A,B,C)
u=(Dx(2D+1))<<<5
t=(Bx(2B+1))<<<5
C=((C-S[2i+1])>>>t)u
A=((A-S[2i])>>>u)t
}
D=D-S[1]
B=B-S[0]
RC6Decryption(forAES)C159KeyExpansion(SameasRC5’s)Input:arrayL[0…c-1]ofinputkeywordsOutput:arrayS[0…43]ofroundkeywordsProcedure:
S[0]=0xB7E15163
fori=1to43doS[i]=S[i-1]+0x9E3779B9
A=B=i=j=0
fors=1to132do
{A=S[i]=(S[i]+A+B)<<<3
B=L[j]=(L[j]+A+B)<<<(A+B)
i=(i+1)mod44
j=(j+1)modc}
KeyExpansion(SameasRC5’s)I160SecurityofKeyExpansionKeyexpansionisidenti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)日華椅數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)小刮勺數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)女式牛仔長(zhǎng)褲數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)大理石仿古鐘數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)塑料防腐設(shè)備數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)保安巡檢電腦管理系統(tǒng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 水泥路面注漿施工方案
- 2025年中國(guó)燃?xì)膺B續(xù)自動(dòng)配氣系統(tǒng)市場(chǎng)調(diào)查研究報(bào)告
- 工業(yè)建筑物裝修施工方案
- 2025年中國(guó)水晶頭噴頭市場(chǎng)調(diào)查研究報(bào)告
- FZ∕T 54007-2019 錦綸6彈力絲行業(yè)標(biāo)準(zhǔn)
- 現(xiàn)澆箱梁專項(xiàng)施工組織設(shè)計(jì)
- 結(jié)直腸癌治療研究進(jìn)展2024年
- 員工薪酬確認(rèn)書三篇
- 人教部編版四年級(jí)語文下冊(cè)課內(nèi)外閱讀訓(xùn)練2《鄉(xiāng)下人家》(有答案)
- 新能源汽車電氣技術(shù) 課件 項(xiàng)目一 新能源汽車電氣維修基礎(chǔ)認(rèn)知
- 手術(shù)室患者人文關(guān)懷
- 高中英語語法同位語從句省公開課一等獎(jiǎng)全國(guó)示范課微課金獎(jiǎng)
- 住院病人燙傷的應(yīng)急演練
- 新入職消防員考核試卷題庫(240道)
- 人教版初中九年級(jí)下學(xué)期體育教案全集(附教學(xué)計(jì)劃)
評(píng)論
0/150
提交評(píng)論