999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關(guān)于MD5算法的分析及其性能優(yōu)化

2015-11-04 00:06:57崔永輝陽征鵬國防信息學院武漢43000中國人民解放軍6667部隊石家莊05008
山東工業(yè)技術(shù) 2015年21期
關(guān)鍵詞:優(yōu)化信息

崔永輝,徐 鵬,陽征鵬(.國防信息學院,武漢 43000; .中國人民解放軍6667部隊,石家莊 05008)

關(guān)于MD5算法的分析及其性能優(yōu)化

崔永輝1,徐 鵬2,陽征鵬2
(1.國防信息學院,武漢 430010; 2.中國人民解放軍66267部隊,石家莊 050081)

本文主要介紹了MD5算法的實現(xiàn)原理和對源數(shù)據(jù)信息的加密流程,然后從算法實現(xiàn)的角度,依據(jù)當前CPU計算機制,對MD5算法的計算時間的消耗進行分析,并提出了相應(yīng)的性能優(yōu)化建議,從而提升MD5算法的計算速度。

MD5;優(yōu)化;性能優(yōu)化

1 概述

隨著科學技術(shù)的發(fā)展以及互聯(lián)網(wǎng)絡(luò)的不斷應(yīng)用,信息安全的重要性已經(jīng)成為繼大數(shù)據(jù)、云計算之后的IT行業(yè)熱門發(fā)展方向。在信息安全體系中,信息加密是其中非常重要的部分,也是應(yīng)對各種網(wǎng)絡(luò)攻擊或者暴力破解工具很好的應(yīng)對手段。MD5算法是目前應(yīng)用較為廣泛的一種算法,它允許應(yīng)用系統(tǒng)將不同數(shù)據(jù)信息加密成固定128位的加密字符串,從而有效地保證了數(shù)據(jù)信息的保密性、完整性和可用性。然而MD5算法過程繁瑣、算法復雜,在具體實現(xiàn)時必須考慮其計算性能,如果加密時間過長,將會為實際應(yīng)用帶來非常差的用戶體驗。所以對于MD5算法的研究以及對其計算性能的優(yōu)化分析,對于MD5算法實現(xiàn)來說,具有非常大的現(xiàn)實意義。

2 MD5算法

MD5是Riverst在之前MD2,MD3,MD4的基礎(chǔ)上,經(jīng)過升級優(yōu)化開發(fā)而來。采用MD5算法,可以讓任意長度的數(shù)據(jù)信息,變成一個128位固定長度的大整數(shù)的加密形式,從而實 現(xiàn)了數(shù)據(jù)信息的加密,而MD5算法的加密過程是一個不可逆的過程,在一定程度上保證了數(shù)據(jù)信息的安全性,對于一些暴力破解、密碼嗅探的工具來說,對MD5算法加密的數(shù)據(jù)解密將是一個工作量非常大的過程。

MD5算法的處理過程需要經(jīng)過以下幾個階段:字符填充,長度加長,塊分解,變量初始化,塊處理。

其中,MD5算法的字符填充,因為MD5算法最終是對512位的數(shù)據(jù)塊進行處理,所以對于整體數(shù)據(jù)源長度不是512倍數(shù)的,需要將其字符填充,是最終的長度為512位長度的倍數(shù)減去64位。然后信息源長度加長,即用64位長度表示字符填充之前原信息源長度,填充到最后64位,最終使得到的字符串長度為512位的倍數(shù)。第三步,塊分解,將最終得到的字符串以512位長度為單位,對其進行劃分,形成最終的數(shù)據(jù)塊,第四步,生成變量,即生成四個32位長的十六進制變量。得到這四個初始化變量之后,就可以對生成的數(shù)據(jù)塊進行MD5算法處理。

塊處理的過程,是使用MD5算法的過程,假如有四個變量A,B,C,D,其值與上述四個初始化值一一對應(yīng),然后將ABCD組合成一個128為長度的數(shù)值放到一個寄存器中。將第一個512位長度的數(shù)據(jù)塊,以32位長度為單位,平均分成16個小塊,從而得到了從0到15的字塊。假如存在一個常量數(shù)組,其元素個數(shù)為64,每個元素為32位長度的常量數(shù)值。

首先使用第一個非線性函數(shù)對變量B,C,D進行計算,將結(jié)果到存儲128位數(shù)據(jù)的寄存器中,然后將A加入到該寄存器,將第0個消息加入到128位寄存器中,將常量數(shù)組的第0個常量元素加入到寄存器中,然后將寄存器左移某個值(該值是不斷變化的)位,然后將變量B加入到128位寄存器中。然后從頭開始,循環(huán)16次,將512位長度的16個子塊都進行相同處理。

然后依次使用第二個、第三個、第四個非線性函數(shù)開始,按照上面的方法,對該數(shù)據(jù)塊進行處理,最終將得到128位寄存器的值。最后,將A,B,C,D變量的值分別自加,按照上述算法,依次對一下組512位的數(shù)據(jù)進行相同的算法處理,最終得到的128位寄存器的值即為源信息數(shù)據(jù)的MD5算法加密的最終結(jié)果。

3 MD5算法的性能優(yōu)化

3.1 展開MD5算法的循環(huán)過程

由于MD5算法需要很多循環(huán),而且很多時候采用多層循環(huán)嵌套來實現(xiàn)。對于計算機體系來說,多次的循環(huán)與多層次的循環(huán)嵌套,加上變量的地址尋址,自身在CPU執(zhí)行時,會浪費大量的時間,加上多次循環(huán)和多層循環(huán)嵌套,與變量地址尋址使得CPU指令流水線的預取與阻斷的機制失效,從而增加了大量的計算時間。對于大數(shù)量級和多層循環(huán)嵌套的MD5算法來說,可以通過展開循環(huán)過程來提升其計算時間。所以在編程實現(xiàn)MD5算法時,盡量將每個循環(huán)體采用5 到10次的循環(huán)次數(shù),通過多個循環(huán)程序塊來完成整個MD5算法。同時,為了減少內(nèi)存尋址的時間浪費,能夠采用常量的變量,盡量在預定義時采用常量的形式定義。

3.2 避免指令跳轉(zhuǎn)

在當前CPU的計算機制中,執(zhí)行固定內(nèi)存塊的指令速度是最塊的,如果發(fā)生程序地址指針改變,則CPU將會浪費一部分時間去內(nèi)存尋址或從虛擬交換空間或磁盤中讀取數(shù)據(jù),而這將會浪費大量的計算時間。對于常見的編程語言,if…else或者for、while循環(huán),甚至是goto語句,都是常見的指令跳轉(zhuǎn)語句,在實現(xiàn)MD5算法時,盡量避免使用產(chǎn)生指令跳轉(zhuǎn)的語句,從而減少CPU執(zhí)行代碼時的尋址時間。

3.3 變量長度CPU寄存器匹配

不同計算機的CPU寄存器大小是不一樣的。對于長度大于CPU寄存器長度的變量,CPU將會分多次進行計算,最后將結(jié)果進行整合來完成計算。如果變量長度小于CPU寄存器長度,那么CPU將會在寄存器后附加其他的數(shù)據(jù)或者執(zhí)行來完成計算。對于一個32位寄存器的CPU來說,對一個32位變量的計算時間將比對一個16位變量的計算時間塊近一倍,所以在復雜繁瑣的MD5算法實現(xiàn)過程中,定義變量或常量時,盡量與當前執(zhí)行算法的CPU寄存器長度一致,從而增加整個代碼中數(shù)值的計算速度。

3.4 減少變量個數(shù)

由于操作系統(tǒng)對于變量的存放機制,使得CPU在對某個變量進行計算時,需要按照變量指針從內(nèi)存中尋址讀取,存放到寄存器中進行計算。整個計算機框架CPU從內(nèi)存讀取和寫入的時間對于CPU計算來說慢很多,所以在MD5算法實現(xiàn)時,盡量減少變量的個數(shù)。此外,常量與變量的存放機制也有所不同,所以對于固定不變的數(shù)據(jù)盡量使用常量類型代替。

4 總結(jié)

MD5算法是對按照固定的循環(huán)和計算對源數(shù)據(jù)信息進行加密,最終生成128位的加密數(shù)據(jù)。由于整個過程計算量非常大,而且過程非常繁瑣,所以在算法實現(xiàn)時,會耗費大量的時間。對于MD5算法實現(xiàn)的性能優(yōu)化的機制非常多,主要是考慮當前系統(tǒng)的CPU計算機制,采用最匹配的方式,最終減少加密運算的時間,更塊地得到128位加密數(shù)據(jù)。

[1]毛熠,陳娜.MD5算法的研究與改進[D].計算機工程,2012(24).

[2]么麗穎.MD5算法的分析和改進[J].哈爾濱師范大學自然科學學報,2011(05).

10.16640/j.cnki.37-1222/t.2015.21.200

猜你喜歡
優(yōu)化信息
超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
民用建筑防煙排煙設(shè)計優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
基于低碳物流的公路運輸優(yōu)化
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 欧美天天干| 国内精品久久久久鸭| 欧美黄色网站在线看| 99一级毛片| 亚洲成人动漫在线观看| yjizz视频最新网站在线| 欧美激情网址| 亚洲成网站| 综合网天天| 亚洲第一精品福利| 麻豆精品国产自产在线| 成人福利在线视频免费观看| 国产伦精品一区二区三区视频优播| 干中文字幕| 九九九九热精品视频| 老司机午夜精品视频你懂的| 无码一区18禁| 久久窝窝国产精品午夜看片| 国产成人麻豆精品| 欧美日韩国产成人高清视频| 亚洲人在线| 国产高潮流白浆视频| 婷婷六月激情综合一区| 99久久无色码中文字幕| A级全黄试看30分钟小视频| 影音先锋丝袜制服| 1769国产精品视频免费观看| 91视频首页| 亚洲色图狠狠干| 国产真实乱人视频| 视频二区亚洲精品| 波多野结衣在线一区二区| 夜夜操狠狠操| 全午夜免费一级毛片| 久久这里只有精品23| 久草视频中文| 亚洲精品桃花岛av在线| 国产尤物jk自慰制服喷水| 亚洲欧洲日产国码无码av喷潮| 国产浮力第一页永久地址| av天堂最新版在线| 久久国产av麻豆| 精品视频在线一区| 在线看片国产| 欧美国产三级| 在线观看国产精品第一区免费| 国产av无码日韩av无码网站| 亚洲第一区欧美国产综合 | 四虎精品国产AV二区| 最新国产成人剧情在线播放| 精品丝袜美腿国产一区| 伊人福利视频| 欧美www在线观看| 亚洲免费福利视频| 亚洲三级电影在线播放| av色爱 天堂网| 国产在线视频欧美亚综合| 国产成年无码AⅤ片在线 | 一级毛片免费播放视频| 国产精品美女免费视频大全 | 日韩欧美一区在线观看| 中文字幕啪啪| 精品人妻系列无码专区久久| 国产黄在线免费观看| 理论片一区| 黄色国产在线| 福利在线免费视频| 国产黄色爱视频| 国产精品无码久久久久久| 国产第一色| 欧美成一级| 国产精品一区在线麻豆| 久久国产黑丝袜视频| 久久久久人妻精品一区三寸蜜桃| 亚洲成网777777国产精品| 性视频久久| 无码精品国产dvd在线观看9久| 毛片久久久| 国产精品部在线观看| 亚洲成人精品| 国产日韩久久久久无码精品| 毛片久久网站小视频|