《計算機(jī)網(wǎng)絡(luò)安全防護(hù)技術(shù)(第二版)》 課件 第3章-任務(wù)3.1.2 探究DES加密技術(shù)_第1頁
《計算機(jī)網(wǎng)絡(luò)安全防護(hù)技術(shù)(第二版)》 課件 第3章-任務(wù)3.1.2 探究DES加密技術(shù)_第2頁
《計算機(jī)網(wǎng)絡(luò)安全防護(hù)技術(shù)(第二版)》 課件 第3章-任務(wù)3.1.2 探究DES加密技術(shù)_第3頁
《計算機(jī)網(wǎng)絡(luò)安全防護(hù)技術(shù)(第二版)》 課件 第3章-任務(wù)3.1.2 探究DES加密技術(shù)_第4頁
《計算機(jī)網(wǎng)絡(luò)安全防護(hù)技術(shù)(第二版)》 課件 第3章-任務(wù)3.1.2 探究DES加密技術(shù)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章數(shù)據(jù)加密技術(shù)3.1.2DES加密技術(shù)編著:

秦?zé)鰟诖浣?/p>

3.1.2DES加密技術(shù)

DES(DataEncryptionStandard,數(shù)據(jù)加密標(biāo)準(zhǔn))算法,是由IBM公司為非機(jī)密數(shù)據(jù)加密所設(shè)計的方案,1977年被美國政府采納,后被國際標(biāo)準(zhǔn)局采納為國際標(biāo)準(zhǔn)。DES算法是一種對稱加密算法,輸入的明文被分成64位的塊;密鑰長度是64位,其中56位為有效位,8位用于奇偶校驗。加密大致分為初始排列、16輪加密和翻轉(zhuǎn)初始排列等三個過程。

如圖3-1-1所示,整個算法的主流程圖如下:圖3-1-1des算法流程圖DES加密的大致過程如下:將64位的明文經(jīng)初始排列打亂順序,得到左邊32位L0和右邊32位R0兩部分;經(jīng)過第一輪加密后,變成左邊L1和右邊R1;經(jīng)過第二輪加密后,變成左邊L2和右邊R2;……如此循環(huán),總共經(jīng)過十六個不同子密鑰的16輪加密,得到左邊L16和右邊R16,將左右合并、翻轉(zhuǎn)初始排列后,最終得到64位密文。1.將64位的明文順序打亂,生成32位的左邊L0、32位的右邊R0兩部分;2.第一輪加密:1)新的左邊L1,直接取自原來的右邊R0;2)新的右邊R1,由原來的右邊R0、第一輪的子密鑰、原來的左邊L0,經(jīng)過加密運算,而生成。3.第二~第十六輪加密,與第一輪加密類似。4.翻轉(zhuǎn)初始排列。

下面以密鑰為OVERSEAS,明文為FOOTBALL為例,解釋DES的加密過程:一、通過查詢ASCII碼表,將明文和密鑰轉(zhuǎn)換成二進(jìn)制。表3-3是節(jié)選的ASCII碼表。表3-4是二進(jìn)制與十六進(jìn)制的對應(yīng)關(guān)系表。八進(jìn)制十六進(jìn)制十進(jìn)制字符1004064@1014165A1024266B1034367C1044468D1054569E1064670F1074771G1104872H1114973I1124a74J1134b75K1144c76L1154d77M1164e78N1174f79O1205080P1215181Q1225282R1235383S1245484T1255585U1265686V1275787W1305888X1315989Y1325a90Z表3-3ASCII碼表(節(jié)選)

如:通過查詢ASCII碼表,得到字符’F’的ASCII碼的16進(jìn)制是:46,轉(zhuǎn)成二進(jìn)制是:01000110通過查表,可得:明文FOOTBALL的ASCII碼的二進(jìn)制是:0100011001001111010011110101010001000010010000010100110001001100密鑰OVERSEAS的ASCII碼的二進(jìn)制是:0100111101010110010001010101001001010011010001010100000101010011二進(jìn)制十六進(jìn)制000000001100102001130100401015011060111710008100191010A1011B1100C1101D1110E1111F表3-4二進(jìn)制與十六進(jìn)制的對應(yīng)關(guān)系表二、明文的處理

按置換規(guī)則表,打亂明文的順序,并平分為左邊32位的L0和右邊32位的R0。一)概述:1.將64位的明文順序打亂,并平分為左邊32位的L0和右邊32位的R0;2.把右邊32位R0賦值給下一輪左邊L1;3.把左邊32位的L0、右邊32位R0(擴(kuò)展成48位)、第一輪子密鑰進(jìn)行加密運算,生成下一輪的R1。4.相關(guān)表格:1)置換規(guī)則表:其功能是把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位。表3-5所示的是置換規(guī)則表:表3-5置換規(guī)則表置換規(guī)則是將輸入的第58位換到第一位,第50位換到第2位,...,依此類推,輸入的第7位置換到最后一位。L0、R0則是換位輸出后的兩部分,L0是輸出的左32位,R0是右32位,例:設(shè)置換前的輸入值為D1D2D3......D64,則經(jīng)過初始置換后的結(jié)果為:L0=D58D50...D8;R0=D57D49...D7。585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572)擴(kuò)展排列表:用于把右邊32位R0擴(kuò)展為48位。表3-6所示的是擴(kuò)展排列表:表3-6擴(kuò)展排列表3212345456789891011121312131415161716171819202120212223242524252627282928293031321二)詳細(xì)過程1.明文FOOTBALL的ASCII碼的二進(jìn)制是:0100011001001111010011110101010001000010010000010100110001001100表3-7是明文FOOTBALL的ASCII碼的二進(jìn)制。表3-8是在表3-7的基礎(chǔ)上,進(jìn)行編號。表3-7明文FOOTBALL的ASCII碼的二進(jìn)制0100011001001111010011110101010001000010010000010100110001001100表3-8為明文FOOTBALL的ASCII碼的二進(jìn)制編號序12345678910111213141516碼0100011001001111序17181920212223242526272829303132碼0100111101010100序33343536373839404142434445464748碼0100001001000001序49505152535455565758596061626364碼01001100010011002.表3-9是置換規(guī)則表,需將明文按置換規(guī)則表進(jìn)行初始變換。表3-10是明文經(jīng)過初始變換后,得到的結(jié)果。即:1111111100001000110011110010011000000000000000001100011000010111表3-9置換規(guī)則表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157表3-10初始變換后的結(jié)果11111111000010001100111100100110000000000000000011000110000101113.把經(jīng)過初始變換后的明文分成左32位和右32位,得到:L0(32)=11111111000010001100111100100110R0(32)=000000000000000011000110000101114.生成新的左邊L1。把R0(32)賦值給L1(32),即L1(32)=R0(32)=000000000000000011000110000101115.把R0(32)按擴(kuò)展排列表擴(kuò)展為48位。表3-11是擴(kuò)展排列表,表3-12是32位的R0按擴(kuò)展排列表擴(kuò)展成48位的結(jié)果。說明:新的右邊R1,由原來的右邊R0、原來的左邊L0、第一輪的子密鑰,經(jīng)過加密運算,而生成。為了進(jìn)行上述加密運算,要先將R0擴(kuò)展成48位。即:R0(48)=100000000000000000000001011000001100000010101110表3-11擴(kuò)展排列表3212345456789891011121312131415161716171819202120212223242524252627282928293031321表3-12R0擴(kuò)展為48位100000000000000000000001011000001100000010101110三、密鑰的處理分析:密鑰要對明文進(jìn)行16次加密處理1)明文:前面的明文打亂了順序,平分成了左邊32位,右邊32位;右邊32位擴(kuò)展成了48位的R0(48);2)密鑰:一個密鑰將生成十六個子密鑰,十六個不同子密鑰的長度都是48位。3)加密:明文需經(jīng)過十六個不同子密鑰的十六輪加密,才能產(chǎn)生密文。第一輪加密產(chǎn)生新的左邊32位,新的右邊32位。其中,新的左邊32位,直接取自原來的右邊32位;新的右邊32位,由原來的右邊32位擴(kuò)展成48位與第一輪的子密鑰加密運算,再轉(zhuǎn)換成32位,再與原來的左邊32位,經(jīng)過加密運算,而生成。2.以生成第一輪48位的子密鑰為例1)把64位密鑰刪除8、16、24、32、40、48、56、64位,變成56位即,把8*8的表格,刪除最后一列。表3-13是將密鑰從64位變成56位的方法說明。得到64位的密鑰OVERSEAS的ASCII碼的二進(jìn)制:0100111101010110010001010101001001010011010001010100000101010011表3-14用于將64位的密鑰ASCII碼值代入,生成56位有效值。得到56位有效值:01001110101011010001001010010101001010001001000000101001表3-13刪除64位表格最后一列變成56位12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364表3-14將密鑰代入刪除最后一列01001111010101100100010101010010010100110100010101000001010100112)將56位的密鑰按下表(置換選擇1)進(jìn)行置換(1)將表3-13的第1列、第2列、第3列、第4列的一半,從下往上取,從左往右寫到表3-15的第1行、第2行、第3行、第4行的一半(即上表的一半順時針轉(zhuǎn)90度);(2)將表3-13的第7列、第6列、第5列、第4列的一半,從下往上取,從左往右寫到表3-15的第4行的一半、第5行、第6行、第7行:按表3-15的方式,可將表3-14的56位密鑰轉(zhuǎn)換成表3-16所示的新的56位密鑰:表3-15置換選擇1表57494133251791585042342618102595143352719113605044366355473931231576254463830221466153453729211352820124表3-1656位密鑰代入置換選擇1表000000001111111100000000100110011011001001110000000110103)將轉(zhuǎn)換后的56位的密鑰分成左、右兩部分C0=0000000011111111000000001001D0=10011011001001110000000110104)表3-17是各輪移位次數(shù)表。根據(jù)各輪移位次數(shù)表,將左、右兩部分都循環(huán)左移LSi位?,F(xiàn)在是第一輪,LSi=1,左右半部各循環(huán)左移一位后得:C1=0000000111111110000000010010D1=0011011001001110000000110101表3-17各輪移位次數(shù)表LSi·LS1LS2LS3LS4LS5LS6LS7LS8LS9LS10LS11LS12LS13LS14LS15LS16位數(shù)11222222122222215)表3-18是置換選擇2表。C1、D1拼接后得56位,按置換選擇2表進(jìn)行置換,生成48位的第一個子密鑰K1(其中,第9、18、22、25、35、38、43、54位被剔除)。表3-19是C1、D1拼接后的56位表。表3-20是置換后的得到的48位K1表。表3-18置換選擇2表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表3-19C1與D1拼接為56位123456780000000191011121314151611111110171819202122232400000001252627282930313200100011333435363738394001100100414243444546474811100000495051525354555600110101置換后,得48位K1。K1=101100001001001001001010111000001000000110010001表3-20置換后的48位K11417112415328101100001562110231912410010010268167272013201001010415231374755304011100000514533484449395610000001345346425036293210010001四、加密處理1)將R0(48)與K1進(jìn)行異或,得到A值:R0(48)=100000000000000000000001011000001100000010101110K1=101100001001001001001010111000001000000110010001異或后得A=0011000010010010010010111000000001000001001111112)將上面的A分為8組A1=001100A2=001001A3=001001A4=001011A5=100000A6=000100A7=000100A8=111111取A1的第1和第6位,作為數(shù)組的第一個數(shù);取中間4位,作為數(shù)組的第二個數(shù),得S1(00,0110),轉(zhuǎn)換為十進(jìn)制得S1(0,6)。同樣方法,得:S2(1,4)、S3(1,4),S4(1,5),S5(2,0),S6(0,2),S7(0,2),S8(3,15)3)表3-21是S盒數(shù)據(jù)變換表。查S盒數(shù)據(jù)變換表得:S1(0,6)=11轉(zhuǎn)成2進(jìn)制是:1011S2(1,4)=15轉(zhuǎn)成2進(jìn)制是:1111S3(1,4)=3轉(zhuǎn)成2進(jìn)制是:0011S4(1,5)=15轉(zhuǎn)成2進(jìn)制是:1111S5(2,0)=4轉(zhuǎn)成2進(jìn)制是:0100S6(0,2)=10轉(zhuǎn)成2進(jìn)制是:1010S7(0,2)=2轉(zhuǎn)成2進(jìn)制是:0010S8(3,15)=11轉(zhuǎn)成2進(jìn)制是:1011合并S1~S8,得:B=10111111001111110100101000101011表3-21S盒數(shù)據(jù)變換表

0123456789101112131415S1:01441312151183106125907101574142131106121195382411481362111512973105031512824917511314100613S2:01518146113497213120510131347152814120110691152014711104131581269321531381013154211671205149S3:01009146315511312711428113709346102851413111512136498153011121251014731101306987415143115212S4:07131430691012851112415113811561503472121101492106901211713151314528433150610113894511127214S5:02124171011685315130149114112124713150151039862421111013781591256301431181271142136150910453S6:01211015926801334147511110154271295611314011382914155281237041011311634321295151011141760813S7:04112141508133129751061113011749110143512215862141113123714101568059236111281410795015142312S8:01328461511110931450127111513810374125611014922711419121420610131535832114741081315129035611

4)表3-22是Permutation置換位置表。表2-23是B值的列表。表3-24是對B值列表進(jìn)行Permutation置換位置表變換后得到的X0值表。查Permutation置換位置表,對B值進(jìn)行Permutation置換,得到X0值。可見,經(jīng)過P置換后得到X0=110111001110111001011110010101105)L0(32)與X0按位異或,可得R1(32)L0(32)=11111111000010001100111100100110X0=11011100111011100101111001010110R1(32)=00100011111001101001000101110000表3-22Permutation置換位置表1672021291228171152326518311028241432273919133062211425

溫馨提示

  • 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

提交評論