網(wǎng)絡(luò)數(shù)據(jù)DES加密算法與實現(xiàn)_第1頁
網(wǎng)絡(luò)數(shù)據(jù)DES加密算法與實現(xiàn)_第2頁
網(wǎng)絡(luò)數(shù)據(jù)DES加密算法與實現(xiàn)_第3頁
網(wǎng)絡(luò)數(shù)據(jù)DES加密算法與實現(xiàn)_第4頁
網(wǎng)絡(luò)數(shù)據(jù)DES加密算法與實現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

網(wǎng)絡(luò)數(shù)據(jù)DES加密算法研究與實現(xiàn)摘要:本文介紹紹了幾種常見見的網(wǎng)絡(luò)數(shù)據(jù)據(jù)加密方法,分分析了對稱加加密與不對稱稱加密優(yōu)缺點點,結(jié)合實際際詳細闡述了了DES對稱加密算算法運算與密密鑰計算,并并在VC++66.0中實現(xiàn)了改改算法,論證證了改算法加加密快速性與與可行性。關(guān)鍵詞:網(wǎng)絡(luò)數(shù)數(shù)據(jù),DES算法,加密密1引言網(wǎng)絡(luò)數(shù)據(jù)加密方方式有對稱加加密、不對稱稱加密或者通通過網(wǎng)絡(luò)傳遞遞數(shù)據(jù)加密。常用的加密算法有RSA、DES、SSF33、3DES等,RSA為非對稱加密算法,該算法在數(shù)較小時易于實現(xiàn),而基于網(wǎng)絡(luò)安全需要有大整數(shù)的運算,RSA就需要執(zhí)行大量的加減乘除、模冪、模逆和密鑰對生成運算,軟件實現(xiàn)起來慢,特別在硬件實現(xiàn)時效率低;對稱加密也稱為私鑰加密,采用私鑰算法,加解密數(shù)據(jù)使用同一個密鑰,它以塊為單位加密數(shù)據(jù),一次加密一個數(shù)據(jù)塊,其優(yōu)點是加解密速度快,適合加密大量數(shù)據(jù),DES算法常用于身份識別領(lǐng)域,對于電力系統(tǒng)這樣安全高要求系統(tǒng)也常用詞算法加密,比如,辦理電站調(diào)度操作票時,電腦鑰匙需通過接口與PC機聯(lián)系下載操作票,這種雙向識別為保安全可用該算法。下面對該算法加以解析并在程序上加以仿真驗證。2DES算算法運算分析析DES算法是用用56位密鑰對64位的明文操操作,該算法法運算分為七七個步驟:輸輸入64個二進制明明文數(shù)據(jù)區(qū)組組:,按照初始換換位表IP進行換位,得得到數(shù)據(jù)組,換位表IP設(shè)置為8行8列,表示行列列中第i行第j列位置,置置換規(guī)則為,,IP表見表2.1。表2.1DEES算法IP表表2.2擴充函數(shù)表表58504234261810260524436282012462546383022146645648403224168574941332517915951433527191136153453729211356355473931231573212345456789891011121312131415161716171819202120212223242524252627282928293031321設(shè)是第i+1次次迭代的64個二進制位位輸入?yún)^(qū)組,將B分為L和R兩個部分,每一部分為一個32位二進制的數(shù)據(jù)塊。把R看成是由88個4位二進制的的塊組成:通過循環(huán)抄錄相相鄰塊的相鄰鄰塊,將上述述8個4位二進制擴擴充為8個6為二進制的的塊,用E(R)表示示這個變換,稱稱為擴充函數(shù)數(shù),見表2.2。在第i+1次迭迭代中,用48位二進制密密鑰與E(R)按位相加(邏邏輯異或),得得:將以上第j個6位二進制塊塊輸入第j個替代函數(shù)數(shù)中,的功能是是把6位數(shù)變換成4位數(shù),方法法是以為行號號,為列號,查查找,行列交交叉處即是要要輸出的4位數(shù)。替代代函數(shù)如下::S1:14,44,13,11,2,155,11,88,3,100,6,122,5,9,,0,7;0,15,7,,4,14,,2,13,,1,10,,6,12,,11,9,,5,3,88;4,11,14,88,13,66,2,111,15,112,9,77,3,100,5,0;;15,12,88,2,4,,9,1,77,5,111,3,144,10,00,6,133;S2:15,11,8,144,6,111,3,4,,9,7,22,13,112,0,55,10;3,13,4,,7,14,,2,8,115,12,,0,1,110,6,99,11,55;0,114,7,111,10,,4,13,,1,5,88,12,66,9,3,,2,15;;13,8,100,1,3,,15,4,,2,11,,6,7,112,0,55,14,99;依次類推::S8:13,22,8,4,,6,15,,11,1,,10,9,,3,14,,5,0,112,7;1,15,133,8,100,3,7,,4,12,,5,6,111,0,114,9,22;7,111,4,11,9,122,14,22,0,6,,10,133,15,33,5,8;;2,1,14,,7,4,110,8,113,15,,12,9,,0,3,55,6,111;八個替代函數(shù)的的輸出拼接為為32位二進制數(shù)數(shù)據(jù)區(qū)組,把把它作為換位位函數(shù)P(表2.3)的輸入,得得到輸出為::表2.3換位函函數(shù)P表表2.4IP逆變換表167202119122817115232651831102824143227391913306221142540848165624643239747155523633138646145422623037545135221612936444125220602835343115119592734242105018582633141949175725把Li與Xi按按位相加,得得出Ri+1,令Ri=Li+1,即得出經(jīng)經(jīng)過第i+1次迭代加密密后的輸出Li+1,Ri+1,其中中,在這16次迭代中,前前15次L表示左32位,R表示右32位,最后一一次迭代后,L表示右32位,R表示左32位,最后一一次不再左右右變換,以保保證加密的對對成性。最后后對R和L做逆出事變變換即可得到到密碼文。逆逆初始變換表表IP見表2.4。所以最后后有:,.3DES算法法密鑰計算方方法在每次迭代中要要用到的48位密鑰是根根據(jù)64位原始密鑰鑰計算出來的的。設(shè)64位原始密鑰鑰為:,48位密鑰為::,將原始密鑰鑰中所有8的倍數(shù)位用作作奇偶校驗位位,48位密鑰計算算過程為:先先要舍棄原始始密鑰K中的所有奇奇偶校驗位,經(jīng)經(jīng)過換位選擇擇處理,變成成兩個各為28位的數(shù)據(jù)區(qū)區(qū)組。其中換換位表為2.5。,.表2.5換位表表表2.6換位表表57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124換位表為2.66。再將各做n(n=11,2)位左循環(huán)移移位,得到::,,對應(yīng)不同i的左循環(huán)移移位位數(shù):i12345678910111213141516n1122222212222222將拼接為,用換換位選擇2,見表2.7,從中選出48位,形成第第一次迭代使使用的加密密密鑰:,用同樣的方方法遞推產(chǎn)生生第i次(i=2,…..16)迭代的密密鑰。表2.7置換換選擇2表14171124153281562110231912426816727201324152313747553040514533484449395634534642503629324DES算法的的程序設(shè)計上兩節(jié)對DESS算法運算分分析和密鑰的的計算的分析析,將DES算法運算過過程氛圍10個步驟:=1\*GB3①從外部輸入入64位原始密鑰鑰,其中56位是密鑰位位,8位是奇偶校校驗位;=2\*GB3②由依次計算算出16個48位密鑰分別用用于第1至第16次迭代,從從外部輸入64位明碼文;=3\*GB3③對做初始換換位,然后分分成個32位的,迭代計計數(shù)器置1,把擴充函函數(shù)作用于,得得;=5\*GB3⑤若執(zhí)行加密密操作,則選選用,若執(zhí)行行解密操作,則則選用;=6\*GB3⑥計算,得448位的數(shù)據(jù)區(qū)區(qū)組;=7\*GB3⑦將分組分別通通過相應(yīng)的,得得到32位的數(shù)據(jù)區(qū)區(qū)組;=8\*GB3⑧將換位函數(shù)數(shù)P作用與,得到到,計算;=9\*GB3⑨令,迭代計計數(shù)器加1。=10\*GB3⑩如果迭代計計數(shù)器小于等等于16,則再次做做第6步至第9步,否則將將經(jīng)逆初始換換位作用之后后輸出。根據(jù)據(jù)以上步驟,用C++語言實現(xiàn),給出關(guān)鍵函數(shù)說明:staticvoidDES(ccharOOut[8]],chaarIn[[8],cconstSUBKEEY_Pppskey,,boollTypee);//標準DES加解密staticvoidSETKEEY(connstchhar*KKey,iintleen);///設(shè)置密鑰staticvoidSet_SSubKeyy(SUBKKEY_Ppskeyy,connstchharKeey[8]));//設(shè)置子密鑰鑰staticvoidF_FUNNCTIONN(boollIn[332],cconstboolKi[488]);///f函數(shù)完成擴擴展置換、S盒代替和P盒置換staticvoidS_BOXXF(booolOutt[32],,consstbooolIn[[48]);;//S--盒代替函數(shù)數(shù)staticvoidTRANSSFORM((bool*Out,,booll*In,,consstchaar*Taable,intllen);///變換函數(shù)staticvoidXOR(bbool**InA,consttbooll*InBB,inttlen));//異或函數(shù)staticvoidCYCLEELEFT((bool*In,intllen,iintlooop);///循環(huán)左移函函數(shù)staticvoidByteTToBit((bool*Out,,consstchaar*Inn,inttbitss);//字節(jié)組轉(zhuǎn)換換成位組函數(shù)數(shù)staticvoidBitTooByte((char*Out,,consstboool*Inn,inttbitss);//位組轉(zhuǎn)換成成字節(jié)組函數(shù)數(shù)staticboolSubKeey;//子密鑰。5實驗結(jié)果分分析在VC++6..0下實現(xiàn)測試試結(jié)果見圖55.1。圖5.1VCC++6.00下DES測試結(jié)果DES加密算法法的加密流程程概括為初始始置換運算、16輪循環(huán)迭代代運算和逆初初始置換運算算三個過程,程程序運行結(jié)果果頁很好地說說明了該算法法加解密的快快速性,這種種快速加解密密方法常用于于通信網(wǎng)絡(luò)兩兩端,當雙方方約定了一致致的Key,在通信的源源點用Key對核心書記記進行DES加密,然后后以密碼形式式在公共通信信網(wǎng)中傳輸?shù)降酵ㄐ啪W(wǎng)絡(luò)的的終點,數(shù)據(jù)據(jù)到達目的地地后,用同樣樣的Key對密碼數(shù)據(jù)據(jù)進行解密。網(wǎng)網(wǎng)絡(luò)數(shù)據(jù)使用用該法加密能能防止數(shù)據(jù)在在傳輸過程中中被竊聽或者者篡改,尤其其適用長數(shù)據(jù)據(jù)。但是,由由于DES算法采用的的是單密鑰體體制,在密鑰鑰管理方面,算算法要求通信信前對密鑰進進行秘密分配配,密鑰的更更換困難,所所以對不同的的通信對象,需需

溫馨提示

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

評論

0/150

提交評論