亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析MD5算法的原理

        2016-10-14 04:12:27武佳杰
        科學(xué)與財(cái)富 2016年28期
        關(guān)鍵詞:加密信息安全

        摘 要:隨著網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,網(wǎng)絡(luò)信息安全越來越引起人們的重視。目前通常將需要存儲(chǔ)的數(shù)據(jù)進(jìn)行加密然后再存儲(chǔ),MD5(Message-Digest algorithm 5)算法是一個(gè)不錯(cuò)的選擇。MD5算法是一種用于產(chǎn)生數(shù)字簽名的單項(xiàng)散列算法。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式。

        關(guān)鍵詞:信息安全;MD5;加密;封裝

        1引言

        隨著網(wǎng)絡(luò)通信技術(shù)和Internet的聯(lián)系日益增強(qiáng),出現(xiàn)了一系列與網(wǎng)絡(luò)安全相關(guān)的問題:如對(duì)主機(jī)的攻擊,網(wǎng)絡(luò)上傳輸?shù)男畔⒈唤厝?、篡改、重發(fā)等,由此,它對(duì)網(wǎng)絡(luò)應(yīng)用的進(jìn)一步推廣構(gòu)成了巨大威脅,因此密碼體制[1]就在這種背景下應(yīng)運(yùn)而生了。存儲(chǔ)加密涉及大量文件、資料、新建等文檔處理,需要高效,可靠的進(jìn)行各種信息交換,同時(shí)對(duì)信息流轉(zhuǎn)的整個(gè)過程需要有效的組織和監(jiān)控。數(shù)據(jù)加密技術(shù)不僅具有保證信息機(jī)密性的信息加密功能,而且具有數(shù)字簽名、秘密分存、系統(tǒng)安全等性能。因而可以保障信息的機(jī)密性、完整性和準(zhǔn)確性,防止信息被篡改、偽造和假冒[2]。雖然目前已有很多加密技術(shù)應(yīng)用于各個(gè)領(lǐng)域,但是存在加密強(qiáng)度、運(yùn)算量大等缺陷,因而本文提出了一種新的加密機(jī)制—MD5加密。

        2理論基礎(chǔ)

        2.1單向散列函數(shù)

        單向散列函數(shù)[4]也稱Hash(哈希)函數(shù)。它是現(xiàn)代密碼學(xué)的核心。散列函數(shù)一直在計(jì)算機(jī)科學(xué)中使用,散列函數(shù)就是把可變的輸入長(zhǎng)度串轉(zhuǎn)換成固定長(zhǎng)度輸出值(叫做散列值)的一種函數(shù)。而單向散列函數(shù)是在一個(gè)方向上工作的散列函數(shù),從預(yù)映射的值很容易計(jì)算出它的散列值,但要使它的散列值等于一個(gè)特殊值卻很難。散列值越長(zhǎng)則安全性越好,MD5算法就是單向散列函數(shù)產(chǎn)生128位的散列值,以下即為生成一個(gè)長(zhǎng)散列值的方法:

        1)運(yùn)用單向散列函數(shù)生成一則消息的散列值。

        2)將該散列值附于消息之后。

        3)產(chǎn)生包含散列值和消息在內(nèi)的一連串的數(shù)值的散列值。

        4)將(1)產(chǎn)生的散列值與(3)產(chǎn)生的散列值組合起來生成一個(gè)更大的散列值。

        5)重復(fù)1)至3)步若干次。

        2.2MD5算法的基本原理

        MD5算法以512位分組來處理輸入文本,每一分組又劃分為16個(gè)32位子分組。算法的輸出由4個(gè)32位分組組成,將它們級(jí)聯(lián)形成一個(gè)128位散列值[5]。

        第1步:MD5在原消息中增加填充位,目的是使原消息長(zhǎng)度等于一個(gè)值,即比512的倍數(shù)少64位。填充后,原消息的長(zhǎng)度為448位(比512少64),960位(比1024少64位),1472位(比1536少64位)等。

        第2步:增加填充位后,就要計(jì)算機(jī)消息原長(zhǎng),將其加進(jìn)填充后的消息末尾。先計(jì)算消息長(zhǎng)度,不包括填充位(即增加填充位前的長(zhǎng)度)。這個(gè)消息原長(zhǎng)表示為64位值,添加到加進(jìn)填充后的消息末尾。如果消息長(zhǎng)度超過264位(即64位無法表示,因?yàn)橄⑻L(zhǎng)),則只用長(zhǎng)度的低64位,即等于計(jì)算length mod 264。

        第3步:將輸入分成512位的塊。

        第4步:初始化四個(gè)鏈接變量,分別稱為A,B,C,D,它們都是32位的數(shù)字,這些鏈接變量的初始十六進(jìn)制值如表1所示,低的字節(jié)在前面。

        第5步:處理塊。這是個(gè)循環(huán),對(duì)消息中的多個(gè)512位塊運(yùn)行。

        第5.1步:將四個(gè)鏈接變量復(fù)制到四個(gè)變量a,b,c,d中,使a=A,b=B,c=C,d=D。

        這個(gè)算法將a,b,c,d組合成128位寄存器(abcd),寄存器(abcd)在實(shí)際算法運(yùn)算中保存中間結(jié)果和最終結(jié)果,如圖1所示。

        第5.2步:將當(dāng)前512位塊分解為16個(gè)子塊,每個(gè)子塊為32位,如圖2所示。

        第5.3步:主循環(huán)有四輪,每一輪的操作都要處理一個(gè)塊中的16個(gè)子塊。每一輪的輸入如下:(a) 16個(gè)子塊;(b)變量a,b,c,d;(c)常量t。

        這四輪中的第1步進(jìn)行不同處理,其他步驟是相同的。每一輪有16個(gè)輸入子塊M[0],M[1],…,M[15],或表示為M[i],其中i為1~15。每個(gè)子塊為32位。t是個(gè)常量數(shù)組,包含64個(gè)元素,每個(gè)元素為32位。我們把數(shù)組t的元素表示為t[1],t[2],…,t[64],或t[i],其中i為1~64。由于有四輪,因此每一輪用64個(gè)t值中的16個(gè)。每一輪輸出的中間和最終結(jié)果復(fù)制到寄存器abcd中:

        1)首先對(duì)b, c, d作一次非線性函數(shù)運(yùn)算,這個(gè)運(yùn)算在四輪中不同。

        2)變量a加進(jìn)第1步的輸出(即寄存器abcd)。

        3)消息子塊M[i]加進(jìn)第2步的輸出(即寄存器abcd)。

        4)常量t[i]加進(jìn)第3步輸出(即寄存器abcd)。

        5)第4步的輸出(即寄存器abcd)循環(huán)左移s位。

        6)變量b加進(jìn)第5步輸出(即寄存器abcd)。

        7)第6步的輸出成為下一步的新abcd。

        圖3和圖4顯示了MD5操作過程。

        對(duì)于每次操作中用到的四個(gè)線性函數(shù),即

        F(x,y,z) = (x&y)|((~x)&z) G(x,y,z) = (x&z)|(y&(~z)) H(x,y,z) = x^y^z

        I(x,y,z) = y^(x|(~z)),其中,&是與,|是或,~是非,^是異或。這些函數(shù)中,如果x,y和z的對(duì)應(yīng)位是獨(dú)立和均勻的,那么結(jié)果的每一位也是獨(dú)立和均勻的,函數(shù)F是按逐位方式操作;函數(shù)H是逐位奇偶操作。

        3.結(jié)論

        MD5是單向加密算法,加密以后信息不可以解密??梢詫?duì)算法做適當(dāng)?shù)男薷暮脱a(bǔ)充,以更加適合應(yīng)用需要。同時(shí)隨著企業(yè)信息和數(shù)據(jù)的巨大膨脹,以及確保數(shù)據(jù)安全的重要性與日俱增,數(shù)據(jù)的加密有著不可替代的重要性,但隨之而來的問題是效率的降低和數(shù)據(jù)管理的復(fù)雜。高效率、易管理的數(shù)據(jù)安全方案將是未來的研究方向。

        參考文獻(xiàn)

        [1]楊義先,林曉東.信息安全綜論[M].北京:電信科學(xué)出版社, 1998 .

        [2]楊明,齊望東.密碼編碼學(xué)與網(wǎng)絡(luò)安全[M].北京:電子工業(yè)出版社,1997.

        [3]彭文波.MD5算法原理及應(yīng)用[EB/OL].中國(guó)知網(wǎng) 1999.2.

        [4]桑海,李建寶.加密算法MD5 的研究與應(yīng)用[EB/OL]. 華南金融電腦 1999.7.

        [5]潘清芳.使用MD5加密數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)[J].第3 卷第2 期:77-143.

        [6]鄭莉,董淵.C++語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.

        [7]施衛(wèi)鋒, 周俊, 朱利剛.多戶住處系統(tǒng)中數(shù)據(jù)安全性控制及其實(shí)現(xiàn)[EB/OL].微機(jī)發(fā)展.

        [8] 段鋼著.加密與解密(第二版)[M].北京:電子工業(yè)出版社,2003.

        作者簡(jiǎn)介:武佳杰(1989—),男,山西汾陽人,山西財(cái)經(jīng)大學(xué)2014(計(jì)算機(jī)應(yīng)用技術(shù))學(xué)術(shù)碩士研究生,研究方向:貝葉斯網(wǎng)絡(luò)。

        猜你喜歡
        加密信息安全
        《信息安全與通信保密》征稿函
        信息安全專業(yè)人才培養(yǎng)探索與實(shí)踐
        保護(hù)信息安全要滴水不漏
        高校信息安全防護(hù)
        加密與解密
        一種基于LWE的同態(tài)加密方案
        保護(hù)個(gè)人信息安全刻不容緩
        認(rèn)證加密的研究進(jìn)展
        基于ECC加密的電子商務(wù)系統(tǒng)
        基于格的公鑰加密與證書基加密
        国产精品98视频全部国产| 中字幕人妻一区二区三区| 精品成人乱色一区二区| 亚洲黄色性生活一级片| 国产亚洲精品免费专线视频| 欧美顶级少妇作爱| 中文字幕无码不卡一区二区三区| 中文AV怡红院| 亚洲国产一区二区,毛片| 国产av熟女一区二区三区 | 亚洲国产精品无码久久九九大片健| 偷拍偷窥在线精品视频| 欧美老熟妇乱xxxxx| 中国猛少妇色xxxxx| 丰满熟妇人妻av无码区| 中文字幕有码在线人妻| 久久久久无码国产精品一区| 精品乱码卡1卡2卡3免费开放| 精品亚洲人伦一区二区三区| 蜜桃av人妻精品一区二区三区| 精品人妻伦九区久久aaa片| 久久综合网天天 | 亚洲精品国产第一区三区| 中文字幕 亚洲精品 第1页| 欧美人与动牲交a欧美精品| 日本特黄a级高清免费大片| 久久精品国产一区老色匹| 人妻少妇久久久久久97人妻| 国产人碰人摸人爱视频| 无人视频在线播放在线观看免费 | 人妻少妇中文字幕在线观看| 亚洲一区二区三区中文字幂| 狠狠干视频网站| 亚洲国产av高清一区二区三区| 在线播放真实国产乱子伦| 中文乱码人妻系列一区二区| 视频精品亚洲一区二区| 国产内射爽爽大片| 性动态图av无码专区| 无码成人AV在线一区二区| 日本一区二区三区亚洲|