freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux系統(tǒng)下3des加密算法實(shí)現(xiàn)的畢業(yè)論文(編輯修改稿)

2024-07-19 12:09 本頁面
 

【文章內(nèi)容簡介】 S加密原理 3DES加密算法簡介 3DES加密算法簡介對于3DES加密過程而言其實(shí)質(zhì)就是運(yùn)用3次DES加密算法來實(shí)現(xiàn)的,3DES又稱Triple DES,是DES加密算法的一種模式,它使用3條56位的密鑰對數(shù)據(jù)進(jìn)行三次加密。根據(jù)使用的密鑰數(shù)和加解密變換過程不同,三重DES有四種模型:① 3DESEEE3,使用三個(gè)不同的密鑰,順序進(jìn)行三次加密 ② 3DESEDE3,使用三個(gè)不同的密鑰,依次進(jìn)行加密解密加密③ 3DESEEE2,使用兩個(gè)不同的密鑰,其中K1=K3,順序進(jìn)行三次加密④ 3DESEDE2,使用兩個(gè)不同的密鑰,其中K1=K3,依次進(jìn)行加密解密加密數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是美國的一種由來已久的加密標(biāo)準(zhǔn),它使用對稱密鑰加密法, DES使用56位密鑰和密碼塊的方法,而在密碼塊的方法中,文本被分成64位大小的文本塊然后再進(jìn)行加密。比起最初的DES,3DES更為安全。 3DES的加密過程 3DESEEE3加密3DES加密算法是以DES為基本模塊,通過組合分組方法設(shè)計(jì)出分組加密算法,其具體實(shí)現(xiàn)如下:設(shè)Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣, 3DES加密過程為:C=Ek3(Ek2(Ek1(P)))如下圖31:密鑰K3明文P加密算法E加密算法E加密算法E密文C密鑰K1密鑰K2圖31 3DESEEE3加密 3DESEDE3加密3DES加密算法是以DES為基本模塊,通過組合分組方法設(shè)計(jì)出分組加密算法,其具體實(shí)現(xiàn)如下:設(shè)Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣, 3DES加密過程為:C=Ek3(Dk2(Ek1(P)))如下圖32:密鑰K1明文P加密算法E解密算法D加密算法E密文C密鑰K3密鑰K2圖32 3DESEDE3加密 3DESEEE2加密3DES加密算法是以DES為基本模塊,通過組合分組方法設(shè)計(jì)出分組加密算法,其具體實(shí)現(xiàn)如下:設(shè)Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣, 3DES加密過程為:C=Ek1(Ek2(Ek1(P)))如下圖33:密鑰K1明文P加密算法E加密算法E加密算法E密文C密鑰K1密鑰K2 圖33 3DESEEE2加密 3DESEDE2加密3DES加密算法是以DES為基本模塊,通過組合分組方法設(shè)計(jì)出分組加密算法,其具體實(shí)現(xiàn)如下:設(shè)Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣, 3DES加密過程為:C=Ek1(Dk2(Ek1(P)))如下圖34:密鑰K1明文P加密算法E解密算法D加密算法E密文C密鑰K1密鑰K2圖34 3DESEDE2加密 3DES的解密過程 3DESEEE3解密其對于3DESEEE3解密來說,第一次用K1對初始數(shù)據(jù)解密,再用K2對K1解密后的數(shù)據(jù)解密,再用K3對K2加密后的數(shù)據(jù)進(jìn)行解密,這樣就實(shí)現(xiàn)了對數(shù)據(jù)的3DES解密算法的實(shí)現(xiàn)。3DESEEE3解密過程為:P=Dk1((DK2(Dk3(C))) 如下圖35:密鑰K3密文C解密算法E解密算法E解密算法E明文P密鑰K1密鑰K2圖35 3DESEEE3解密 3DESEDE3解密其對于3DESEDE3解密來說,第一次用K1對初始數(shù)據(jù)解密,再用K2對K1加密后的數(shù)據(jù)加密,再用K3對K2加密后的數(shù)據(jù)進(jìn)行解密,這樣就實(shí)現(xiàn)了對數(shù)據(jù)的3DES解密算法的實(shí)現(xiàn)。密鑰K3密文C解密算法E加密算法E解密算法E明文P密鑰K1密鑰K23DESEDE3解密過程為:P=Dk1((EK2(Dk3(C))) 如下圖36: 圖36 3DESEDE3解密 3DESEEE2解密其對于3DESEEE2解密來說,第一次用K1對初始數(shù)據(jù)解密,再用K2對K1解密后的數(shù)據(jù)解密,再用K1對K2解密后的數(shù)據(jù)進(jìn)行解密,這樣就實(shí)現(xiàn)了對數(shù)據(jù)的3DES解密算法的實(shí)現(xiàn)。3DESEEE2解密過程為:P=Dk1((DK2(Dk1(C))) 如下圖37:密鑰K1密文C解密算法E解密算法E解密算法E明文P密鑰K1密鑰K2 圖37 3DESEEE2解密 3DESEDE2解密其對于3DESEDE2解密來說,第一次用K1對初始數(shù)據(jù)解密,再用K2對K1解密后的數(shù)據(jù)加密,再用K1對K2加密后的數(shù)據(jù)進(jìn)行解密,這樣就實(shí)現(xiàn)了對數(shù)據(jù)的3DES解密算法的實(shí)現(xiàn)。3DESEDE2解密過程為:P=Dk1((EK2(Dk3(C))) 如下圖38:密鑰K1密文C解密算法E加密算法E解密算法E明文P密鑰K1密鑰K2 圖38 3DESEDE2解密 對于3DES加密算法而言它的解密過程其原理與DES加密算法是一樣的,也是運(yùn)用相應(yīng)K對其解密,這里所運(yùn)用的密鑰的順序正好與加密密鑰順序相反,在加密的時(shí)候用的是Ki加密/解密的,在解密的時(shí)候就用對應(yīng)的Ki進(jìn)行解密/加密后得出明文。第四章 DES與3DES加密算法的設(shè)計(jì)與實(shí)現(xiàn) DES與3DES加密算法的設(shè)計(jì) 需求分析本系統(tǒng)是一個(gè)加密算法功能實(shí)現(xiàn)的系統(tǒng)。其主要實(shí)現(xiàn)的功能DES與3DES加密算法對明文以及文件系統(tǒng)的加密功能和解密功能的實(shí)現(xiàn)來保護(hù)信息安全。 DES與3DES加密算法的功能實(shí)現(xiàn) 根據(jù)需求分析,確定本設(shè)計(jì)至少應(yīng)該包含如下一些功能: 運(yùn)用DES加密算法對明文實(shí)現(xiàn)加密與解密。 運(yùn)用DES加密算法對文件系統(tǒng)實(shí)現(xiàn)加密與解密。 運(yùn)用3DES加密算法對明文實(shí)現(xiàn)加密與解密。 運(yùn)用3DES加密算法對文件系統(tǒng)實(shí)現(xiàn)加密與解密。 設(shè)計(jì)實(shí)現(xiàn)了明文,文件的加密和解密,為了簡化問題的描述,下面僅以框圖的方式給出本設(shè)計(jì)實(shí)例程序所實(shí)現(xiàn)的功能模塊,如圖41所示。加密算法程序運(yùn)行加密解密DES加密3DES加密DES解密3DES解密明文加密文件加密明文加密文件加密明文解密文件解密明文解密文件解密 圖41 系統(tǒng)功能 設(shè)計(jì)在Linux環(huán)境下用了QT設(shè)計(jì)器及其GCC和G++的結(jié)合來實(shí)現(xiàn)的,其中用了一些相關(guān)的的功能控件及其功能,其中包含了兩個(gè)Radio Button控件用于對加密方式的選擇,Push Button控件用于一系列的提交按鈕如:加密、解密、清空等相關(guān)控件按鈕,Lable控件用于對相關(guān)的信息的提示,Text Edit控件用于對明文與密文的輸出顯示,Line Edit控件用于對密鑰和加密文件位置的獲取和顯示。該設(shè)計(jì)是運(yùn)用C/C++語言將DES加密的核心算法與QT結(jié)合來實(shí)現(xiàn)了對于信息的加密與解密功能。開始是否為DES加密是否為文件加密明文加密文件加密結(jié)束結(jié)束是否為文件加密明文加密文件加密結(jié)束結(jié)束加密功能流程圖 DES加密 3DES加密 否 是 否 是 圖42加密流程圖解密功能流程圖開始是否為DES解密是否為文件解密明文解密文件解密結(jié)束結(jié)束是否為文件解密明文解密文件解密結(jié)束結(jié)束 否 是 否 是 圖43解密流程圖第五章 DES與3DES加密算法設(shè)計(jì)的演示 界面設(shè)計(jì) DES與3DES界面原理在運(yùn)行本設(shè)計(jì)的加密算法之后所得出的界面如下圖51,本設(shè)計(jì)實(shí)現(xiàn)了對加密算法的選擇,是運(yùn)用DES加密或者是3DES加密(通過一個(gè)組合框?qū)ⅰ癉ES加密”和“3DES加密”2個(gè)選擇按鈕組合在一起作為加密算法的選擇)。在加密的時(shí)候也可以選擇“明文加密”按鈕和“密文按鈕”來選擇是加密還是解密,在選擇之后輸入相應(yīng)的明文或者是密文與密鑰的組合后,點(diǎn)擊加密或解密來實(shí)現(xiàn)本設(shè)計(jì)的功能。另外一可以通過瀏覽文件來選擇加密的文件,在選擇后可以點(diǎn)擊“文件加密”和“文件解密”來實(shí)現(xiàn)對應(yīng)的加密和解密功能。 圖51 加密界面 DES與3DES界面代碼includeQt/QApplication //該頭件包含有關(guān)QT界面的相關(guān)函數(shù)方法和應(yīng)用函數(shù)是運(yùn)用QT的基類include //該頭文件包含了如圖51的相關(guān)控件的定義和一些函數(shù)方法的定義int main(int argc,char *argv[]){QApplication a(argc,argv)。//創(chuàng)建了一個(gè)名為a的QApplication類的對象,來實(shí)現(xiàn)具體功能 MainWindow w。//創(chuàng)建了一個(gè)名為w的窗口實(shí)列 ()。//w這個(gè)窗口的運(yùn)行 return ()。//將相關(guān)的運(yùn)行信息返回給a這個(gè)實(shí)列運(yùn)行} DES與3DES加密算法功能設(shè)計(jì) DES加密功能的實(shí)現(xiàn)下圖52所演示的就是DES加密算法明文加密功能實(shí)現(xiàn)的實(shí)列,如圖所示首先選擇了加密算法為DES加密,其輸入的密鑰為:21321321,明文為:qq1213,在點(diǎn)擊明文加密后,得出密文輸出在密文文本框中,得出的加密結(jié)果如圖52中密文文本框所顯示。在解密時(shí)也是一樣的,輸入密文在密文文本框中再輸入密鑰,點(diǎn)擊明文解密就可以得出對應(yīng)的明文。圖52 DES對明文的加密下圖53到圖56所演示的就是DES加密算法文件加密功能實(shí)現(xiàn)的實(shí)列,如圖所示首先選擇了加密算法為DES加密,其輸入的密鑰為:12121212,加密文件內(nèi)容如圖55所示,加密文件為:“”,在點(diǎn)擊明文加密后,得出密文輸出在密文文本框中,得出的加密結(jié)果如圖56中密文文本框所顯示。 圖53 DES對文檔的加密位置查找 圖54 DES對文檔的加密位置選定圖55 DES對文檔的加密前內(nèi)容 圖56 DES對文檔的加密后內(nèi)容 3DES加密功能的實(shí)現(xiàn) 下圖57所演示的就是3DES加密算法明文加密功能實(shí)現(xiàn)的實(shí)列,如圖所示首先選擇了加密算法為3DES加密,其輸入的密鑰為:12345443,明文為:swadaw,在點(diǎn)擊明文加密后,得出密文輸出在密文文本框中,得出的加密結(jié)果如圖57中密文文本框所顯示。在解密時(shí)也是一樣的,輸入密文在密文文本框中再輸入密鑰,點(diǎn)擊明文解密就可以得出對應(yīng)的明文。 圖57 3DES對明文的加密下圖58到圖510所演示的就是3DES加密算法文件加密功能實(shí)現(xiàn)的實(shí)列,如圖所示首先選擇了加密算法為DES加密,其輸入的密鑰1為:12121212,密鑰2為:21212121加密文件內(nèi)容如圖55所示,加密文件為:“”,在點(diǎn)擊明文加密后,得出密文輸出在密文文本框中,得出的加密結(jié)果如圖510中密文文本框所顯示。 圖58 3DES對文檔的加密位置查找 圖59 3DES對文檔的加密位置加密 圖510 3DES對文檔的加密結(jié)果 程序代碼// 置換選擇P1const static char PC1_Table[56] = { 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18 10, 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, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4}。// 置換選擇P2const static char PC2_Table[48] = { 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32}。// 左移位數(shù)const static char Shift_Table[16] = { 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1}。// 初始置換IPconst static char IP_Table[64] = { 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1