信息安全實(shí)驗(yàn)報(bào)告摹本.doc_第1頁
信息安全實(shí)驗(yàn)報(bào)告摹本.doc_第2頁
信息安全實(shí)驗(yàn)報(bào)告摹本.doc_第3頁
信息安全實(shí)驗(yàn)報(bào)告摹本.doc_第4頁
信息安全實(shí)驗(yàn)報(bào)告摹本.doc_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、 密碼實(shí)驗(yàn)系統(tǒng)指導(dǎo)書1、DES單步加密實(shí)驗(yàn)2、DES算法實(shí)驗(yàn)3、3DES算法實(shí)驗(yàn)4、AES算法實(shí)驗(yàn)5、MD5算法實(shí)驗(yàn)6、SHA-1算法實(shí)驗(yàn)7、RSA算法實(shí)驗(yàn)8、DSA數(shù)字簽名實(shí)驗(yàn)1、DES單步加密實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 掌握DES算法的基本原理2. 了解DES算法的詳細(xì)步驟【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼教學(xué)實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000或者Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】什么是DES算法?【實(shí)驗(yàn)內(nèi)容】1. 掌握DES算法的原理及過程2. 完成DES密鑰擴(kuò)展運(yùn)算3. 完成DES數(shù)據(jù)加密運(yùn)算【實(shí)驗(yàn)步驟】1. 打開“DES理論學(xué)習(xí)”,掌握DES算法的加解密原理;2. 打開“DES算法流程”,開始DES單步加密實(shí)驗(yàn),如圖1-1;3. 選擇密鑰輸入為ASCII碼或十六進(jìn)制碼模式,輸入密鑰;若為ASCII碼模式,則輸入8個(gè)字符的ASCII碼;若為十六進(jìn)制碼模式,則輸入16個(gè)字符的十六進(jìn)制碼(09,af,AF);4. 點(diǎn)擊“比特流”按鈕,將輸入的密鑰轉(zhuǎn)化為64位比特流;5. 點(diǎn)擊“置換選擇I”按鈕,完成置換選擇I運(yùn)算,得到56bit有效密鑰位,并分為左右兩部分,各28bit;6. 點(diǎn)擊C0下的“循環(huán)左移”按鈕,對(duì)C0進(jìn)行循環(huán)左移運(yùn)算;7. 點(diǎn)擊D0下的“循環(huán)左移”按鈕,對(duì)D0進(jìn)行循環(huán)左移運(yùn)算;8. 點(diǎn)擊“選擇置換II”按鈕,得到擴(kuò)展子密鑰K1;9. 進(jìn)入第二部分加密,選擇加密輸入為ASCII碼或十六進(jìn)制碼模式,輸入明文;若為ASCII碼模式,則輸入8個(gè)字符的ASCII碼;若為十六進(jìn)制碼模式,則輸入16個(gè)字符的十六進(jìn)制碼(09,af,AF);10. 點(diǎn)擊“比特流”按鈕,將輸入明文轉(zhuǎn)化為64位比特流;11. 點(diǎn)擊“初始IP置換”按鈕,將64bit明文進(jìn)行IP置換運(yùn)算,得到左右兩部分,各32bit;12. 點(diǎn)擊“選擇運(yùn)算E”按鈕,將右32bit擴(kuò)展為48bit;13. 點(diǎn)擊“異或運(yùn)算”按鈕,將擴(kuò)展的48bit與子密鑰K1進(jìn)行按位異或;14. 依次點(diǎn)擊“S1”、“S2”、“S3”、“S4”、“S5”、“S6”、“S7”、“S8”按鈕,對(duì)中間結(jié)果分組后進(jìn)行S盒運(yùn)算;15. 點(diǎn)擊“置換運(yùn)算P”按鈕,對(duì)S盒運(yùn)算結(jié)果進(jìn)行P置換運(yùn)算;16. 點(diǎn)擊“異或運(yùn)算”按鈕,將P置換運(yùn)算結(jié)果與L0進(jìn)行按位異或,得到R1;17. 點(diǎn)擊“逆初始置換IP_1”按鈕,得到最終的加密結(jié)果。圖1-1 DES單步加密實(shí)驗(yàn)界面【實(shí)驗(yàn)思考題】a) DES算法中大量的置換運(yùn)算的作用是什么?b) DES算法中S盒變換的作用是什么?2DES算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 掌握DES運(yùn)算的基本原理2. 了解DES運(yùn)算的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼教學(xué)實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000或者Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1. DES算法有什么特點(diǎn)?2. DES算法的加解密過程?3. DES有哪些工作模式?各有什么特點(diǎn)?【實(shí)驗(yàn)內(nèi)容】1. 掌握DES算法的原理及過程2. 完成字符串?dāng)?shù)據(jù)的DES加密運(yùn)算3. 完成字符串?dāng)?shù)據(jù)的DES解密運(yùn)算【實(shí)驗(yàn)步驟】1. 打開“DES理論學(xué)習(xí)”,掌握DES算法的加解密原理;2. 打開“DES實(shí)例”,進(jìn)行字符串的加解密操作,如圖2-1;3. 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;4. 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;5. 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;6. 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入不超過8個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過16個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;7. 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;8. 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;9. 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖2-1 DES算法實(shí)驗(yàn)界面【實(shí)驗(yàn)思考題】在DES算法中有哪些是弱密鑰?哪些是半弱密鑰?3、3DES算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解3DES算法的基本原理2. 掌握3DES算法的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼教學(xué)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000或者Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.DES之后,為什么要有3DES? 2.就密鑰的長度而言,3DES的有幾種加密方式?【實(shí)驗(yàn)內(nèi)容】1. 完成單塊的數(shù)據(jù)的3DES 3密鑰加密運(yùn)算2. 完成單塊的數(shù)據(jù)的3DES 2密鑰加密運(yùn)算【實(shí)驗(yàn)步驟】1 熟悉3DES運(yùn)算原理;2 掌握不同密鑰數(shù)量的情況下,3DES的數(shù)學(xué)公式表示;3 在密碼教學(xué)系統(tǒng)中,打開“3DES實(shí)例”,如圖3-1;4 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;5 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;6 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;7 選擇密鑰長度為16字節(jié)或者24字節(jié),分別代表雙密鑰或三密鑰;8 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入16個(gè)或24個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過32個(gè)或48個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;9 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;10 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;11 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖3-1 3DES算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題】將下面的兩個(gè)密鑰中的有效比特列出來k1:12345678k2:234567894、AES算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解AES算法的基本原理2. 掌握AES算法的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼技術(shù)應(yīng)用實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000或者Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.AES中有限域上的數(shù)學(xué)運(yùn)算2.AES算法的特點(diǎn)【實(shí)驗(yàn)內(nèi)容】1. 掌握AES算法的原理及過程2. 完成字符串?dāng)?shù)據(jù)的AES加密運(yùn)算3. 完成字符串?dāng)?shù)據(jù)的AES解密運(yùn)算【實(shí)驗(yàn)步驟】1. 打開“AES理論學(xué)習(xí)”,掌握AES加密標(biāo)準(zhǔn)的原理;2. 打開“AES實(shí)例”,如圖4-1,進(jìn)行字符串的加解密操作;3. 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;4. 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;5. 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;6. 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入不超過16個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過32個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;7. 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;8. 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;9. 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖4-1 AES算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題】對(duì)于長度不足16字節(jié)整數(shù)倍的明文加密,除了填充這個(gè)辦法,還有沒有其他的方法?5、MD5算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解MD5算法的基本原理2. 掌握MD5算法的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼應(yīng)用技術(shù)實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000及Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.散列函數(shù)MD5的作用2.MD5算法的原理過程【實(shí)驗(yàn)內(nèi)容】1. 掌握MD5算法的原理及過程2. 完成字符串?dāng)?shù)據(jù)的MD5運(yùn)算以及完整性檢驗(yàn)3. 完成文件數(shù)據(jù)的MD5運(yùn)算以及完整性檢驗(yàn)【實(shí)驗(yàn)步驟】1. 點(diǎn)擊“MD5理論學(xué)習(xí)”,掌握MD5算法的基本原理;2. 點(diǎn)擊“MD5實(shí)例”,開始實(shí)驗(yàn),如圖5-1;3. 選擇“字符串”,在報(bào)文1編輯框中輸入字符串,例如:abcdefghijklmnopqrstuvwxyz,點(diǎn)擊“計(jì)算MD5值”按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中4. 在報(bào)文2編輯框中輸入對(duì)比字符串,例如:aacdefghijklmnopqrstuvwxyz,點(diǎn)擊“計(jì)算MD5值”按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中5. 點(diǎn)擊“異或比較”按鈕,兩個(gè)報(bào)文MD5值的異或值將顯示出來6. 選擇“文件”,點(diǎn)擊報(bào)文1后的“瀏覽”按鈕,選擇文件,點(diǎn)擊“計(jì)算MD5”值按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中7. 點(diǎn)擊報(bào)文2后的“瀏覽”按鈕,選擇對(duì)比文件,點(diǎn)擊“計(jì)算MD5”值按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中8. 點(diǎn)擊“異或比較”按鈕,兩個(gè)文件的MD5值的異或值將顯示出來,若為全0則表示文件內(nèi)容相同圖5-1 MD5算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題】改變報(bào)文中的一個(gè)比特值最多可能影響MD5值中的多少比特?6、SHA-1算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解SHA-1算法的基本原理2. 掌握SHA-1算法的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼應(yīng)用技術(shù)實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000及Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.散列函數(shù)SHA-1的作用2.SHA-1算法的原理過程【實(shí)驗(yàn)內(nèi)容】1. 掌握SHA-1算法的原理及過程2. 完成字符串?dāng)?shù)據(jù)的SHA-1運(yùn)算以及算法流程【實(shí)驗(yàn)步驟】1. 點(diǎn)擊“SHA-1實(shí)例”,開始實(shí)驗(yàn),如圖6-1;2. 點(diǎn)擊消息編輯框,輸入要填充的消息,例如:“abcdefghijklmnopqrstuvwxyzSHA-1實(shí)驗(yàn)”;3. 點(diǎn)擊“填充”按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中以16進(jìn)制顯示;4. 點(diǎn)擊“計(jì)算第一個(gè)填充塊的W0W79”,編輯框可以得到第一個(gè)填充塊的W0W15,以及計(jì)算W16所需要的W0、 W2 、W8 、W13 的16進(jìn)制以及二進(jìn)制顯示;5. 點(diǎn)擊“求W16”,其下的編輯框顯示W(wǎng)16的16進(jìn)制,以及W16計(jì)算過程的二進(jìn)制表示;6. 在“第一次循環(huán)運(yùn)算”組合框中,點(diǎn)擊“5”,右方編輯框得到a左移5位的16進(jìn)制表示,b編輯框顯示a的傳遞值;7. 點(diǎn)擊“30”,c編輯框顯示b左移30位的16進(jìn)制表示;8. 點(diǎn)擊“f0(b,c,d)”按鈕即可在后面顯示f0的計(jì)算結(jié)果,d,e編輯框分別顯示c,d的傳遞值;9. 點(diǎn)擊“Temp”,Temp編輯框顯示Temp的計(jì)算結(jié)果,并在a編輯框中同時(shí)顯示;10. 點(diǎn)擊“再經(jīng)過79次運(yùn)算”,按鈕下的編輯框中顯示80次運(yùn)算后的十六進(jìn)制值;11. 點(diǎn)擊“摘要”,系統(tǒng)在其右的編輯框顯示第一個(gè)填充塊的摘要的十六進(jìn)制值,頁面底部的“摘要”編輯框中顯示總的摘要;12. 若消息長度大于56字節(jié),則有兩個(gè)填充塊,點(diǎn)擊“第二填充塊80次循環(huán)的計(jì)算結(jié)果”,其下的編輯框顯示第二填充塊80次循環(huán)計(jì)算的十六進(jìn)制結(jié)果;13. 實(shí)驗(yàn)結(jié)束,可以進(jìn)行下一次實(shí)驗(yàn)。圖 6-1 SHA-1算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題】比較SHA-1算法與MD5算法的異同點(diǎn)?7、RSA算法實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解RSA算法的基本原理2. 掌握RSA算法的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼教學(xué)演示系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000及Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.RSA密碼系統(tǒng)所基于的數(shù)學(xué)難題是什么? 2.RSA密碼系統(tǒng)可以取代DES、3DES等公鑰密碼系統(tǒng)嗎?【實(shí)驗(yàn)內(nèi)容】u 自行以2位小素?cái)?shù)為p,q,3為公鑰e,構(gòu)造一個(gè)小的RSA系統(tǒng),對(duì)“1、2、3、4”這4個(gè)字母的ASCII碼進(jìn)行加密,解密u 在密碼教學(xué)系統(tǒng)中實(shí)現(xiàn)RSA運(yùn)算的大素?cái)?shù)、公鑰、私鑰的生成、明文加解密、分塊大小的選擇u 了解在不同分塊大小的情況下,RSA系統(tǒng)的密文長度也會(huì)有所變化u 了解在不同參數(shù)的情況下,RSA系統(tǒng)的性能變化【實(shí)驗(yàn)步驟】1 熟悉RSA運(yùn)算原理;2 打開“非對(duì)稱加密算法”中的“加密”選項(xiàng)下的“RSA”,選擇“RSA實(shí)例”,如圖7-1;3 選擇密鑰長度為128、256、 512或者1024比特;4 點(diǎn)擊“GetPQ”按鈕,得到兩個(gè)大素?cái)?shù);5 點(diǎn)擊“GetN”按鈕,得到一個(gè)由兩個(gè)大素?cái)?shù)的積構(gòu)成的大整數(shù);6 點(diǎn)擊“GetDE”按鈕,得到公鑰和私鑰;7 在明文對(duì)話框中輸入需要加密的明文字符串;8 點(diǎn)擊“獲得明文ASCII”按鈕可得到明文的ASCII碼;9 輸入分塊長度,或者通過點(diǎn)擊“推薦值”按鈕直接獲得;10 點(diǎn)擊“加密”按鈕可獲得加密后的密文,點(diǎn)擊“解密”按鈕可獲得解密后的明文;11 反復(fù)使用RSA實(shí)例,通過輸入不同大小的分片,了解密文長度的變化;12 反復(fù)使用RSA實(shí)例,通過輸入不同安全參數(shù),了解RSA密碼系統(tǒng)的性能與參數(shù)關(guān)系。圖7-1 RSA算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題】1.對(duì)于128bit的AES算法,需要多少安全參數(shù)為多少的RSA系統(tǒng)與之相匹配?2. RSA系統(tǒng)的安全參數(shù)是什么意思?安全參數(shù)為1024bit的RSA系統(tǒng),其模數(shù)n大約為多少bit?8、DSA數(shù)字簽名實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 了解數(shù)字簽名的基本原理2. 掌握數(shù)字簽名算法DSA的實(shí)現(xiàn)方法【實(shí)驗(yàn)環(huán)境】1. 本試驗(yàn)需要密碼應(yīng)用技術(shù)實(shí)驗(yàn)系統(tǒng)的支持2. 操作系統(tǒng)為Windows 2000及Windows XP【實(shí)驗(yàn)預(yù)備知識(shí)點(diǎn)】1.散列函數(shù)MD5的作用2.MD5算法的原理過程3. RSA算法的原理過程4. 數(shù)字簽名算法的基本原理【實(shí)驗(yàn)內(nèi)容】1. 掌握MD5算法以及RSA算法的原理及過程2. 完成字符串?dāng)?shù)據(jù)的MD5運(yùn)算以及完整性檢驗(yàn)3. 掌握數(shù)字簽名算法的基本原理及其過程4. 完成對(duì)字符串?dāng)?shù)據(jù)及文件的數(shù)字簽名過程5. 會(huì)計(jì)算RSA算法中各個(gè)參數(shù)值【實(shí)驗(yàn)步驟】1. 點(diǎn)擊“DSA數(shù)字簽名理論學(xué)習(xí)”,學(xué)習(xí)DSA原理;2. 點(diǎn)擊“DSA數(shù)字簽名實(shí)例”,開始數(shù)字簽名實(shí)驗(yàn),如圖8-1;3. 選擇“字符串”,或者“報(bào)文”。選擇“字符串”時(shí),在“報(bào)文”輸入框中輸入字符串,選擇“報(bào)文”時(shí),點(diǎn)擊瀏覽,選擇需要計(jì)算MD5值的文件;4. 點(diǎn)擊“計(jì)算MD5值”,系統(tǒng)在相應(yīng)的編輯框中顯示用戶輸入的字符串或者選擇的報(bào)文的MD5值;5. 選擇并計(jì)算簽名所需要的各個(gè)參數(shù)。包括p,q和n等。點(diǎn)擊“檢驗(yàn)”,檢查用戶輸入的正確性;6. 點(diǎn)擊“數(shù)據(jù)清空”,以清空上次實(shí)驗(yàn)值;7. 計(jì)算并輸入MD5值RSA算法簽名的前8位,MD5值的分塊大小默認(rèn)為8 bit,即2位16進(jìn)制數(shù)。計(jì)算過程中,取計(jì)算出的簽名值前八位輸入。點(diǎn)擊“檢驗(yàn)并生成簽名”,系統(tǒng)檢驗(yàn)用戶輸入的簽名值的正確性;8. 點(diǎn)擊“簽名并驗(yàn)證”框中的“驗(yàn)證”,系統(tǒng)顯示簽名驗(yàn)證值。圖 8-1 DSA實(shí)驗(yàn)【實(shí)驗(yàn)思考題】1. DSA算法的安全性建立在什么基礎(chǔ)上?一、 密碼實(shí)驗(yàn)系統(tǒng)參考答案1、DES單步加密實(shí)驗(yàn)2、DES算法實(shí)驗(yàn)3、3DES算法實(shí)驗(yàn)4、AES算法實(shí)驗(yàn)5、MD5算法實(shí)驗(yàn)6、SHA-1算法實(shí)驗(yàn)7、RSA算法實(shí)驗(yàn)8、DSA數(shù)字簽名實(shí)驗(yàn)1、 DES單步加密實(shí)驗(yàn)【實(shí)驗(yàn)名稱】 DES單步加密實(shí)驗(yàn) 姓名: 學(xué)號(hào): 班級(jí): 日期: 【實(shí)驗(yàn)預(yù)習(xí)答案】1什么是DES算法?為了適應(yīng)社會(huì)對(duì)計(jì)算機(jī)數(shù)據(jù)安全保密越來越高的要求,美國國家標(biāo)準(zhǔn)局于1973年向社會(huì)公開征集一種用于政府機(jī)構(gòu)和商業(yè)部門對(duì)非機(jī)密的敏感信息進(jìn)行加密的加密算法,經(jīng)過測(cè)評(píng),最后選中了IBM公司提交的一種加密算法。美國政府于1977年1月5日頒布了數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard),簡(jiǎn)稱DES?!緦?shí)驗(yàn)參考答案】18. 打開“DES理論學(xué)習(xí)”,掌握DES算法的加解密原理;19. 打開“DES算法流程”,開始DES單步加密實(shí)驗(yàn),如圖1-1;20. 選擇密鑰輸入為ASCII碼或十六進(jìn)制碼模式,輸入密鑰;若為ASCII碼模式,則輸入8個(gè)字符的ASCII碼;若為十六進(jìn)制碼模式,則輸入16個(gè)字符的十六進(jìn)制碼(09,af,AF);21. 點(diǎn)擊“比特流”按鈕,將輸入的密鑰轉(zhuǎn)化為64位比特流;22. 點(diǎn)擊“置換選擇I”按鈕,完成置換選擇I運(yùn)算,得到56bit有效密鑰位,并分為左右兩部分,各28bit;23. 點(diǎn)擊C0下的“循環(huán)左移”按鈕,對(duì)C0進(jìn)行循環(huán)左移運(yùn)算;24. 點(diǎn)擊D0下的“循環(huán)左移”按鈕,對(duì)D0進(jìn)行循環(huán)左移運(yùn)算;25. 點(diǎn)擊“選擇置換II”按鈕,得到擴(kuò)展子密鑰K1;26. 進(jìn)入第二部分加密,選擇加密輸入為ASCII碼或十六進(jìn)制碼模式,輸入明文;若為ASCII碼模式,則輸入8個(gè)字符的ASCII碼;若為十六進(jìn)制碼模式,則輸入16個(gè)字符的十六進(jìn)制碼(09,af,AF);27. 點(diǎn)擊“比特流”按鈕,將輸入明文轉(zhuǎn)化為64位比特流;28. 點(diǎn)擊“初始IP置換”按鈕,將64bit明文進(jìn)行IP置換運(yùn)算,得到左右兩部分,各32bit;29. 點(diǎn)擊“選擇運(yùn)算E”按鈕,將右32bit擴(kuò)展為48bit;30. 點(diǎn)擊“異或運(yùn)算”按鈕,將擴(kuò)展的48bit與子密鑰K1進(jìn)行按位異或;31. 依次點(diǎn)擊“S1”、“S2”、“S3”、“S4”、“S5”、“S6”、“S6”、“S8”按鈕,對(duì)中間結(jié)果分組后進(jìn)行S盒運(yùn)算;32. 點(diǎn)擊“置換運(yùn)算P”按鈕,對(duì)S盒運(yùn)算結(jié)果進(jìn)行P置換運(yùn)算;33. 點(diǎn)擊“異或運(yùn)算”按鈕,將P置換運(yùn)算結(jié)果與L0進(jìn)行按位異或,得到R1;34. 點(diǎn)擊“逆初始置換IP_1”按鈕,得到最終的加密結(jié)果。圖1-1 DES單步加密實(shí)驗(yàn)界面【實(shí)驗(yàn)思考題答案】1. DES算法中大量的置換運(yùn)算的作用是什么?通過置換運(yùn)算,可以打亂原文已有的一些統(tǒng)計(jì)特性,使得統(tǒng)計(jì)分析密文變得更加困難。2. DES算法中S盒變換的作用是什么?S盒變換是唯一的非線性變換,能夠抗差分攻擊和抗線性攻擊。2、 DES算法實(shí)驗(yàn)【實(shí)驗(yàn)名稱】 DES算法實(shí)驗(yàn) 姓名: 學(xué)號(hào): 班級(jí): 日期: 【實(shí)驗(yàn)預(yù)習(xí)答案】1. DES算法有什么特點(diǎn)?DES是一種分組密碼體制,它將明文按64位一組分成若干組,密鑰長為56位;其基本思想是采用變換的組合與迭代,將明文中的各組變?yōu)槊芪慕M;DES的保密性僅僅取決于對(duì)密鑰的保密,算法公開;由于“雪崩效應(yīng)”,無法分而破之,一位的變化將引起若干位同時(shí)變化。2. DES算法的加解密過程DES對(duì)64(bit)位的明文分組M進(jìn)行操作,M經(jīng)過一個(gè)初始置換IP置換成m0,將m0明文分成左半部分和右半部分m0=(L0,R0),各32位長。然后進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù)f,在運(yùn)算過程中數(shù)據(jù)與密鑰結(jié)合。經(jīng)過16輪后,左,右半部分合在一起經(jīng)過一個(gè)末置換,這樣就完成了12。在每一輪中,密鑰位移位,然后再從密鑰的56位中選出48位。通過一個(gè)擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過一個(gè)異或操作替代成新的32位數(shù)據(jù),在將其置換一次。這四步運(yùn)算構(gòu)成了函數(shù)f。然后,通過另一個(gè)異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重復(fù)16次,就實(shí)現(xiàn)了。具體圖2-1所示。DES加密和解密唯一的不同是密鑰的次序相反。如果各輪加密密鑰分別是K1,K2,K3.K16那么解密密鑰就是K16,K15,K14K1。 圖2-1 DES算法框圖3. DES有哪些工作模式?各有什么特點(diǎn)?第一種電子密本方式(ECB) 將明文分成n個(gè)64比特分組,如果明文長度不是64比特的倍數(shù),則在明文末尾填充適當(dāng)數(shù)目的規(guī)定符號(hào)。對(duì)明文組用給定的密鑰分別進(jìn)行加密,行密文C=(C0,C1,Cn-1)其中Ci=DES(K,xi),i=0,1,.,n-1。第二種密文分組鏈接方式(CBC) 在CBC方式下,每個(gè)明文組xi在加密前與先一組密文按位模2加后,再送到DES加密,CBC方式克服了ECB方式報(bào)內(nèi)組重的缺點(diǎn),但由于明文組加密前與一組密文有關(guān),因此前一組密文的錯(cuò)誤會(huì)傳播到下一組。第三種密文反饋方式(CFB),可用于序列密碼 明文X(x0,x1,xn-1),其中xi由t個(gè)比特組成0第四種輸出反饋方式(OFB),可用于序列密碼 與CFB唯一不同的是OFB是直接取DES輸出的t個(gè)比特,而不是取密文的t個(gè)比特,其余都與CFB相同。但它取的是DES的輸出,所以它克服了CFB的密文錯(cuò)誤傳播的缺點(diǎn)?!緦?shí)驗(yàn)參考答案】10. 打開“DES理論學(xué)習(xí)”,掌握DES算法的加解密原理;11. 打開“DES實(shí)例”,進(jìn)行字符串的加解密操作,如圖2-2;12. 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;13. 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;14. 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;15. 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入不超過8個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過16個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;16. 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;17. 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;18. 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖2-2 DES算法實(shí)驗(yàn)界面【實(shí)驗(yàn)思考題答案】在DES算法中有哪些是弱密鑰?哪些是半弱密鑰?DES中存在4個(gè)弱密鑰和12個(gè)半弱密鑰。4個(gè)弱密鑰:(1) 0x01 01 01 01 01 01 01 01(2) 0x1F 1F 1F 1F 0E 0E 0E 0E(3) 0xE0 E0 E0 E0 F1 F1 F1 F1(4) 0xFE FE FE FE FE FE FE FE12個(gè)半弱密鑰:(1)0x01 FE 01 FE 01 FE 01 FE(2)0xFE 01 FE 01 FE 01 FE 01(3)0x1F E0 1F E0 1F E0 1F E0(4)0xE0 1F E0 1F E0 1F E0 1F(5)0x01 E0 01 E0 01 E0 01 E0(6)0xE0 01 E0 01 E0 01 E0 01(7)0x1F FE 1F FE 0E FE 0E FE(8)0xFE 1F FE 1F 01 0E 01 0E(9)0x01 1F 01 1F 01 0E 01 0E(10)0x1F 01 1F 01 0E 01 0E 01(11)0xE0 FE E0 FE F1 FE F1 FE(12)0xFE E0 FE E0 FE F1 FE F13、3DES算法實(shí)驗(yàn)【實(shí)驗(yàn)名稱】 3DES算法實(shí)驗(yàn) 姓名: 學(xué)號(hào): 班級(jí): 日期: 【實(shí)驗(yàn)預(yù)習(xí)答案】1.DES之后,為什么要有3DES? 由于DES可能易于受到窮舉式攻擊,人們就需要找到一種替代加密算法。理論表明,如果DES被使用兩次,每次用不同的密鑰,那么產(chǎn)生的映射不是單次應(yīng)用DES定義的一種映射。但是雙重DES很容易受到中途攻擊,因此,3DES是一個(gè)比較理想的替代加密算法。2.就密鑰的長度而言,3DES的有幾種加密方式?就密鑰長度而言,3DES有兩種加密方式,一種兩密鑰的3DES加密方式,一種是三密鑰的3DES加密方式。其中在兩個(gè)密鑰的3DES加密方式中,第一個(gè)密鑰被用于第一次和第三次的加密運(yùn)算,第二個(gè)密鑰被用于第二次的解密運(yùn)算。在三個(gè)密鑰的3DES加密方式中,第一個(gè)密鑰被用于第一次的加密運(yùn)算,第二個(gè)密鑰被用于第二次的解密運(yùn)算,第三個(gè)密鑰被用于第三次的加密運(yùn)算?!緦?shí)驗(yàn)參考答案】12 熟悉3DES運(yùn)算原理;13 掌握不同密鑰數(shù)量的情況下,3DES的數(shù)學(xué)公式表示;14 在密碼教學(xué)系統(tǒng)中,打開“3DES實(shí)例”,如圖3-1;15 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;16 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;17 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;18 選擇密鑰長度為16字節(jié)或者24字節(jié),分別代表雙密鑰或三密鑰;19 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入不超過16個(gè)或24個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過32個(gè)或48個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;20 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;21 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;22 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖3-1 3DES算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題答案】1. 將下面的兩個(gè)密鑰中的有效比特列出來k1:12345678k2:23456789因?yàn)镈ES中的有效比特為56個(gè)比特,而給出的8個(gè)ASCII字符中,有8bit是無效的,在DES密鑰擴(kuò)展中會(huì)被自動(dòng)清除。也就是說第8,16,24,32,40,48,56,64個(gè)比特?zé)o效。因此1.k1:123456780011000 0011001 0011001 0011010 0011010 0011011 0011011 00111002.k2:234567890011001 0011001 0011010 0011010 0011011 0011011 0011100 00111003、 AES算法實(shí)驗(yàn)【實(shí)驗(yàn)名稱】 AES算法實(shí)驗(yàn) 姓名: 學(xué)號(hào): 班級(jí): 日期: 【實(shí)驗(yàn)預(yù)習(xí)答案】1.AES中有限域上的數(shù)學(xué)運(yùn)算AES 所用的加法和乘法是基于數(shù)學(xué)的域論,尤其是 AES 基于有限域GF(28)。GF(28)由一組從 0x00 到 0xff 的256個(gè)值組成,加上加法和乘法,因此是(28)。GF代表伽羅瓦域,以發(fā)明這一理論的數(shù)學(xué)家的名字命名。GF(28) 的一個(gè)特性是一個(gè)加法或乘法的操作的結(jié)果必須是在0x00 . 0xff這組數(shù)中。雖然域論是相當(dāng)深?yuàn)W的,但GF(28)加法的最終結(jié)果卻很簡(jiǎn)單。GF(28) 加法就是異或(XOR)操作。然而,GF (28)的乘法有點(diǎn)繁難。正如你稍后將在 C# 實(shí)現(xiàn)中所看到的,AES的加密和解密例程需要知道怎樣只用七個(gè)常量 0x01、0x02、0x03、0x09、0x0b、0x0d 和 0x0e 來相乘。所以我不全面介紹GF(28)的乘法,而只是針對(duì)這七種特殊情況進(jìn)行說明。在GF(28)中用0x01的乘法是特殊的;它相當(dāng)于普通算術(shù)中用1做乘法并且結(jié)果也同樣任何值乘0x01等于其自身?,F(xiàn)在讓我們看看用0x02做乘法。和加法的情況相同,理論是深?yuàn)W的,但最終結(jié)果十分簡(jiǎn)單。只要被乘的值小于0x80,這時(shí)乘法的結(jié)果就是該值左移1比特位。如果被乘的值大于或等于0x80,這時(shí)乘法的結(jié)果就是用值0x1b異或后的值再左移1比特位。它防止了“域溢出”并保持乘法的乘積在范圍以內(nèi)。一旦你在GF(28)中用0x02建立了加法和乘法,你就可以用任何常量去定義乘法。用0x03做乘法時(shí),你可以將 0x03 分解為2的冪之和。為了用 0x03 乘以任意字節(jié)b, 因?yàn)?0x03 = 0x02 + 0x01,因此:b * 0x03 = b * (0x02 + 0x01) = (b * 0x02) + (b * 0x01) 這是可以行得通的,因?yàn)槟阒廊绾斡?0x02 和 0x01 相乘和相加,同哩,用0x0d去乘以任意字節(jié)b可以這樣做:b * 0x0d = b * (0x08 + 0x04 + 0x01) = (b * 0x08) + (b * 0x04) + (b * 0x01) = (b * 0x02 * 0x02 * 0x02) + (b * 0x02 * 0x02) + (b * 0x01) 在加解密算法中,AES MixColumns 過程的其它乘法遵循大體相同的模式,如下所示:b * 0x09 = b * (0x08 + 0x01) = (b * 0x02 * 0x02 * 0x02) + (b * 0x01) b * 0x0b = b * (0x08 + 0x02 + 0x01) = (b * 0x02 * 0x02 * 0x02) + (b * 0x02) + (b * 0x01) b * 0x0e = b * (0x08 + 0x04 + 0x02) = (b * 0x02 * 0x02 * 0x02) + (b * 0x02 * 0x02) + (b * 0x02) 總之,在GF(28)中,加法是異或操作。其乘法將分解成加法和用0x02做的乘法,而用0x02做的乘法是一個(gè)有條件的左移1比特位。AES規(guī)范中包括大量 有關(guān)GF(28)操作的附加信息。2.AES算法的特點(diǎn)分組密碼:明文長度、密文長度、密鑰長度可變(128/192/256等),一般均取為128 ;面向二進(jìn)制的密碼算法:能夠加解密任何形式的計(jì)算機(jī)數(shù)據(jù);不是對(duì)合運(yùn)算:加、解密使用不同的算法;綜合運(yùn)用置換、代替、代數(shù)等多種密碼技術(shù)整體結(jié)構(gòu):基本輪函數(shù)加迭代。圈數(shù)可變,10。【實(shí)驗(yàn)參考答案】10. 打開“AES理論學(xué)習(xí)”,掌握AES加密標(biāo)準(zhǔn)的原理;11. 打開“AES實(shí)例”,進(jìn)行字符串的加解密操作,如圖4-1;12. 選擇“工作模式”為“ECB”或“CBC”或“CFB”或“OFB”;13. 選擇“填充模式”為“ISO_1”或“ISO_2”或“PAK_7”;14. 輸入明文前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在明文編輯框內(nèi)輸入待加密的字符串;15. 輸入密鑰前選擇ASCII碼或十六進(jìn)制碼輸入模式,然后在密鑰編輯框內(nèi)輸入密鑰;若為ASCII碼模式,則輸入不超過16個(gè)字符的ASCII碼,不足部分將由系統(tǒng)以0x00補(bǔ)足;若為十六進(jìn)制碼模式,則輸入不超過32個(gè)字符的十六進(jìn)制碼(09,af,AF),不足部分將由系統(tǒng)以0x00補(bǔ)足;16. 點(diǎn)擊“加密”按鈕,進(jìn)行加密操作,密鑰擴(kuò)展的結(jié)果將顯示在列表框中,密文將顯示在密文編輯框中;17. 點(diǎn)擊“解密”按鈕,密文將被解密,顯示在明文編輯框中,填充的字符將被自動(dòng)除去;也可以修改密鑰,再點(diǎn)擊“解密”按鈕,觀察解密是否會(huì)正確;18. 點(diǎn)擊“清空”按鈕即可進(jìn)行下次實(shí)驗(yàn)。圖3-1 AES算法實(shí)驗(yàn)【實(shí)驗(yàn)思考題答案】對(duì)于長度不足16字節(jié)整數(shù)倍的明文加密,除了填充這個(gè)辦法,還有沒有其他的方法?短塊的處理除了填充之外還可以采用“短塊二次加密”的方法,具體辦法為去最后一塊完整的16字節(jié)的密文的一部分結(jié)合短塊一起構(gòu)成一個(gè)16字節(jié)塊,一起加密后替換最后的16字節(jié),但要注意解密時(shí)需要將最后的16字節(jié)先解密。4、 MD5算法實(shí)驗(yàn)【實(shí)驗(yàn)名稱】 MD5算法實(shí)驗(yàn) 姓名: 學(xué)號(hào): 班級(jí): 日期: 【實(shí)驗(yàn)預(yù)習(xí)答案】1.散列函數(shù)MD5的作用MD5是message-digest algorithm 5(信息-摘要算法)的縮寫,被廣泛用于加密和解密技術(shù)上,它可以說是文件的“數(shù)字指紋”。任何一個(gè)文件,無論是可執(zhí)行程序、圖像文件、臨時(shí)文件或者其他任何類型的文件,也不管它體積多大,都有且只有一個(gè)獨(dú)一無二的MD5信息值,并且如果這個(gè)文件被修改過,它的MD5值也將隨之改變。因此,我們可以通過對(duì)比同一文件的MD5值,來校驗(yàn)這個(gè)文件是否被“篡改”過。2.MD5算法的原理過程MD5產(chǎn)生一個(gè)128位的HASH值,在經(jīng)過一寫初始樹立后,將明文分成了512位的塊,再將每一塊分成16個(gè)32位的子塊。算法的輸出是4個(gè)32位的塊,連接起來構(gòu)成128位的HASH值。 首先,將消息填充到比512的倍數(shù)少64位,填充時(shí)先向消息末尾填一個(gè)1,然后再填滿0,然后后面再加上一個(gè)64位的消息長度的表示(不包括填充位)。這兩步使消息長度恰好是512的倍數(shù),同時(shí)保證不同消息在填充后仍不相同。 初始化4個(gè)32位變量:A=0x01234567B=0x89abcdefC=0xfedcba98D=0x76543210這些變量成為鏈變量。然后,開始算法的主循環(huán)。這個(gè)循環(huán)對(duì)消息中所有的塊都執(zhí)行一次。將4個(gè)變量復(fù)制到不同的變量:a值為A,b值為B,c值為C,d值為D。主循環(huán)有4圈,都很相似。每圈使用一個(gè)不同的操作,重復(fù)16次。每個(gè)操作完成一個(gè)a,b,c和d中三個(gè)變量的非線性函數(shù)。然后,將結(jié)果與第四個(gè)變量、文本的一個(gè)子塊和一個(gè)常數(shù)相加。然后,將結(jié)果混換左移一個(gè)可變值的位數(shù),再將結(jié)果與a,b,c和d之一相加。最后用結(jié)果來代替a,b,c和d之一。共有4個(gè)非線性函數(shù),每次操作使用一個(gè),每圈都不相同。F(X,Y,Z)=(XY)(X)Z)G(X,Y,Z)=(XZ)(Y(z)H(X,Y,Z)=XYZI(X,Y,Z)=Y(X(z)為異或,為與,為或,為非如果Mi代表消息的第i個(gè)子塊(0到15),而s代表循環(huán)左移s位,則4個(gè)操作為:FF(a,b,c,d,Mj,s,ti)代表=a=b(a+F(b,c,d)+Mj+ti)s)GG(a,b,c,d,Mj,s,ti)代表=a=b(a+G(b,c,d)+Mj+ti)s)HH(a,b,c,d,Mj,s,ti)代表=a=b(a+H(b,c,d)+Mj+ti)s)II(a,b,c,d,Mj,s,ti)代表=a=b(a+I(b,c,d)+Mj+ti)s)MD5的4圈(64步)為:第一圈:FF(d,a,b,c,M1,12,0xe8c7b756)FF(c,d,a,b,M2,17,0x242070db)FF(b,c,d,a,M3,22,0xclbdceee)FF(a,b,c,d,M4,7,0xf57c0faf)FF(d,a,b,c,M5,12,0x4787c62a)FF(c,d,a,b,M6,17,0xa8304613)FF(b,c,d,a,M7,22,0xfd469501)FF(a,b,c,d,M8,7,0x698098d8)FF(d,a,b,c,M9,12,0x8b44f7af)FF(c,d,a,b,M10,17,0xffff5bb1)FF(B,C,D,A,m11,22,0X895cd7be)FF(a,b,c,d,M12,7,0xf6b901122)FF(d,a,b,c,M13,12,0xfd987193)FF(c,d,a,b,M14,17,0xa6794383)FF(b,c,d,a,M15,22,0x49b40821)第二圈:GG(a,b,c,d,M1,5,0xf61e2562)GG(d,a,b,c,M6,9,0xc040b340)GG(c,d,a,b,M11,14,0x2b5e5a51)GG(b,c,d,a,M0,20,0xe9b6c7aa)GG(a,b,c,d,M5,5,0xd62f105d)GG(d,a,b,c,M10,9,0x02441453)GG(c,d,a,b,M15,14,0xd8ale681)GG(b,c,d,a,M4,20,0xe7d3fbc8)GG(a,b,c,d,M9,5,0x21elcde6)GG(d,a,b,c,M14,9.0xc33707d6)GG(c,d,a,b,M3,14,0xf4d50d87)GG(b,c,d,a,M8,20,0x45al4ed)GG(a,b,c,d,M13,5,0xa9e3e905)GG(d,a,b,c,M2,9,0xfcefaef8)GG(c,d,a,b,M7,14,0x676f02d9)GG(b,c,d,a,M12,20,0x8d2a4c8a)第三圈:HH(a,b,c,d,M5,4,0xfffa3942)HH(d,a,b,c,M8,11,0x8771f681)HH(c,d,a,b,M11,16,0x6d9d6122)HH(b,c,d,a,M14,23,0xfde5380c)HH(a,b,c,d,M1,4,0xa4beea44)HH(d,a,b,c,M4,11,0x4bdecfa9)HH(c,d,a,b,M7,16,0xf6bb4b60)HH(b,c,d,a,M10,23,0xbebfbc70)HH(a,b,c,d,M13,4,0x28967ec6)HH(c,d,a,b,M3,16,0xd4ef3085)HH(b,c,d,a,M6,23,0x04881d05)HH(d,a,b,c,M12,11,0xe6db99e5)HH(c,d,a,b,M15,16,0xlfa27cf8)HH(b,c,d,a,M2,23,0xc4ac5665)第四圈 II(a,b,c,d,M0,6,0xf4292244) II(d,a,b,c,M7,10,0x432aff97) II(c,d,a,b,M14,15,0xab9423a7) II(b,c,d,a,M5,21,0xfc93a039) II(a,b,c,d,M12,6,0x655b59c3) II(d,a,b,c,M3,10,0x8f0ccc92) II(c,d,a,b,M10,15,0xffeff47d) II(b,c,d,a,M1,21,0x85845dd1) II(a,b,c,d,M8,6,0x6fa87e4f) II(d,a,b,c,M15,10,0xfe2ce6e0) II(c,d,a,b,M6,15,0xa3014314) II(b,c,d,a,M13,21,0x4e0811a1) II(a,b,c,d,M4,6,0xf7537e82) II(d,a,b,c,M11,10,0xbd3af235) II(c,d,a,b,M2,15,0x2ad7d2bb) II(b,c,d,a,M9,21,0xeb86d391) 這些常數(shù)ti步,ti為2的32次方乘abs(sin(i)的整數(shù)部分,其中i為弧度。完成這些之后,a,b,c,d與A,B,C,D相加,算法開始處理下一塊。最后的輸出結(jié)果為A,B,C,D相連接。對(duì)MD5的密碼分析表明,MD5還是比較安全的?!緦?shí)驗(yàn)參考答案】9. 點(diǎn)擊“MD5理論學(xué)習(xí)”,掌握MD5算法的基本原理;10. 點(diǎn)擊“MD5實(shí)例”,開始實(shí)驗(yàn),如圖5-1;11. 選擇“字符串”,在報(bào)文1編輯框中輸入字符串,例如:abcdefghijklmnopqrstuvwxyz,點(diǎn)擊“計(jì)算MD5值”按鈕,計(jì)算結(jié)果顯示在對(duì)應(yīng)的編輯框中12. 在報(bào)文2編輯框中輸入對(duì)比字符串,例如:aacdefghijklmnopqrstuvwxyz,點(diǎn)擊“

溫馨提示

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