信息安全導(dǎo)論課程ch對稱算法DES_第1頁
信息安全導(dǎo)論課程ch對稱算法DES_第2頁
信息安全導(dǎo)論課程ch對稱算法DES_第3頁
信息安全導(dǎo)論課程ch對稱算法DES_第4頁
信息安全導(dǎo)論課程ch對稱算法DES_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

密碼編碼學(xué)與網(wǎng)絡(luò)安全

電子工業(yè)出版社2006-2007第3章對稱算法DES3.1分組密碼算法原理 ↓3.2DES算法 ↓3.3DES強(qiáng)度 ↓3.4差分分析和線性分析 ↓3.5分組密碼設(shè)計(jì)原理 ↓* 3.ADESin/etc/passwd ↓* 3.BDESinOpenSSL ↓密碼技術(shù)發(fā)展1918,WilliamF.Friedman,TheIndexofCoincidenceandItsApplicationsinCryptography1949,ClaudeShannon,TheCommunicationTheoryofSecrecySystems1967,DavidKahn,TheCodebreakers1970s,NBS/NIST,DES(90s,AES)1976,Diffie,Hellman,NewDirectoryinCryptography1984,C.H.Bennett,QuantumCryptography:PublicKeyDistributionandCoinTossing1985,N.Koblitz,EllipticCurveCryptosystem2000,AES3.1分組密碼算法原理分組密碼算法BlockCipher明文被分為固定長度的塊(即分組),對每個分組用相同的算法和密鑰加解密分組一般為n=64比特,或更長(Padding)密文分組和明文分組同樣長對某個密鑰可以構(gòu)造一個明密文對照表Codebook(SubstitutionTable)所以分組的長得至少64比特才好密鑰空間2^k<<可逆映射個數(shù)(2^n)!序列密碼算法(流密碼算法)流密碼算法StreamCipher每次可以加密一個比特適合比如遠(yuǎn)程終端輸入等應(yīng)用流密碼可用偽隨機(jī)數(shù)發(fā)生器實(shí)現(xiàn)密鑰做為隨機(jī)數(shù)種子,產(chǎn)生密鑰流keystream(不重復(fù),或極大周期)XOR(plaintext,key-stream)One-timePad比較基本區(qū)別粒度8字節(jié)分組vs.1比特或1字節(jié)各自適應(yīng)不同的應(yīng)用數(shù)據(jù)格式Padding對相同的明文分組,總是輸出相同的密文分組; 而流密碼卻輸出不同的密文比特流密碼一般快很多分組密碼多些,是主流分組密碼也可以用作流模式安全性對比BlockCipherPrinciples00001110000101000010110100110001010000100101111101101011011110001000001110011010101001101011110011000101110110011110000011110111000011100001001100100100001110000100000101011100011010100111111110000111100111011010100110110110110010111101001011100000

乘積密碼:

重復(fù)使用代替和置換,實(shí)現(xiàn)混亂和擴(kuò)散。Feistel(DES)加密框架明文分組的長n=2w分左右兩半L0R0密鑰K產(chǎn)生子鑰:K→k1,k2,…,kr

r是輪數(shù),比如16輪⊕是異或函數(shù)XORp⊕x⊕x=p函數(shù)F是散列混亂函數(shù)可以是手工精心構(gòu)造的查表函數(shù) Feistel網(wǎng)絡(luò)

Feistel解密

Feistel–‘‘for’Loop加密計(jì)算算序列L0=左半R0=右半L1=R0R1=L0⊕F(k1,R0)L2=R1R2=L1⊕F(k2,R1)L3=R3R3=L2⊕F(k3,R2)…Li=Ri-1Ri=Li-1⊕F(ki,Ri-1)…Ln=Rn-1Rn=Ln-1⊕F(kn,Rn-1)密文即((Ln,Rn)解密計(jì)算算2輪解密舉舉例假設(shè)n=2輪,C=(L2,R2)加密明文=半半+半==L0+R0L1=R0R1=L0⊕F(k1,R0)L2=R1R2=L1⊕F(k2,R1)解密密文=半半+半==L2+R2R1=L2L1=R2⊕F(k2,R1)R0=L1L0=R1⊕F(k1,R0)明文=L0+R0L1=R2⊕F(k2,R1)=L1⊕F(k2,R1)⊕F(k2,R1)=L1L0=R1⊕F(k1,R0)=L0⊕F(k1,R0)⊕F(k1,R0)=L0Feistel偽代碼明文m長度n=2t,記為m0m1,每個長長度為t密鑰k產(chǎn)生r個子密鑰鑰k1,k2,...,kr加密Em:fori=2tor+1do0,1mi=mi-2XORf(mi-1,ki-1) i,i+1<-ki得密文(mr,mr+1)r,r+1<-kr解密Dfori=rto1domi-1=mi+1XORf(mi,ki)或fori=r-1to0domi=mi+2XORf(mi+1,ki+1)=miXORf(mi+1,ki+1)XORf(mi+1,ki+1)=mi唯一的非線線性結(jié)構(gòu)就就是F可以重復(fù)使使用兩個變變量即可Feistel參數(shù)數(shù)特性分組大小密鑰大小循環(huán)次數(shù)一般僅幾輪輪是不夠的的,得十幾幾輪才好,,如16輪子鑰產(chǎn)生算算法越復(fù)雜越好好輪函數(shù)Round關(guān)鍵其他考慮速度(尤其其是軟件實(shí)實(shí)現(xiàn)的速度度)便于分析((使用簡潔潔的結(jié)構(gòu)))Feistel類算算法舉例DES、CAST、Blowfish/(Twofish?)、RC6(/5)不是Feistel結(jié)構(gòu)的AES、IDEA*絕大數(shù)分組組密碼屬于于或類似Feistel結(jié)構(gòu)多輪每輪有XOR(或能恢復(fù)復(fù)的操作))輪函數(shù)3.2DESDataEncryptionStandard1971IBMHorstFeistel-Lucifer→→DES,key由128bit→56bit1973NBS,77NISTFIPS-46-NBS/NIST、IBM、NSA1994最后一次延延長到1999年-AES取代之參數(shù)Feistel體制分組密密碼分組大小64bit,密鑰大小小56bit,輪數(shù)16輪S-Boxes*DES密鑰置換選選擇-1

KeyPermutedChoiceOne(PC-1)574941332517981585042342618161025951433527241911360524436326355473931231540762544638302248146615345372956211352820124647×8K的56比特重新新排列,,成為C0D012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364Keyi(48bit)C0D0…C15D15PC-214171124153281562110231912426816727201324152313747553040514533484449395634534642503629328×6未入選的的:9、18、22等每輪從56比特中選選取48比特即為為Ki,并同時時左移Roundnumber12345678910111213141516Bitsrotated1122222212222221初始置換換及逆置置換InitialPermutation(IP/IP-1)5850423426181026052443628201246254463830221466456484032241685749413325179159514335271911361534537292113563554739312315740848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725初始明文文按照IP重排;16輪后的密密文按照照IP-1重排即為為最后密密文oddeven輪OneRound擴(kuò)展置換換ExpansionPermutation3212345456789891011121312131415161716171819202120212223242524252627282928293031321Ri的32bit→→48bit兩邊的是是重復(fù)選選中的6×8輪函數(shù)RoundFunctionS盒S-Boxes:1/4兩邊2比特選擇擇行號中間4比特選擇擇列號S-Boxes:5-8從S盒出來后后重排::PermutationFunctionP8×41672021291228171152326518311028241432273919133062211425DESReview一個DES計(jì)算實(shí)例例p=0123456789ABCDEFk=133457799BBCDFF1……c=85E813540F0AB405使用OpenSSL庫庫的DES函數(shù)數(shù)明文64bit““plaintxt””8字節(jié)Key56bit “password”取低7bits×8手工運(yùn)算算vs.voidDES_ecb_encrypt(const_DES_cblock*input,DES_cblock*output,DES_key_schedule*ks,intenc);密文文8B3297230f813edaaf3.3DES安安全全強(qiáng)強(qiáng)度度對DES的爭爭議議集集中中在在密鑰鑰空空間間太太小小Keyspace從Lucifer的2^128降到到DES的2^56DESChallengeIII,22hours15minutesS盒S-BoxesS盒的的設(shè)設(shè)計(jì)計(jì)準(zhǔn)準(zhǔn)則則??陷門門??trapdoorsbyNSA(?)“Formsurprisetosuspicion””從驚驚喜喜(甚至至能能夠夠抵抵御御很很后后來來才才發(fā)發(fā)現(xiàn)現(xiàn)的的各各種種攻攻擊擊)到懷懷疑疑(n年前前就就如如此此厲厲害害的的NSA現(xiàn)在在究究竟竟有有多多厲厲害害)密鑰鑰大大小小KeySize窮舉舉(蠻蠻力力)攻攻擊擊Cost/Time表表“DeepCrack””HardwareCrackerDevelopedbytheElectronicFrontierFoundationCostUS$210,000$80,000design$210,000materials(chips,boards,chassisetc)VLSIChipDevelopedbyAdvancedWirelessTechnologies24searchunitsperchip40MHz16cyclesperencryption2.5millionkeys/sBoardcontains64chips6cabinetsholding29boardsDeepCrackSystem90billionkeys/s37,000searchunitsc.f.DistributedNet’’s34billionkeys/sControlledbyPCcheckspossibleallASCIIcandidatesolutionsfromthesearchunitsSolvedRSA’’sDES-IIIin22hoursJan18,1999蠻力力攻攻擊擊對對明明文文內(nèi)內(nèi)容容的的要要求求*問問題題::如何何辨辨別別出出來來??對給給定定的的某某個個密密文文,,任任何何一一個個密密鑰鑰都都可可以以解解密密出出一一個個可可能能的的明明文文,,但但是是其其中中應(yīng)應(yīng)該該只只有有一一個個是是正正確確的的明明文文。。必須須事事先先知知道道明明文文的的結(jié)結(jié)構(gòu)構(gòu),,比比如如已已經(jīng)經(jīng)知知道道這這是是文字文文本、、源程程序((圖像像、聲聲音、、壓縮縮的??)如果有有兩個個密鑰鑰,解解密出出來的的兩個個明文文都有有意義義?可能性性極小小因?yàn)槊苊荑€空空間2^k<<可逆映映射個個數(shù)(2^n)!Onetimepad就是讓讓對手手分辨辨不出出哪個個更像像正確確明文文S盒特特性SizeInputN××outputM8×32,butDES6×42^N→MbitsincontrasttoDES’’s2^2××2^4→4NonlinearBentfunctionS-boxes’evolutionBlowfish,butDES’sisman-madeavoidanalyzeinadvanceAvalancheEffectinDES(A)P1:00000…0(64bit)P2:10000…0(相差1bit)K:00000011001011010010011000100011100001100000111000110010(B)K1:…(56bit)K2:…(相差1bit)P:…(64bit)DES弱密密鑰DES弱弱密鑰鑰:4(子密鑰鑰相同同)0101010101010101000000000000001F1F1F1FE0E0E0E0eq0000000FFFFFFFE0E0E0E01F1F1F1FFFFFFFF0000000FEFEFEFEFEFEFEFEFFFFFFFFFFFFFFDES半半弱密密鑰::12(兩個個子密密鑰,,互為為加解解密))01FE01FE01FE01FEFE01FE01FE01FE011FE01FE00EF10EF1E01FE01FF10EF10E01E001E001F101F1vsE001E001F101F1011FFE1FFE0EFE0EFEFE1FFE1FFE0EFE0E011F011F010E010E1F011F010E010E01E0FEE0FEF1FEF1FEFEE0FEE0FEF1FEF1DES可能的的弱密密鑰::24(四個個子密密鑰))…3.4差差分分分析和和線性性分析析蠻力攻攻擊計(jì)時攻攻擊差分分分析線性分分析正面分分析密密碼算算法的的新技技術(shù),,在很多多算法法上取取得很很好的的效果果差分分分析DifferentialCryptanalysisBiham,Shamir(‘S’)1991NSA,1974攻擊實(shí)實(shí)例對8輪DES,只需需微機(jī)機(jī)幾分分鐘對16輪DES,復(fù)雜雜度為為2^47需這么么多的的選擇明文,,使本本方法法只有有理論論意義義DifferentialCryptanalysisoftheFull16-roundDES線性分分析LinearCryptanalysisDES其其他DES肯定能能破譯譯不單是是RSAchallengeDES算法仍仍值得得信賴賴但是關(guān)關(guān)鍵場場合不不要用用DES對一般般個人人用戶戶仍是是安全全的RSAchallenge反而給給了信信心DES還是AES,或者者其他他DES模塊仍仍廣泛泛存在在,AES還沒有有普及及如果軟軟件實(shí)實(shí)現(xiàn),,任何何一個個經(jīng)過過考驗(yàn)驗(yàn)的算算法都都好DES/3DES、AES、RC4、RC5、IDEA、BlowfishFree/Open3.5分分組密密碼的的設(shè)計(jì)計(jì)原理理DESDesignCriteria設(shè)計(jì)準(zhǔn)準(zhǔn)則asreportedbyCoppersmithin[COPP94]7criteriaforS-boxesprovidefornon-linearityresistancetodifferentialcryptanalysisgoodconfusion3criteriaforpermutationPprovideforincreaseddiffusion分組密密碼設(shè)設(shè)計(jì)原原理輪數(shù)輪函數(shù)數(shù)FS盒雪崩效效應(yīng)密鑰使使用方方法子鑰衍衍生方方法雪崩效效應(yīng)輪函數(shù)數(shù)F及及S盒盒的設(shè)設(shè)計(jì)輪函數(shù)數(shù)F雪崩效效應(yīng)準(zhǔn)準(zhǔn)則strictavalanchecriterion獨(dú)立準(zhǔn)準(zhǔn)則bitindependencecriterionS盒構(gòu)造造方法法隨機(jī)方方法隨機(jī)加加測試試方法法人工構(gòu)構(gòu)造方方法數(shù)學(xué)構(gòu)構(gòu)造方方法查閱和和學(xué)習(xí)習(xí)3.ADESin/etc/passwdfile‘‘passwd’’formatusername:passwd:UID:GID:full_name:directory:shell{FromShadow-Password-HOWTO}account:password:UID:GID:GECOS:directory:shell{FromRH8}shadow/etc/passwdpasswd--->*/etc/shadowpasswdusername:passwd:last:may:must:warn:expire:disable:reservedsampleusername:Npge08pfz4wuk:503:100:FN:/home/username:/bin/shusername:x:503:100:FN:/home/username:/bin/sh1/2username:Npge08pfz4wuk:9479:0:10000::::2/2crypt()函數(shù)數(shù)crypt#define_XOPEN_SOURCE#include<unistd.h>char*crypt(constchar*key,constchar*salt);passwdspace128-32-’7f’’=95個可用用字符符95^nsalt兩個字字符,,每個個可從從[a-zA-Z0-9./]中選出出來,,即有有4096種不同同取值值抵制字字典攻攻擊中中的預(yù)預(yù)算值值crypt()描述述從passwd到keypadding形成8字符的的組每組產(chǎn)產(chǎn)生56bits=8×7的密鑰鑰如果多多于1組,則則XOR累計(jì)重復(fù)加加密64比特0到25回中間置置換,,受salt控制,,計(jì)有有4096種不同同的置置換輸出2+11字符2字符是是明碼碼salt11字符是是編碼碼后的的DES的64bits輸出密密文crypt()FigPasswdCrackerZipcrackersampleAdvancedZIPPasswordRecoverystatistics:EncryptedZIP-file:sdjfks.zipTotalpasswords:2,091,362,752Totaltime:6m58s725msAveragespeed(passwords/s):4,994,597Passwordforthisfile:7uee23PasswordinHEX:3775656532333.BDESinOpenSSLDES算法很很復(fù)雜雜,實(shí)實(shí)現(xiàn)起起來非非?,崿嵥椋?,在性性能和和移植植性上上也難難于友友好,,因此此如果果軟件件實(shí)現(xiàn)現(xiàn)提倡倡使用用開放放源碼碼的實(shí)實(shí)現(xiàn),,如OpenSSL等。OpenSSL是SSL/TLS協(xié)議的的開放放實(shí)現(xiàn)現(xiàn),其其中也也實(shí)現(xiàn)現(xiàn)了幾幾十種種密碼碼算法法。OpenSSL部署廣廣泛,,使用用OpenSSL中的DES非常便便利。。OpenSSL的使用用說明明參見見“OpenSSL使用指指南-x.xx.doc”O(jiān)penSSL庫結(jié)結(jié)構(gòu)圖圖SSL(ssleay32.dll)密碼算算法((libeay32.dll)應(yīng)用程程序(openssl.exe)對稱::DESAESRC4IDEA…非對稱稱:RSADHDSAECC…散列::MD5SHA1SHA256…隨機(jī)數(shù)數(shù)等::RANDBN…DESAPI(關(guān)于于ECB和CBC模式))程序示示例DESAPIinOpenSSL主程序序見備備注行行intdes_ecb_encrypt(input,output,schedule,enc)關(guān)鍵術(shù)術(shù)語KeyTermsavalancheeffectblockcipherconfusionDataEncryptionStandard(DES)differentialcryptanalysisdiffusionFeistelcipherirreversiblemappingkeylinearcryptanalysispermutationproductcipherreversiblemappingroundroundfunctionsubkeysubstitution小結(jié)了解DES的基基本原原理和和對DES的批批評,,清楚楚DES的的安全全強(qiáng)度度。雖然關(guān)關(guān)鍵場場合不不能繼繼續(xù)使使用DES,但但是通通常個個人用用戶使使用DES不會會有問問題。。如果是是在軟軟件程程序中中使用用,DES之外外還有有很多多更好好的選選擇。。Q&A9、靜夜四無無鄰,荒居居舊業(yè)貧。。。12月-2212月-22Thursday,December29,202210、雨雨中中黃黃葉葉樹樹,,燈燈下下白白頭頭人人。。。。03:47:5603:47:5603:4712/29/20223:47:56AM11、以我獨(dú)獨(dú)沈久,,愧君相相見頻。。。12月-2203:47:5603:47Dec-2229-Dec-2212、故人江海海別,幾度度隔山川。。。03:47:5603:47:5603:47Thursday,December29,202213、乍見翻翻疑夢,,相悲各各問年。。。12月-2212月-2203:47:5603:47:56December29,202214、他鄉(xiāng)生白白發(fā),舊國國見青山。。。29十二二月20223:47:56上上午03:47:5612月-2215、比比不不了了得得就就不不比比,,得得不不到到的的就就不不要要。。。。。十二二月月223:47上上午午12月月-2203:47December29,202216、行動出出成果,,工作出出財(cái)富。。。2022/12/293:47:5603:47:5629December202217、做前,,能夠環(huán)環(huán)視四周周;做時時,你只只能或者者最好沿沿著以腳腳為起點(diǎn)點(diǎn)的射線線向前。。。3:47:56上午午3:47上午午03:47:5612月-229、沒有失失敗,只只有暫時時停止成成功!。。12月-2212月-22Thursday,December29,202210、很很多多事事情情努努力力了了未未必必有有結(jié)結(jié)果果,,但但是是不不努努力力卻卻什什么么改改變變也也沒沒有有。。。。03:47:5603:47:5603:4712/29/20223:47:56AM11、成功就是是日復(fù)一日日那一點(diǎn)點(diǎn)點(diǎn)小小努力力的積累。。。12月-2203:47:5603:47Dec-2229-Dec-2212、世間間成事事,不不求其其絕對對圓滿滿,留留一份份不足足,可可得無無限完完美。。。03:47:5603:47:5603:47Thursday,December29,202213、不知知香積積寺,,數(shù)里里入云云峰。。。12月月-2212月月-2203:47:5603:47:56December29,202214、意志堅(jiān)強(qiáng)強(qiáng)的人能把把世界放在在手中像泥泥塊一樣任任意揉捏。。29十二二月2022

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論