版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
網絡安全設計密碼學⑶對稱密鑰加密Content什么是對稱密鑰加密?對稱密鑰加密技術類型對稱密鑰加密技術原理典型對稱密鑰加密算法密鑰的安全生成和分發(fā)算法1《網絡安全設計》密碼學⑶對稱密鑰加密什么是對稱密鑰加密?對稱密鑰加密SymmetricKeyCryptography
私鑰加密PrivateKeyCryptography
單鑰加密One-KeyCryptography現(xiàn)代加密技術的一種重要類型加密和解密使用同一個密鑰流式加密塊式加密(分組加密)《網絡安全設計》密碼學⑶對稱密鑰加密2典型對稱密鑰加密算法流式加密算法RC(RC2、RC4、RC5)分組加密算法FeistalTEADESIDEAAESSMS4《網絡安全設計》密碼學⑶對稱密鑰加密3StreamCryptography《網絡安全設計》密碼學⑶對稱密鑰加密4流式加密RCRonRivest在1987年設計流式對稱加密方法密鑰可變長1~256byte(8~2048bit)面向字節(jié)操作(任意長度的明文)《網絡安全設計》密碼學⑶對稱密鑰加密5RC算法(1)狀態(tài)向量初始化
設:狀態(tài)向量S={S[0],S[1],S[2],…,S[255]}
令:S[i]=i(i=0..255)即256個元素依次賦值0~255
在整個計算過程中,S的各個元素僅僅進行位置的交換(即數(shù)值換位),而始終包含0~255這256個數(shù)值(2)密鑰初始化
設:臨時向量T={T[0],T[1],T[2],…,T[255]}
T[i]=K[imodl](i=0..255)將密鑰K循環(huán)賦值給T
此時,密鑰K已經完成了使命,算法中不再使用《網絡安全設計》密碼學⑶對稱密鑰加密6RC算法(續(xù))(3)初始置換
用T產生S的初始置換
根據(jù)T[i]的值,將S[i]與S中指定元素進行置換(即換位swap)操作
j=0; for(i=0to255)do{
j=(j+S[i]+T[i])mod256; swap(S[i],S[j]);}
初始置換操作的本質就是根據(jù)密鑰的值,改變原來S中呈升序排列的數(shù)值,使之成為“隨機”的分布。至此,T也不再使用,算法初始化階段完成《網絡安全設計》密碼學⑶對稱密鑰加密7RC算法(續(xù))(4)加密運算
輸入明文M,長度為n(byte),字節(jié)流為M[k](0≤k<n),經過加密運算,應輸出密文C,密文字節(jié)流為C[k](0≤k<n)
i=j=0; for(k=0ton)do{
i=(i+1)mod256;
j=(j+S[i])mod256; swap(S[i],S[j]);
t=(S[i]+S[j])mod256;
C[k]=M[k]⊕S[t];}
RC4加密循環(huán)往復地使用狀態(tài)向量S,每個明文字節(jié)與S生成的數(shù)值進行異或,得到密文,同時S中的元素不斷換位《網絡安全設計》密碼學⑶對稱密鑰加密8思考:RC加密算法如何解密?討論《網絡安全設計》密碼學⑶對稱密鑰加密9流式加密適合什么網絡應用?BlockCryptography《網絡安全設計》密碼學⑶對稱密鑰加密10塊式加密(分組加密)分組加密要求分組密鑰作用在nbit明文分組上,產生nbit密文分組(明文、密文同樣長度)加密是可逆的(可解密),每一個明文分組唯一對應一個密文分組,反之亦然共2n個不同的明文分組共2n個不同的密文分組共2n!個不同的變換關系(非奇異變換)《網絡安全設計》密碼學⑶對稱密鑰加密11分組加密基本原理《網絡安全設計》密碼學⑶對稱密鑰加密124-bit明文→4-bit密文→變換關系例:1110密文:1011↑可逆↓“理想分組加密”方法分析考察代換加密表對于一個特定的變換,映射本身就是密鑰當n=4時(如表)密鑰長度4×16=64bit一般地,對nbit加密密鑰長度n×2nbit較大分組的密鑰長度過長,不利于計算和管理例如,對64bits明文加密:
64×264=270≈1021(bits)《網絡安全設計》密碼學⑶對稱密鑰加密13明文密文00001110000101000010110100110001010000100101111101101011011110001000001110011010101001101011110011000101110110011110000011110111理想分組加密的近似體制對于較大n的分組,采用2n!個不同可逆映射的一個子集(減少映射關系,從而縮短密鑰長度)例:n=4,定義線性方程組(類似Hill密碼)y1=k11x1+k12x2+k13x3+k14x4y2=k21x1+k22x2+k23x3+k24x4y3=k31x1+k32x2+k33x3+k34x4y4=k41x1+k42x2+k43x3+k44x4均為二進制比特,模2運算密鑰長度為n2=42=16bit減小密鑰長度是可能的,但安全性相應降低《網絡安全設計》密碼學⑶對稱密鑰加密144-bit明文x1x2x3x4→密文y1y2y3y4Feistal加密使用乘積加密方法來逼近簡單代換加密乘積加密:依次使用兩個或兩個以上的基本密碼目標:開發(fā)一種分組加密方法分組長度nbit,密鑰長度kbit,用2k個變換變換方法——交替使用代換和置換基于ClaudeShannon加密理論交替使用混淆和擴散《網絡安全設計》密碼學⑶對稱密鑰加密15加密系統(tǒng)的基本構件用于挫敗基于統(tǒng)計方法的密碼分析混淆Confusion盡可能使密文和密鑰間的統(tǒng)計關系復雜化,阻止發(fā)現(xiàn)密鑰擴散Diffusion使明文的統(tǒng)計特征消散在密文中,可以讓每個明文數(shù)字盡可能多地影響多個密文數(shù)字例如:代換和置換是混淆和擴散的實際應用《網絡安全設計》密碼學⑶對稱密鑰加密16Feistel加密原理《網絡安全設計》密碼學⑶對稱密鑰加密17Feistel解密方法及其證明解密與加密過程一致,逆序使用子密鑰K16…K1加密:明文為LE0|RE0,輸出密文為RE16|LE16解密:密文為LD0|RD0,輸出密文為RD16|LD16證明:對于加密過程,有:LE16=RE15;RE16=LE15⊕f(RE15,K16)對于解密過程第1輪,LD0=RE16;RD0=LE16;LD1=RD0=LE16=RE15
RD1=LD0⊕f(RD0,K16)=RE16⊕f(RE15,K16)=[LE15⊕f(RE15,K16)]⊕f(RE15,K16)=LE15故,解密第1輪輸出LE15|RE15,正是加密第16輪輸入左右互換的值。依此類推,解密第16輪,LD16=RE0,RD16=LE0,換位輸出為LE0|RE0,正是原始明文。證明完畢?!毒W絡安全設計》密碼學⑶對稱密鑰加密18Feistel加密重要參數(shù)分組長度長度越長,安全性高,但速度慢典型:64bit、128bit密鑰長度密鑰越長,安全性高,但速度慢典型:64bit、128bit(更佳)迭代輪數(shù)輪數(shù)越多,安全性高,但速度慢典型:16輪子密鑰生成算法K→k1k2…ki輪函數(shù)f《網絡安全設計》密碼學⑶對稱密鑰加密19TEATinyEncryptionAlgorithm微型加密算法劍橋大學DavidWheeler和RogerNeedam提出分組型對稱加密方法TEA不是通過算法的復雜性來保證,而是依賴加密的輪數(shù)(16或32或64輪)TEA加密速度快、算法簡單易實現(xiàn),并具有較強的抗差分攻擊能力QQ中使用TEA進行數(shù)據(jù)加密《網絡安全設計》密碼學⑶對稱密鑰加密20TEA常數(shù)TEA算法使用了一個神秘常數(shù)δ(以保證每一輪加密有所差異)δ來源于黃金比率φ:
定義:《網絡安全設計》密碼學⑶對稱密鑰加密21TEA算法TEA的分組塊為64bit;密鑰長度為128bit《網絡安全設計》密碼學⑶對稱密鑰加密22TEA加密流程《網絡安全設計》密碼學⑶對稱密鑰加密23V0V1V1V0一個循環(huán)(含2輪)均為32bit運算異或加法<<邏輯左移>>邏輯右移DESDataEncryptionStandard數(shù)據(jù)加密標準屬于分組加密算法會話密鑰(SessionKey)為56位(8-byte,其中第8位為奇偶校驗位)的任意數(shù)數(shù)據(jù)劃分為64位的數(shù)據(jù)塊(分組)對64位的數(shù)據(jù)塊進行16輪迭代運算解密方法與加密完全一致,逆向使用子密鑰《網絡安全設計》密碼學⑶對稱密鑰加密24DES工作步驟初始變換IP迭代運算f共進行16輪每輪采用不同的子密鑰k1k2…k16逆變換IP-1《網絡安全設計》密碼學⑶對稱密鑰加密25DES算法《網絡安全設計》密碼學⑶對稱密鑰加密26(見下頁)64bits明文MIP32bitsL032bitsR0i=1...16i=1...16E48bitsS32bits+32bitsRi32bitsLi32bitsL1632bitsR16IP-164bits密文C64bits密鑰Ki=16?i=16?i=1...16①56bits28bitsC028bitsD0循環(huán)左移m(i)位循環(huán)左移m(i)位28bitsC128bitsD1②48bitsKi初始變換迭代運算f逆變換子密鑰DES的S運算《網絡安全設計》密碼學⑶對稱密鑰加密27DES四種工作方式電子密碼本(ElectronicCodeBook,ECB)密文分組鏈(CipherBlockChaining,CBC)密文反饋(CipherFeedBack,CFB)輸出反饋(OutputFeedBack,OFB)《網絡安全設計》密碼學⑶對稱密鑰加密28DES加密準備使明文長度成為64-bit的整數(shù)倍將明文分成n個64-bit分組Xi(i=0,1,…,n-1)如果明文長度不是64-bit的倍數(shù),則在明文末尾填充數(shù)據(jù)《網絡安全設計》密碼學⑶對稱密鑰加密2964-bitblock64-bitblock64-bitblock······pad······padlength······64-bitblockpadlength······64-bitblockpadlengthDES工作方式①電子密碼本(ElectronicCodeBook,ECB)對64-bit明文組mi用密鑰K分別進行加密,得到密文C=(c0,c1,…,cn-1),其中ci=DES(K,mi),i=0,1,…,n-1。此方式適合于并行處理,但相同的8-byte明文分組會加密得到相同的密文,而且被成組替換或修改而難以發(fā)現(xiàn)《網絡安全設計》密碼學⑶對稱密鑰加密30m0m1······m2mn-1Kc0c1······c2cn-1KKKM→C→DES工作方式②密文分組鏈(CipherBlockChaining,CBC)每個明文分組Mi在加密前與前一組密文異或(XOR)后,再送到DES加密。第一個分組加密時,需設置一個初始值(InitializationVector)。CBC方式克服了ECB方式的缺點,但由于加密與前一組密文有關,因此密文錯誤會依次傳播下去,且無法采用并行處理;而一組密文在傳輸中被破壞,僅影響兩組明文(本身和下一組)的正確解密《網絡安全設計》密碼學⑶對稱密鑰加密31m0m1······m2mn-1Kc0c1······c2cn-1KKKIVM→C→DES工作方式③密文反饋(CipherFeedBack,CFB)每個明文分組與前一組密文的加密結果異或后作為密文。第一個分組加密時,需使用初始值IV。由于加密與前一組密文相關,無法進行并行處理,且錯誤會往后擴散。此外,文本型明文的64-bit塊加密易被破譯《網絡安全設計》密碼學⑶對稱密鑰加密32m0m1······m2mn-1c0c1······c2cn-1IVM→C→DES工作方式③的可變長加密方法加密j-bit(j≤64)塊當j=8,即加密字節(jié)流(即使是文本型明文也難以破譯)《網絡安全設計》密碼學⑶對稱密鑰加密33IVM→C→64-jbits64-bit移位寄存器Ri(邏輯左移j位)jbits64-jjm0K丟棄64-jbits64-bit選擇寄存器Sj(選擇左側j位)jbits64-jjc06464jjj64-jjm1K64-jjc16464jjj64-jjm2K64-jjc26464jjjDES工作方式④輸出反饋(OutputFeedBack,OFB)與CFB方式一致,唯一不同的是OFB是直接取自前一組DES輸出的密文,故每個分組加密相互獨立,克服了CFB的密文錯誤傳播的缺點《網絡安全設計》密碼學⑶對稱密鑰加密34IVM→C→64-jjm0K64-jjc06464jjj64-jjm1K64-jjc16464jjj64-jjm2K64-jjc26464jjj3DESTriple-DES三重DES使用3個密鑰進行三次DES運算約相當于DES的112bits密鑰強度四種3DES模型——EEE3:三個不同密鑰,順序三次加密EDE3:三個不同密鑰,加密-解密-加密EEE2:密鑰K1=K3,順序三次加密EDE2:密鑰K1=K3,加密-解密-加密《網絡安全設計》密碼學⑶對稱密鑰加密35IDEAInternationalDataEncryptionAlgorithm國際數(shù)據(jù)加密算法屬于分組加密算法基于“相異代數(shù)群上的混合運算”設計思想長度為128-bit的密鑰數(shù)據(jù)塊大小為64-bit加密速度快,易實現(xiàn)《網絡安全設計》密碼學⑶對稱密鑰加密36IDEA算法《網絡安全設計》密碼學⑶對稱密鑰加密37IDEA算法圖解《網絡安全設計》密碼學⑶對稱密鑰加密3864-bit數(shù)據(jù)128-bit密鑰16-bit16-bit16-bit16-bit16-bit16-bit16-bit16-bit①②③④⑤⑥⑦⑧⑨⑩X116-bitX216-bitX316-bitX416-bit888816-bit16-bit16-bit16-bit⑾⑿⒀⒁循環(huán)左移25bits16-bit16-bit16-bit16-bit16-bit16-bit16-bit16-bit78126543910111213314151612345649505152177891011121AES高級加密標準AdvancedEncryptionStandard屬于分組加密技術采用Rijndael算法(Daeman&Rijmen,1999)分組長度128bits密鑰長度128/192/256bits,相應10/12/14輪速度快,耗用內存小,可靠性、防御能力強將替代DES成為新的數(shù)據(jù)加密標準《網絡安全設計》密碼學⑶對稱密鑰加密39AES算法《網絡安全設計》密碼學⑶對稱密鑰加密40第10輪第9輪第10輪第1輪明文128bit密鑰128bit明文128bit密文128bit密文128bit輪密鑰加字節(jié)代換行移位列混淆輪密鑰加……w[0,3]第9輪字節(jié)代換行移位列混淆輪密鑰加字節(jié)代換行移位輪密鑰加擴展密鑰w[4,7]輪密鑰加字節(jié)代換逆行移位逆列混淆逆輪密鑰加字節(jié)代換逆行移位逆……輪密鑰加w[36,39]w[40,43]第1輪列混淆逆輪密鑰加字節(jié)代換逆行移位逆44byteSMS4SMS4我國公布的第一個商用密碼算法(2006年1月)基于Feistel結構的對稱密鑰分組加密技術分組長度為128bits密鑰長度為128bits32輪非線性迭代f數(shù)據(jù)處理單位:8bits和32bits解密過程同加密過程(逆向用子密鑰)用于WAPI(WiFi)加密《網絡安全設計》密碼學⑶對稱密鑰加密41SMS4算法結構《網絡安全設計》密碼學⑶對稱密鑰加密42X4iX4i+1X4i+2X4i+3128-bit明文128-bit密鑰32-bit32-bit32-bit32-bitfX4i+5X4i+6ffX4i+7fX4i+4X4i+5X4i+6X4i+7i=0…7i++X35X34X33X32Y0Y1Y2Y3128-bit密文密鑰擴展gk4ik4i+1k4i+2k4i+3輪函數(shù)f進行32輪迭代每輪使用一個輪密鑰kr反向排列最后四個雙字X4i+4SMS4變換等價圖《網絡安全設計》密碼學⑶對稱密鑰加密43128-bit明文32-bitX0X1X2X332-bit32-bit32-bitX4X5X6X7X8······X31X32X33X34X35······128-bit密文32-bit32-bit32-bit32-bitff第1輪第2輪f第5輪f第32輪SMS4的輪函數(shù)f《網絡安全設計》密碼學⑶對稱密鑰加密44Xi+4=f(Xi,Xi+1,Xi+2,Xi+3,ki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕ki),i=0,1…31T(x)=L(S(x))32-bit運算L(x)=x⊕(x<<2)⊕(x<<10)⊕(x<<18)⊕(x<<24)<<循環(huán)左移S(x)為S-box置換(32-bit):8-bit8-bit8-bit8-bitx
(32-bit)S-boxS-boxS-boxS-box8-bit8-bit8-bit8-bitS(x)(32-bit)SMS4的S-box《網絡安全設計》密碼學⑶對稱密鑰加密458-bitS-box8-bit0xRC行號R列號C查表結果值8-bit數(shù)值的非線性變換SMS4的輪函數(shù)f圖示《網絡安全設計》密碼學⑶對稱密鑰加密46XjXj+1Xj+2Xj+3kj32bits32bitsS-box<<2<<10<<18<<24Xj+4第j輪的f變換j=0,1,2…3132bits32bits32bits32bits32bitsSMS4的輪密鑰生成①密鑰擴展算法準備常數(shù)FKiFK0=(A3B1BAC6),F(xiàn)K1=(56AA3350)FK2=(677D9197),F(xiàn)K3=(B27022DC)參數(shù)CKi(i=0,1,…31)ckij=(4i+j)×7(mod256)
i=0,1,2…31,j=0,1,2,300070e15,1c232a31,383f464d,545b6269,70777e85,8c939aa1,a8afb6bd,c4cbd2d9,e0e7eef5,fc030a11,181f262d,343b4249,50575e65,6c737a81,888f969d,a4abb2b9,c0c7ced5,dce3eaf1,f8ff060d,141b2229,30373e45,4c535a61,686f767d,848b9299,a0a7aeb5,bcc3cad1,d8dfe6ed,f4fb0209,10171e25,2c333a41,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人醫(yī)療貸款合同
- 空調系統(tǒng)故障維修合同
- 2024年物流公司轉讓合同范本
- 湖南省七年級上學期語文期中試卷9套【附答案】
- 業(yè)主/咨詢工程師標準服務協(xié)議書樣本
- 2024自己和單位簽的勞動合同自己沒有保留
- 2024家具買賣的合同模板
- 無財產分割離婚協(xié)議書2024年模板
- 2024年購銷青年雞合同范本
- 國際技術引進代理合同專業(yè)版
- 《DNA計算模型》課件
- 新冠病毒知識培訓課件
- 《眩暈的鑒別診斷》課件
- 中國傳統(tǒng)的主流思想
- 易制毒從業(yè)人員培訓課件
- 倉庫降本增效方案培訓課件
- 氫能與燃料電池-課件-第五章-制氫技術
- 用色彩表達情感課件
- (完整)中小學教師職稱評定答辯題
- 中國電影發(fā)展史簡介
-
評論
0/150
提交評論