《網(wǎng)絡(luò)空間安全技術(shù)實(shí)踐教程》課件6.1課件_第1頁(yè)
《網(wǎng)絡(luò)空間安全技術(shù)實(shí)踐教程》課件6.1課件_第2頁(yè)
《網(wǎng)絡(luò)空間安全技術(shù)實(shí)踐教程》課件6.1課件_第3頁(yè)
《網(wǎng)絡(luò)空間安全技術(shù)實(shí)踐教程》課件6.1課件_第4頁(yè)
《網(wǎng)絡(luò)空間安全技術(shù)實(shí)踐教程》課件6.1課件_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

6.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)原理:明文分組:64bit密鑰:64bit(實(shí)際只有56bit)

密文分組:64bit加解密:使用16輪Feistel網(wǎng)絡(luò)結(jié)構(gòu)網(wǎng)絡(luò)空間安全實(shí)踐教程16.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)原理:密鑰擴(kuò)展輸入64位密鑰,擴(kuò)展成16輪的輪密鑰K1,K2,…,K16輪變換每一輪核心運(yùn)算,輸入右分組(32位),輪密鑰(48位),輸出32位加解密輸入明文64位,進(jìn)行初始置換IP,對(duì)置換后的數(shù)據(jù)X0分成左右兩半L0與R0,利用輪函數(shù)f實(shí)施16次輪變換,得到L16與R16,最后進(jìn)行逆初始置換IP-1,得到密文64位DES的加密和解密幾乎一樣,不同之處在于加密時(shí)輸入是明文,子密鑰使用順序?yàn)镵1,…,K16;解密時(shí)輸入是密文,子密鑰使用順序?yàn)镵16,…,K1。網(wǎng)絡(luò)空間安全實(shí)踐教程26.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)原理:密鑰擴(kuò)展:

輸入初始密鑰64位,輸出16輪子密鑰K1…K16。初始密鑰64位經(jīng)過(guò)置換PC-1,去掉8個(gè)校驗(yàn)位留下56位。接著分成左右兩個(gè)28位的分組,分別經(jīng)過(guò)循環(huán)左移函數(shù),再連成56位然后經(jīng)過(guò)置換PC-2,輸出子密鑰K1。以此類推產(chǎn)生K2至K16。網(wǎng)絡(luò)空間安全實(shí)踐教程36.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)原理:輪變換:輸入32位右分組Ri-1,48位輪密鑰Si,輸出32位。將Ri做擴(kuò)展運(yùn)算E,變成48位,記E(Ri-1),與Si異或,得到E(Ri-1)⊕Si將上步輸出分為8組,每組Bi為6位,通過(guò)相應(yīng)的S盒Si,輸出Ci為4位,將所有Ci連成C(32位)。再通過(guò)置換P,得到最后的輸出32位在加密的第i輪,A=Ri-1,J=Ki網(wǎng)絡(luò)空間安全實(shí)踐教程46.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)原理:加解密:輸入明文分組64位,輸出密文分組64位。對(duì)明文分組6進(jìn)行初始置換IP。對(duì)IP后的數(shù)據(jù)分成左右兩半L0與R0,利用輪函數(shù)f與輪密鑰Ki實(shí)施輪變換,Li=Ri-1Ri=Li⊕f(Ri-1,Ki)16輪后得到L16與R16(最后一輪的左右兩半互換)進(jìn)行逆初始置換IP-1,得到密文分組64位網(wǎng)絡(luò)空間安全實(shí)踐教程56.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)要點(diǎn)說(shuō)明:模塊化編程:為了增加程序的正確性和可讀性,可維護(hù)性,建議實(shí)現(xiàn)模塊化編程,將算法實(shí)現(xiàn)的功能寫成若干子函數(shù)進(jìn)行調(diào)用。變換函數(shù):DES中的所有變換都可以寫成函數(shù),變換前為輸入,變換后為輸出。變換表由Table來(lái)引導(dǎo),變換后的長(zhǎng)度由len參數(shù)輸入。Temp可自己設(shè)定,參考如下代碼:

voidTransform(bool*Out,bool*In,constchar*Table,intlen){ for(inti=0;i<len;++i)

Temp[i]=In[Table[i]-1]; memcpy(Out,Temp,len);}網(wǎng)絡(luò)空間安全實(shí)踐教程66.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)要點(diǎn)說(shuō)明:字符轉(zhuǎn)化為位:可參考如下代碼voidByteToBit(bool*Out,constbool*In,intbits)//輸入為字符In,輸出的二進(jìn)制位存放在Out

{ for(inti=0;i<bits;++i) Out[i]=(In[i>>3]>>(i&7))&1;}位轉(zhuǎn)化為字符:可參考如下代碼voidBitToByte(char*Out,constbool*In,intbits)//輸入二進(jìn)制為In,輸出的字符存放在Out。{ memset(Out,0,bits>>3); for(inti=0;i<bits;++i) Out[i>>3]|=In[i]<<(i&7);}網(wǎng)絡(luò)空間安全實(shí)踐教程76.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)準(zhǔn)備:Windows操作系統(tǒng)VisualStudio2010以上開發(fā)環(huán)境網(wǎng)絡(luò)空間安全實(shí)踐教程86.1

DES密碼算法編程實(shí)驗(yàn)實(shí)驗(yàn)步驟:利用VisualC++開發(fā)環(huán)境,構(gòu)建類似右圖的DES密碼加解密界面。編寫加密按鈕事件:從明文框中讀入字符序列,從密鑰框中讀入8字節(jié)(64bit)密鑰,對(duì)明文進(jìn)行分組加密運(yùn)算,并在密文框中輸出。編寫解密按鈕事件:從密文框中讀入字符序列,從密鑰框中讀入密鑰,對(duì)密文進(jìn)行分組解密運(yùn)算,并在解密的明文框中輸出。

網(wǎng)絡(luò)空間安全實(shí)踐教程96.1DES密碼算法

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論