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

正文內(nèi)容

linux系統(tǒng)下3des加密算法實現(xiàn)的畢業(yè)論文-wenkub.com

2025-06-19 12:09 本頁面
   

【正文】 老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實無華、平易近人的人格魅力對我影響深遠(yuǎn)。更重要的是我在這次畢業(yè)設(shè)計中更好的運用了各個方面收集的東西來學(xué)習(xí),克服種種問題,在面對問題的時候雖然讓我很煩躁,但是在解決這一切之后的收獲是遠(yuǎn)遠(yuǎn)大于我所遇到問題時的感受,在這個過程中我不斷學(xué)到了知識,更重要的是學(xué)到了做事的態(tài)度,堅持不懈,只有以端正態(tài)度去面對才能給成功。\039。 memcpy(szLast8Bits,_srcBytes + (iParts3),8)。i++) { memcpy(szLast8Bits,_srcBytes + (i3),8)。 int iResidue = _bytesLength % 8。 memcpy(szFPlaintextAnyLength,szPlaintextInBytes,_bytesLength)。\039。\039。 memcpy(szLast8Bits,_srcBytes + (iParts3),iResidue)。i++) { memcpy(szLast8Bits,_srcBytes + (i3),8)。 int iResidue = _bytesLength % 8。 memcpy(szFCiphertextAnyLength,szCiphertextInBytes,8)。\039。i++) { _dst[i] = _src[P_Table[i]1]。 } Int2Bits(S_Box[i][iX][iY], dstBits)。 int iY = 0。 for(int i=0。 iuiParamLength。 }} //功能:將右32位進(jìn)行擴(kuò)展位48位, //參數(shù):原32位字符串,擴(kuò)展后結(jié)果存放指針 //結(jié)果:函數(shù)改變第二個參數(shù)的內(nèi)容void yxyDES2::ExpansionR(char* _src,char* _dst){ for(int i=0。 memcpy(sz_Ri,sz_Rii,32)。 CompressFuncS(sz_xor48,s_Compress32)。 char s_Compress32[32] = {0}。 char sz_xor48[48] = {0}。j64。i++) { FunctionF(sz_Ri,sz_Li,15i,keyN)。 //divide the 64 bits data to two parts memcpy(sz_Ri,sz_IP,32)。 char sz_Ri[32] = {0}。 } Bits2Bytes(szCiphertextInBytes,szCiphertextRaw,64)。 memcpy(sz_Final64 + 32,sz_Li,32)。 for(int i=0。 Bytes2Bits(_srcBytes,szSrcBits,64)。 char sz_IP[64] = {0}。j++) { szSubKeys[keyN][i][j] = szTmp56[PC2_Table[j]1]。 memcpy(szTmp56,szCi,28)。 memcpy(szCi + 28 Shift_Table[i],szTmpL,Shift_Table[i])。 memcpy(szTmpR,sz_56key + 28,28)。 char szTmpR[28] = {0}。k56。方法函數(shù)部分: //功能:產(chǎn)生16個28位的key //參數(shù):源8位的字符串(key),存放key的序號01 //結(jié)果:函數(shù)將調(diào)用private CreateSubKey將結(jié)果存于char SubKeys[keyN][16][48]void yxyDES2::InitializeKey(char* srcBytes,unsigned int keyN){ //convert 8 charbytes key to 64 binarybits char sz_64key[64] = {0}。// 擴(kuò)展置換Econst static char E_Table[48] = { 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1}。 圖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}。圖52 DES對明文的加密下圖53到圖56所演示的就是DES加密算法文件加密功能實現(xiàn)的實列,如圖所示首先選擇了加密算法為DES加密,其輸入的密鑰為:12121212,加密文件內(nèi)容如圖55所示,加密文件為:“”,在點擊明文加密后,得出密文輸出在密文文本框中,得出的加密結(jié)果如圖56中密文文本框所顯示。//創(chuàng)建了一個名為w的窗口實列 ()。在加密的時候也可以選擇“明文加密”按鈕和“密文按鈕”來選擇是加密還是解密,在選擇之后輸入相應(yīng)的明文或者是密文與密鑰的組合后,點擊加密或解密來實現(xiàn)本設(shè)計的功能。 設(shè)計實現(xiàn)了明文,文件的加密和解密,為了簡化問題的描述,下面僅以框圖的方式給出本設(shè)計實例程序所實現(xiàn)的功能模塊,如圖41所示。 DES與3DES加密算法的功能實現(xiàn) 根據(jù)需求分析,確定本設(shè)計至少應(yīng)該包含如下一些功能: 運用DES加密算法對明文實現(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)行解密,這樣就實現(xiàn)了對數(shù)據(jù)的3DES解密算法的實現(xiàn)。比起最初的DES,3DES更為安全。Ri經(jīng)過E表將32位的密文擴(kuò)展為48位,在將將其與經(jīng)過置換選擇2的密鑰進(jìn)行異或運算后,再經(jīng)過S盒運算后將48位轉(zhuǎn)換為32位,再經(jīng)過P置換后與Li進(jìn)行異或運算得出Ri+1。在解密的時候?qū)⒎趾媒M的密文按照DES加密的過程來進(jìn)行。過程如下圖217:第2輪64比特密文56比特密鑰初始置換置換選擇2左循環(huán)移位第1輪置換選擇2左循環(huán)移位置換選擇2左循環(huán)移位第16輪左右交換64比特明文逆初始置換K1K2K166圖217 加密過程 DES解密的過程 DES解密的原理DES加密算法的解密與它本身的加密算法的原理是一樣的,因為DES加密算法是對稱加密算法,所以它在收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。S盒的操作規(guī)則是將6位一組的輸入中的第1位和第6位看作是選行信號,此兩位二進(jìn)制信息的組合可由0、3各行中選中一行;第2位至第5位看作是選列信號,共16種組合,故可由S盒的16列中選中一列,選中的行與列的交叉點的數(shù)即為S盒的輸出,此數(shù)的值在0與15之間,正好以4比特的輸出表示,8個S盒正好輸出32位。和分別表示第n1層的左右輸出。 DES加密的原理DES加密將傳統(tǒng)的代替法和換位法進(jìn)行多次組合,利用分散和錯亂的相互作用得出了密碼強(qiáng)度高的密文。而中間的4位就是0到15這16個數(shù)值,用它來選取這個矩陣的16列中的其中一列。其中每個s盒以6位輸入,產(chǎn)生4位的輸出結(jié)果。下圖為F函數(shù)運算圖:L[i] C[i]R[i] D[i] 左移 左移移置換\壓縮(置換選擇2)擴(kuò)展\置換(E表)異或運算L[i+1]C[i+1]R[i+1]D[i+1]替代\選擇(S盒) 置換(P)異或運算L[i] C[i]R[i] D[i] 左移 右移置換\壓縮(置換選擇2)擴(kuò)展\置換(E表)異或運算 32位 48位 K[i]48位 48位L[i+1]C[i+1]R[i+1]D[i+1]替代\選擇(S盒) 置換(P)異或運算 32位 圖25 F函數(shù)運算1. 擴(kuò)充置換E擴(kuò)充置換E的作用是將32位的輸入(即IP輸出的右32位)進(jìn)行操作使其變成48位的輸出,并作為與相對應(yīng)的48位子密鑰異或的輸入。其中R作為擴(kuò)充E的初始輸入,L作為置換P后面所要進(jìn)行的左右異或的輸入。如下圖24:初始置換(IP)是標(biāo)準(zhǔn)數(shù)據(jù)加密算法的第一個步驟。14 17 11 24 1 5 3 2815 6 21 10 23 19 12 426 8 16 7 2 20 13 241 52 31 37 47 55 30 4051 45 33 48 44 49 39 5634 53 46 42 50 36 29 32 圖23 置換選擇2(PC2)PC2每次循環(huán)都將Ai和Bi(1……16)一起作為PC2的16次置換的輸入,通過PC2置換得到16輪的48位子密鑰記為Kn共16組。通過PC1的置換,密鑰種子的第56位作為輸出的第1位,而密鑰種子的49位作為輸出的第2位等等以此類推直到密鑰種子的第4位作為輸出的第56位位置。DES的加密算法的密鑰擴(kuò)展需要用到兩個縮減變換PC1(置換選擇1(PC1))和PC2以及一個循環(huán)左移變換。在這種情況下,雖然一次一密方法仍能保持完好的不可破的密碼,但卻存在著嚴(yán)重的密鑰分配欺詐問題。 研究的意義目前,無論是對稱密碼體制還是非對稱密碼體制,都存在一定的缺陷。如何保證信息在傳送過程中不被黑客復(fù)制、插入、篡改、重排或重放,以及對已損壞的數(shù)據(jù)進(jìn)行恢復(fù),成為信息安全所研究一個重要內(nèi)容。在經(jīng)過初始置換操作后,對得到的64位序列進(jìn)行16輪的加密運算,這些運算被稱為函數(shù)f,在運算過程中,輸入數(shù)據(jù)與密鑰結(jié)合。64位的分組明文序列作為加密算法的輸入,經(jīng)過16輪加密得到64位的密文序列。為了增強(qiáng)DES算法應(yīng)對差分或線性攻擊的可能性,人們提出了采用增加密鑰長度,可將分組密鑰進(jìn)行級聯(lián),在不同的密鑰作用下,連續(xù)多次對一組明文進(jìn)行加密。當(dāng)時規(guī)定DES的使用期為10年。目前存在著許多不同的Linux,但它們都使用了Linux內(nèi)核。關(guān)鍵詞: Linux下的加密,對稱密碼,DES,3DES,信息加密Under LINUX 3DES encryption algorithm implementationAbstractIn recent years, with the rapid development of puter technology, munications technology, user of Linux rapid growth. Linux is a Unixlike operating system, and it is open source, free, and is more stable than the Windows operating system. It can be said that this prehensive and powerful Linux is pletely a passion, freedom, development of network products. Therefore weled by more and more users. With the growing popularity of the Linux operating system is China and development, is also faces many security issues. Followed by information
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1