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

正文內(nèi)容

數(shù)字加密技術—畢業(yè)設計論文-資料下載頁

2024-08-23 11:17本頁面
  

【正文】 //先填充這個,再填充64位}結(jié)果如上圖:(字符串是:nihaoni不覆在za)結(jié)果分析:字符串的長度為15,15%512 = 15,所以在字符串后要加1個1和432個0。實現(xiàn)步驟2的函數(shù)是filelen(long n)CString CMDHash::filelen(long n) //64位二進制表示的填充前信息長度{int i = 0。int a[64],g[64]。while( n != 0){a[i++] = n % 2。 學院理學學士學位論文 第三章 MD5 算法簡介32n = n / 2。} //求文件長度的二進制數(shù)a[i] = 1。int k = i。int k1 = k1。for(i=0。ik。i++)g[k1] = a[i]。 //文件長度值的二進制表示 CString getstr,fileleng = 。for(i=0。 i64k。 i++){int a=0。(%d,a)。fileleng += getstr。}k1 = 0。for(i=64k。 i64。 i++){(%d,g[k1++])。fileleng += getstr。} ()。 return fileleng。 //返回長度為64 的字符串}結(jié)果加下圖: (字符串是:nihaoni不覆在za ) 學院理學學士學位論文 第三章 MD5 算法簡介33結(jié)果分析 :15的二進制表示為1111,在其高位要加60個0。步驟1和2使原字符串的長度變?yōu)?n mod 512 = 448. MD5 的壓縮函數(shù) 現(xiàn)在了解四次循環(huán)處理一個 512bit 分組中 64 次循環(huán)的邏輯。每一循環(huán)由對緩存數(shù)state0,state1,state2,state3 的 16 步操作組成。每一步操作的形式為: (,)[])abgcdXkTis????其中:a = state0。 b = state1。 c = state2。 d = state3。a,b,c,d 緩存中的 4 個字,在不同步驟中有指明的順序s 是 32bit 參數(shù)循環(huán)左移(旋轉(zhuǎn))s 個比特 是第 g 個長度為 512bit 報文分組中的第 k 個 32bit 字[]16]XkMqk???是矩陣 T 中的第 i 個 32bit 字 i + =模加法 圖 說明這個步驟的操作。在每—步中,四個字(a,b,c,d)被用來產(chǎn)生字級別的循環(huán)右移以更新這些字的內(nèi)容。 學院理學學士學位論文 第三章 MD5 算法簡介34圖 基本的 MD5 操作用 VC++描述壓縮函數(shù):void CMDHash::round4(CString s, int n)//n是處理后的字符或文件的長度,s為文件或字符{DWORD a,b,c,d。a = state0。 //state0,state1,state2,state3的入口b = state1。c = state2。d = state3。DWORD x[16]。int m = n/16。for(int j=0。jm。j++) //s是字符串,其長度為N = L*512,q=0 to N/161。{ for(int i=0。i16。i++) 學院理學學士學位論文 第三章 MD5 算法簡介35x[i] = (unsigned long)s[j*16+i]。 /*round 1*/ a = ff(a,b,c,d,x[0],7,0xd76aa478)。 d = ff(d,a,b,c,x[1],12,0xe8c7b756)。 c = ff(c,a,b,d,x[2],17,0x242070db)。 b = ff(b,a,c,d,x[3],22,0xc1bdceee)。 a = ff(a,b,c,d,x[4],7,0xf57c0faf)。 d = ff(d,a,b,c,x[5],12,0x4787c62a)。 c = ff(c,a,b,d,x[6],17,0xa8304613)。 b = ff(b,a,c,d,x[7],22,0xfd469501)。 a = ff(a,b,c,d,x[8],7,0x698098d8)。 d = ff(d,a,b,c,x[9],12,0x8b44f7af)。 c = ff(c,a,b,d,x[10],17,0xffff5bb1)。 d = ff(d,a,c,d,x[11],22,0x895cd7be)。 a = ff(a,b,c,d,x[12],7,0x6b901122)。 d = ff(d,a,b,c,x[13],12,0xfd987193)。 c = ff(c,a,b,d,x[14],17,0xa679438e)。 b = ff(b,a,c,d,x[15],22,0x49b40821)。/*round 2*/ a = gg(a,b,c,d,x[1],5,0xf61e2562)。 d = gg(d,a,b,c,x[6],9,0xc040b340)。 c = gg(c,a,b,d,x[11],14,0x265e5a51)。 b = gg(b,a,c,d,x[0],20,0xe9b6c7aa)。 a = gg(a,b,c,d,x[5],5,0xd62f105d)。 d = gg(d,a,b,c,x[10],9,0x02441453)。 c = gg(c,a,b,d,x[15],14,0xd8a1e681)。 b = gg(b,a,c,d,x[4],20,0xe7d3fbc8)。 a = gg(a,b,c,d,x[9],5,0x21e1cde6)。 d = gg(d,a,b,c,x[14],9,0xc33707d6)。 c = gg(c,a,b,d,x[3],14,0xf4d50d87)。 學院理學學士學位論文 第三章 MD5 算法簡介36 b = gg(b,a,c,d,x[8],20,0x455a14ed)。 a = gg(a,b,c,d,x[13],5,0xa9e3e905)。 d = gg(d,a,b,c,x[2],9,0xfcefa3f8)。 c = gg(c,a,b,d,x[7],14,0x676f02d9)。 b = gg(b,a,c,d,x[12],20,0x8d2a4c8a)。/*round 3*/ a = hh(a,b,c,d,x[5],4,0xfffa3942)。 d = hh(d,a,b,c,x[8],11,0x8771f681)。 c = hh(c,a,b,d,x[11],16,0x6d9d6122)。 b = hh(b,a,c,d,x[14],23,0xfde5380c)。 a = hh(a,b,c,d,x[1],4,0xa4beea44)。 d = hh(d,a,b,c,x[4],11,0x4bdecfa9)。 c = hh(c,a,b,d,x[7],16,0xf6bb4b60)。 b = hh(b,a,c,d,x[10],23,0xbebfbc70)。 a = hh(a,b,c,d,x[13],4,0x289b7ec6)。 d = hh(d,a,b,c,x[0],11,0xeaa127fa)。 c = hh(c,a,b,d,x[3],16,0xd4ef3085)。 b = hh(b,a,c,d,x[6],23,0x04881d05)。 a = hh(a,b,c,d,x[9],4,0xd9d4d039)。 d = hh(d,a,b,c,x[12],11,0xe6db99e5)。 c = hh(c,a,b,d,x[15],16,0x1fa27cf8)。 b = hh(b,a,c,d,x[2],23,0xc4ac5665)。/*round 4*/ a = ii(a,b,c,d,x[0],6,0xf4292244)。 d = ii(d,a,b,c,x[7],10,0x432aff97)。 c = ii(c,a,b,d,x[14],15,0xab9423a7)。 b = ii(b,a,c,d,x[5],21,0xfc93a039)。 a = ii(a,b,c,d,x[12],6,0x655b59c3)。 d = ii(d,a,b,c,x[3],10,0x8f0ccc92)。 c = ii(c,a,b,d,x[10],15,0xffeff47d)。 學院理學學士學位論文 第三章 MD5 算法簡介37 b = ii(b,a,c,d,x[1],21,0x85845dd1)。 a = ii(a,b,c,d,x[8],6,0x6fa87e4f)。 d = ii(d,a,b,c,x[15],10,0xfe2ce6e0)。 c = ii(c,a,b,d,x[6],15,0xa3014314)。 b = ii(b,a,c,d,x[13],21,0x4e0811a1)。 a = ii(a,b,c,d,x[4],6,0xf7537e82)。 d = ii(d,a,b,c,x[11],10,0xbd3af235)。 c = ii(c,a,b,d,x[2],15,0x2ad7d2bb)。 b = ii(b,a,c,d,x[9],21,0xeb86d391)。 state0 += a。 state1 += b。 state2 += c。 state3 += d。 //緩存 state0,state1,state2,state3,并對它重新重值 }}MD5 對信息摘要的結(jié)果是:1. 對字符串做摘要2. 對文件做摘要 學院理學學士學位論文 第三章 MD5 算法簡介38 MD5 算法的安全md5 相對 md4 所作的改進 [1]:   1. 增加了第四輪;   2. 每一步均有唯一的加法常數(shù);  3. 為減弱第二輪中函數(shù) g 的對稱性從(xamp。y)|(xamp。z)|(yamp。z)變?yōu)?xamp。z)|(yamp。(~z));   4. 第一步加上了上一步的結(jié)果,這將引起更快的雪崩效應;   5. 改變了第二輪和第三輪中訪問消息子分組的次序,使其更不相似;   6. 近似優(yōu)化了每一輪中的循環(huán)左移位移量以實現(xiàn)更快的雪崩效應。各輪的位移量互不相同。 學院理學學士學位論文 第四章 MD5 算法在 RSA 算法中的應用39第四章 MD5 算法在 RSA 算法中應用 RSA 算法加密文件RSA 加密算法是主要應用于網(wǎng)絡傳輸方面。比如 A 發(fā)給 B 一封秘密文件,A 現(xiàn)在采用 RSA 加密算法加密文件。發(fā)送方 A 通過某種途徑知道了接收方 B 的公鑰,并對發(fā)送文件加密,產(chǎn)生密文在網(wǎng)絡上傳輸,而此密文只有知道 B 的公鑰才能解密。 加密過程RSA 加密算法采用分組的方法對文件加密,在這里分組長度為 1000 個字節(jié)。我的加密思想是:步驟 1 :n 為文件的長度,把文件分為(n/1000+1)組,對每個組進行加密。步驟 2 :建立一個臨時文件。在原文件中讀取第 i 組,把第 i 組中的每個字強制轉(zhuǎn)化為整型,就可以實現(xiàn) RSA 算法對數(shù)據(jù)加密。由于文件中可能有英文,有數(shù)字和漢字,他們的字節(jié)數(shù)不同。并且強制轉(zhuǎn)化為整數(shù)時,它們的符號也不同:漢字有兩個字節(jié),他們都為負整數(shù),數(shù)字和英文有一個字節(jié),他們都為正整數(shù)(加密過程不會改變它們的符號) 。再對轉(zhuǎn)化后的每個字節(jié)加密成為新的數(shù),把它們連成字符串,并用空格隔開。把加密后的字符串讀入臨時文件中。如:加密字符串:“你 ni 你 12”。結(jié)果如下:圖 再對他們做異或運算,結(jié)果如下: 學院理學學士學位論文 第四章 MD5 算法在 RSA 算法中的應用40圖 這就是加密的最后結(jié)果。步驟 3 :把臨時文件的內(nèi)容復制到原文中,代替原文,并刪除臨時文件。 對比以上兩個圖,圖 比圖 保密性要好一些。所以在加密后再做異或運算。 解密過程步驟 1 :n 為加密后文件的長度,把文件分為(n/10000+1)組,對每個組進行加密。由于加密后的文件比沒加密的文件要長 45 倍,所以分組要大一些。步驟 2 :建立一個臨時文件。在原文件中讀取第 i 組,把第 i 組中的每個字做異或運算,就可以得到表 ??梢詫崿F(xiàn) RSA 算法對數(shù)據(jù)解密。這樣的密文中只有:
點擊復制文檔內(nèi)容
范文總結(jié)相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1