版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
共頁(yè)第頁(yè)工商學(xué)院信息學(xué)部密碼學(xué)原理DES算法實(shí)驗(yàn)報(bào)告年級(jí)2012級(jí)學(xué)號(hào)2012478048姓名史雅楠成績(jī)專業(yè)12信計(jì)實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師常卓實(shí)驗(yàn)項(xiàng)目DES加密算法實(shí)驗(yàn)日期2015年9月24日實(shí)驗(yàn)報(bào)告要求:實(shí)驗(yàn)?zāi)康?、理解DES加密與解密的程序設(shè)計(jì)算法思想2、編寫DES加密與解密程序,實(shí)現(xiàn)對(duì)明文的加密與解密,加深對(duì)數(shù)據(jù)加密與解密的理解,掌握DES加密算法思想,提高網(wǎng)絡(luò)安全的編程能力。二、實(shí)驗(yàn)原理DES算法的入口參數(shù)有三個(gè):Key、Data、Mode。其中Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰;Data也為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式有兩種:加密或解密。DES算法是這樣工作的:如Mode為加密,則用Key去把數(shù)據(jù)Data進(jìn)行加密,生成Data的密碼形式(64位)作為DES的輸出結(jié)果;如Mode為解密,則用Key去把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果。在通信網(wǎng)絡(luò)的兩端,雙方約定一致的Key,在通信的源點(diǎn)用Key對(duì)核心數(shù)據(jù)進(jìn)行DES加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點(diǎn),數(shù)據(jù)到達(dá)目的地后,用同樣的Key對(duì)密碼數(shù)據(jù)進(jìn)行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。這樣,便保證了核心數(shù)據(jù)(如PIN、MAC等)在公共通信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過(guò)定期在通信網(wǎng)絡(luò)的源端和目的端同時(shí)改用新的Key,便能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)的流行做法。三、實(shí)驗(yàn)要求1分組加密算法DES算法過(guò)程2多重DES算法加密過(guò)程3算法過(guò)程中的各個(gè)變換矩陣或者S盒就4輸入輸出正確,各個(gè)程序語(yǔ)句的注釋5加解密要求都能夠正確運(yùn)行四、實(shí)驗(yàn)步驟、結(jié)果(程序+注釋+截圖)及分析混亂和擴(kuò)散的組合,即先代替后置換,它基于密鑰作用于明文,這是一輪(round),DES在明文分組上實(shí)施16輪相同的組合技術(shù)。如下圖所示:
DES對(duì)64位明文分組進(jìn)行操作。通過(guò)一個(gè)初始置換,將明文分組分成左半部分和右半部分,各32位長(zhǎng)。然后進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù)f,在運(yùn)算過(guò)程中數(shù)據(jù)與密鑰結(jié)合。經(jīng)過(guò)16輪后,左、右半部分合在一起經(jīng)過(guò)一個(gè)末置換(初始置換的逆置換),算法就完成了。
在每一輪中,密鑰位移位,然后再?gòu)拿荑€的56位中選出48位。通過(guò)一個(gè)擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過(guò)一個(gè)異或操作與48位密鑰結(jié)合,通過(guò)8個(gè)S盒將這48位替代成新的32位數(shù)據(jù),再將其置換一次。這四步運(yùn)算構(gòu)成了函數(shù)f。然后,通過(guò)另一個(gè)異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果即成為新的左半部分。將該操作重復(fù)16次,便實(shí)現(xiàn)了DES的16輪運(yùn)算。一輪DES如下圖所示:
假設(shè)Bi是第i次迭代的結(jié)果,Li和Ri是Bi的左半部分和右半部分,Ki是第i輪的48位密鑰,且f是實(shí)現(xiàn)代替、置換及密鑰異或等運(yùn)算的函數(shù),那么每一輪就是:
Li=Ri-1
Ri=Li-1⊕f(Ri-1,Ki)
1、初始置換
初始置換在第一輪運(yùn)算之前進(jìn)行,對(duì)輸入分組實(shí)施如下表所示的變換。初始置換把明文的第58位換到第1位的位置,把第50位換到第2位的位置,把第42位換到第3位的位置,依此類推。58,50,42,34,26,18,10,2,
60,52,44,36,28,20,12,462,54,46,38,30,22,14,6,
64,56,48,40,32,24,16,857,49,41,33,25,17,9,
1,
59,51,43,35,27,19,11,361,53,45,37,29,21,13,5,
63,55,47,39,31,23,15,7初始置換和對(duì)應(yīng)的末置換并不影響DES的安全性,它們的主要目的是為了更容易地將明文和密文數(shù)據(jù)以字節(jié)大小放入DES芯片中。2、密鑰置換由于不考慮每個(gè)字節(jié)的第8位,DES的密鑰由64位減至56位,每個(gè)字節(jié)第8位作為奇偶校驗(yàn)以確保密鑰不發(fā)生錯(cuò)誤。如下表所示:57,49,41,33,25,17,9,1,58,50,42,34,26,1810,2,59,51,43,35,27,19,11,3,60,52,44,36
63,55,47,39,31,23,15,7,62,54,46,38,30,2214,6,61,53,45,37,29,21,13,5,28,20,12,4在DES的每一輪中,從56位密鑰產(chǎn)生出不同的48位子密鑰(subkey),這些子密鑰是這樣確定的:首先,56位密鑰被分成兩部分,每部分28位。然后,根據(jù)輪數(shù),這兩部分分別循環(huán)左移1位或2位。每輪移動(dòng)的位數(shù)如下表:輪
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16位數(shù)
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1移動(dòng)后,就從56位中選出48位。這個(gè)運(yùn)算既置換了每位的順序,也選擇了子密鑰,被稱為壓縮置換(compressionpermutation)。下表即定義了壓縮置換:14,17,11,24,1,5,3,28,15,6,21,1023,19,12,4,26,8,16,7,27,20,13,241,52,31,37,47,55,30,40,51,45,33,4844,49,39,56,34,53,46,42,50,36,29,32可以看出,第33位的那一位在輸出時(shí)移到了第35位,而處于第18位的那一位被忽略了。3、擴(kuò)展置換這個(gè)運(yùn)算將數(shù)據(jù)的右半部分從32位擴(kuò)展到48位。這個(gè)操作兩方面的目的:它產(chǎn)生了與密鑰同長(zhǎng)度的數(shù)據(jù)以進(jìn)行異或運(yùn)算;它提供了更長(zhǎng)的結(jié)果,使得在替代運(yùn)算中能進(jìn)行壓縮。如下圖所示:對(duì)每個(gè)4位輸入分組,第1位和第4位分別表示輸出分組中的兩位,而第2位和第3位分別表示輸出分組中的一位,下表給出了哪一輸出位對(duì)應(yīng)哪一輸入位:32,
1,
2,
3,
4,
5,
4,
5,
6,
7,
8,
98,9,10,11,12,13,12,13,14,15,16,1716,17,18,19,20,21,20,21,22,23,24,2524,25,26,27,28,29,28,29,30,31,32,1處于輸入分組中第3位的位置移到了輸出分組中的第4位,而輸入分組的第21位則移到了輸出分組的第30位和第32位。盡管輸出分組大于輸入分組,但每一個(gè)輸入分組產(chǎn)生唯一的輸出分組。4、S盒代替壓縮后的密鑰與擴(kuò)展分組異或以后,將48位的結(jié)果送入,進(jìn)行代替運(yùn)算。替代由8個(gè)S盒完成,每一個(gè)S盒都由6位輸入,4位輸出,且這8個(gè)S盒是不同的。48位的輸入被分為8個(gè)6位的分組,每一個(gè)分組對(duì)應(yīng)一個(gè)S盒代替操作:分組1由S盒1操作,分組2由S盒2操作,等等。如下圖所示:每一個(gè)S盒是一個(gè)4行、16列的表。盒中的每一項(xiàng)都是一個(gè)4位的數(shù)。S盒的6個(gè)位輸入確定了其對(duì)應(yīng)的輸出在哪一行哪一列。下表列出所有8個(gè)S盒:
S盒1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,70,15,7,4,14,2,13,1,10,6,12,11,9,5,3,84,1,14,8,13,6,2,11,15,12,9,7,3,10,5,015,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13S盒2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,103,13,4,7,15,2,8,14,12,0,1,10,6,9,11,50,14,7,11,10,4,13,1,5,8,12,6,9,3,2,1513,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9S盒3:10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,813,7,0,9,3,4,6,10,2,8,5,14,12,11,15,113,6,4,9,8,15,3,0,11,1,2,12,5,10,14,71,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12S盒4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,1513,8,11,5,6,15,0,3,4,7,2,12,1,10,14,910,6,9,0,12,11,7,13,15,1,3,14,5,2,8,43,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14S盒5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,914,11,2,12,4,7,13,1,5,0,15,10,3,9,8,64,2,1,11,10,13,7,8,15,9,12,5,6,3,0,1411,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3S盒6:12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,1110,15,4,2,7,12,9,5,6,1,13,14,0,11,3,89,14,15,5,2,8,12,3,7,0,4,10,1,13,11,64,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13S盒7:4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,113,0,11,7,4,9,1,10,14,3,5,12,2,15,8,61,4,11,13,12,3,7,14,10,15,6,8,0,5,9,26,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12S盒8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,71,15,13,8,10,3,7,4,12,5,6,11,0,14,9,27,11,4,1,9,12,14,2,0,6,10,13,15,3,5,82,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11假定將S盒的6位的輸入標(biāo)記位b1、b2、b3、b4、b5、b6。則b1和b6組合構(gòu)成了一個(gè)2位數(shù),從0到3,它對(duì)應(yīng)著表的一行。從b2到b5構(gòu)成了一個(gè)4位數(shù),從0到15,對(duì)應(yīng)著表中的一列。例如,假設(shè)第6個(gè)S盒的輸入為110011,第1位和第6位組合形成了11,對(duì)應(yīng)著第6個(gè)S盒的第三行,中間4位組合形成了1001,它對(duì)應(yīng)著同一個(gè)S盒的第9列,S盒6在第三行第9列的數(shù)是14,則用值1110來(lái)代替110011。這是DES算法的關(guān)鍵步驟,所有其他的運(yùn)算都是線性的,易于分析,而S盒是非線性的,它比DES的其他任何一步提供了更好的安全性。這個(gè)代替過(guò)程的結(jié)果是8個(gè)4位的分組,他們重新合在一起形成了一個(gè)32位的分組。5、P盒置換S盒代替運(yùn)算的32位輸出依照P盒進(jìn)行置換。該置換把每輸入位映射到輸出位,任一位不能被映射兩次,也不能被略去,下表給出了每位移至的位置:16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,102,8,24,14,32,27,3,9,19,13,30,6,22,11,4,
25第21位移到了第4位,同時(shí)第4位移到了第31位。最后,將P盒置換的結(jié)果與最初的64位分組的左半部分異或,然后左、右半部分交換,接著開始另一輪。6、末置換末置換是初始置換的逆過(guò)程。DES在最后一輪后,左半部分和右半部分并未交換,而是將兩部分并在一起形成一個(gè)分組作為末置換的輸入,該置換如下表如示:40,8,48,16,56,24,64,32,39,7,47,15,55,23,
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年岳麓版九年級(jí)化學(xué)上冊(cè)月考試卷含答案
- 2025年滬教新版七年級(jí)物理下冊(cè)月考試卷
- 2024年貴州盛華職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2025年華師大新版七年級(jí)英語(yǔ)下冊(cè)月考試卷含答案
- 2024版城市道路照明設(shè)施建設(shè)合同
- 個(gè)體汽車租賃協(xié)議樣本下載(2024年度)版
- 2025年人教五四新版選修5歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年仁愛科普版七年級(jí)歷史下冊(cè)階段測(cè)試試卷
- 2025年北師大新版五年級(jí)數(shù)學(xué)上冊(cè)月考試卷含答案
- 2025年北師大版七年級(jí)物理下冊(cè)月考試卷
- 小學(xué)科學(xué)三年級(jí)上冊(cè)期末考試質(zhì)量分析
- 初一上學(xué)期英語(yǔ)期末試卷及答案
- GB/T 478-2001煤炭浮沉試驗(yàn)方法
- GB/T 2315-2017電力金具標(biāo)稱破壞載荷系列及連接型式尺寸
- 咽旁間隙腫瘤課件
- (完整版)中職數(shù)學(xué)習(xí)題及答案
- 高中語(yǔ)文 蘇軾導(dǎo)讀 課件
- 府谷縣恒陽(yáng)陽(yáng)建材有限公司-15萬(wàn)立方米-年混凝土攪拌站項(xiàng)目報(bào)告書
- 上交所期權(quán)投資者綜合試卷考試及答案
- 超市日常工作檢查表
- 電纜熱穩(wěn)定校驗(yàn)計(jì)算書
評(píng)論
0/150
提交評(píng)論