• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種改進(jìn)的MD5加密算法及應(yīng)用

      2018-11-03 06:03:58徐躍吳曉剛
      現(xiàn)代計(jì)算機(jī) 2018年28期
      關(guān)鍵詞:個(gè)字符加密算法解密

      徐躍,吳曉剛

      (興義民族師范學(xué)院,興義 562400)

      0 引言

      隨著大數(shù)據(jù)與“互聯(lián)網(wǎng)+”的迅猛發(fā)展,網(wǎng)絡(luò)安全對(duì)生活產(chǎn)生了越來(lái)越深的影響。如在日常生活中如何保證自己的個(gè)人信息安全,如何提高計(jì)算機(jī)網(wǎng)絡(luò)的安全性,保護(hù)網(wǎng)站及其數(shù)據(jù)庫(kù)的安全,防止信息被竊取或者授權(quán)給非法用戶等,這些都表明網(wǎng)絡(luò)信息安全顯得尤為重要。

      2004年王小云教授公布了MD5算法的破解結(jié)果[1],讓人們認(rèn)識(shí)到了MD5算法的安全問(wèn)題。而MD5單向函數(shù)算法的便捷性使得它在生活中仍然有廣泛的應(yīng)用背景,特別是在網(wǎng)站帳號(hào)口令的加密中,如何使MD5在應(yīng)用過(guò)程中更加安全可靠,引發(fā)了人們對(duì)該密碼算法安全性的思考。

      針對(duì)MD5加密算法在目前PHP網(wǎng)站開(kāi)發(fā)中的應(yīng)用,我們對(duì)MD5算法進(jìn)行作了一個(gè)改進(jìn)的應(yīng)用,有效地提高其安全性,并運(yùn)用網(wǎng)站上公開(kāi)的解密工具作了攻擊對(duì)比實(shí)驗(yàn)。

      1 MD5加密算法的原理

      MD5算法是一種用來(lái)處理消息的算法,其加密原理如下所示:

      MD5算法簡(jiǎn)述可以為MD5以512位分組來(lái)處理信息[1],一個(gè)字符的長(zhǎng)度是8位,即一個(gè)字節(jié)的長(zhǎng)度。MD5算法就是將需要加密的信息分割成很多個(gè)分組,每個(gè)分組為512位,不足512位的X部分先填充一個(gè)1,再接無(wú)數(shù)個(gè)0,直到補(bǔ)足512位。加密過(guò)程如下[1]:

      (1)填充:輸入的信息每一個(gè)分組為512位,如果分組小于512位,則需要進(jìn)行填充。填充的方法是填充一個(gè)1和n個(gè)0。填充完后,信息的每組長(zhǎng)度就為512 位(bit)。

      (2)初始化變量:對(duì)變量進(jìn)行初始化,它們分別為:M=0x23456789,N=0x89FEDCBA,O=0xABCDEF98,P=0x01234567。這些變量用于第一輪的運(yùn)算。

      (3)分組處理數(shù)據(jù):每一分組的算法流程如下:

      第一分組將上面四個(gè)變量復(fù)制到另外四個(gè)變量中:M到m,N到n,O到o,P到p。其中第二分組變量為上一分組的計(jì)算得到的結(jié)果,即M=m,N=n,O=o,P=p。

      第一輪進(jìn)行16次運(yùn)算。每次操作對(duì)m、n、o和p中的其中三個(gè)作一次非線性函數(shù)運(yùn)算,然后將所得結(jié)果加上第四個(gè)變量。再將所得結(jié)果向左移一個(gè)不定的數(shù),并加上m、n、o或p中之一。最后用該結(jié)果取代m、n、p或q中之一。

      下面是每次運(yùn)算用的非線性函數(shù)(每輪一個(gè))。

      Y1(M,N,P)=(M&N)|((~M)&P)

      Y2(M,N,P)=(M&P)|(M&(~P))

      Y3(M,N,P)=M^N^P

      Y4(M,N,P)=M^(N|(~P)

      Y1是一個(gè)逐位運(yùn)算的函數(shù)。

      (4)輸出:

      輸出是a、b、c和d的級(jí)聯(lián)的一組散列值。

      2 改進(jìn)MD5算法

      (1)改進(jìn)的MD5算法原理

      以下算法采用對(duì)原有的MD5算法的散列值進(jìn)行加密處理,從而增加了變換次數(shù)和密鑰空間,提高了加密的強(qiáng)度。圖1給出了加密算法的實(shí)現(xiàn)原理。

      圖1 MD5算法改進(jìn)過(guò)程加密算法

      (2)加密的具體步驟:

      ①輸入需要進(jìn)行加密的信息,使用MD5進(jìn)行加密,得到MD5算法產(chǎn)生的信息摘要。

      ②對(duì)獲得的信息摘要進(jìn)行處理,從第四位開(kāi)始截取12個(gè)字符。

      ③自己給定一個(gè)12個(gè)字符的字符串(包含字母、數(shù)字、特殊符號(hào))。

      ④使用給定的字符串去替換原信息摘要中的從第四位開(kāi)始的12個(gè)字符。

      ⑤解密,即加密的逆過(guò)程。但必須知道產(chǎn)生的隨機(jī)12個(gè)字符。

      3 PHP網(wǎng)站加密實(shí)現(xiàn)及安全性分析

      根據(jù)上述算法給出一個(gè)在PHP網(wǎng)站中的應(yīng)用實(shí)例。

      采用PHP對(duì)帳號(hào)口令加密的實(shí)現(xiàn)算法:

      <?php

      $pswd1=md5("123");//對(duì) ”123”進(jìn) 行 MD5 算 法加密

      $pswd2=substr($pswd1,4,12);[1]//截取字符串,用于存儲(chǔ)和替換

      $pwd=”emnqvwADLO37”;//給定的字符串

      $pswd3=str_replace($pswd2,$pwd,$pswd1);//字符串替換,產(chǎn)生新的信息摘要

      echo"使用改進(jìn)后md5加密后的密文:";

      echo$pswd3;//改進(jìn)后新的MD5算法產(chǎn)生新的信息摘要

      ?>

      實(shí)驗(yàn)過(guò)程對(duì)比如下:

      圖2 口令信息“123”的MD5加密結(jié)果

      圖3 對(duì)口令信息摘要作MD5解密

      圖4 改進(jìn)的MD5算法對(duì)信息“123”加密

      圖5 使用MD5解密工具破解密碼無(wú)效

      實(shí)驗(yàn)結(jié)果分析:

      (1)統(tǒng)計(jì)特性分析

      由以上可知,圖2對(duì)消息“123”進(jìn)行普通的MD5算法進(jìn)行加密,得到一個(gè)信息摘要為“202cb962ac 59075b964b07152d234b70”,圖3可以對(duì)普通MD5加密后的信息摘要“202cb962ac59075b964b07152d234 b70”進(jìn)行解密,解密出來(lái)與加密的消息一樣為“123”。圖4使用PHP程序加密后產(chǎn)生的新的信息摘要“202cemnqvwADLO37964b07152d234b70”,圖 5使用MD5解密工具無(wú)法對(duì)改進(jìn)算法產(chǎn)生的信息摘要“202cemnqvwADLO37964b07152d234b70”進(jìn)行解密,提高了MD5算法在應(yīng)用中的安全性和可靠性。

      (2)密鑰空間分析

      原算法消息摘要密鑰空間采用32位的16進(jìn)制數(shù)字來(lái)表示,密鑰空間為16^32。改進(jìn)的算法加密后的密鑰空間含有字母、數(shù)字、特殊符號(hào),例如“#”、“@”符號(hào)等,其密鑰空間從第四個(gè)字符到第16個(gè)字符為64^12,增大了密鑰空間,相對(duì)提高了安全性。

      4 結(jié)語(yǔ)

      本文在原有MD5算法的基礎(chǔ)上,通過(guò)進(jìn)一步變換處理,增加字典字符來(lái)增大密鑰空間[4],從而提高其安全性。對(duì)改進(jìn)后的新MD5算法,給出了一種在PHP網(wǎng)站中的實(shí)現(xiàn)和應(yīng)用,經(jīng)過(guò)公開(kāi)的解密工具破譯測(cè)試表明,該MD5算法更加安全可靠。算法的改進(jìn)使用了古典對(duì)稱密碼技術(shù)和網(wǎng)站加密函數(shù)等工具,新的MD5算法利用對(duì)稱密碼技術(shù)和現(xiàn)代散列算法[5]整合在一起,既有便捷性又提高了安全性。

      圖6 算法密鑰空間分析

      猜你喜歡
      個(gè)字符加密算法解密
      解密“熱脹冷縮”
      解密“一包三改”
      炫詞解密
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進(jìn)
      解密“大調(diào)解”
      不讓長(zhǎng)文件名成為“絆腳石”
      電腦迷(2014年8期)2014-04-29 07:37:40
      對(duì)稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
      基于Arnold變換和Lorenz混沌系統(tǒng)的彩色圖像加密算法
      工資報(bào)表計(jì)算機(jī)軟件論述
      卷宗(2011年9期)2011-05-14 17:51:19
      汶上县| 游戏| 正蓝旗| 阿克| 远安县| 微山县| 泰来县| 浠水县| 隆尧县| 大庆市| 南丰县| 阳谷县| 永康市| 洪湖市| 西乌珠穆沁旗| 息烽县| 酉阳| 伊吾县| 彝良县| 会理县| 腾冲县| 浦县| 澄江县| 色达县| 中方县| 雅江县| 卫辉市| 桐柏县| 梅州市| 普宁市| 伊川县| 武城县| 阿瓦提县| 中山市| 泾源县| 浦东新区| 渭源县| 舞阳县| 南溪县| 星座| 新建县|