• 
    

    
    

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

      ?

      MD5加密算法的研究與應(yīng)用

      2015-05-30 04:41:37徐蕊
      中國新通信 2015年21期
      關(guān)鍵詞:加密

      徐蕊

      【摘要】 當(dāng)今世界,人們在關(guān)鍵業(yè)務(wù)和行業(yè)部門大量的采用計算系統(tǒng)和網(wǎng)絡(luò)技術(shù),從而帶來了新的威脅和風(fēng)險,如未經(jīng)授權(quán)的訪問、信息竊取和篡改、病毒傳輸?shù)?。文章針對?shù)據(jù)的機密性和完整性提出一種基于MD5單向加密技術(shù)的擴展,并通過對該算法的深入研究,介紹MD5加密算法的基本原理和實現(xiàn)流程,并給出此加密算法利用Java語言編程在實際系統(tǒng)的使用方法和使用效果。

      【關(guān)鍵詞】 MD5 加密 Java

      一、引言

      在信息行業(yè),安全從未像今天這樣重要。安全是一個涉及面很廣的問題,在信息系統(tǒng)的各個環(huán)節(jié)中都至關(guān)重要。因此,在談到信息安全時,可以指多個領(lǐng)域:應(yīng)用、數(shù)據(jù)、網(wǎng)絡(luò)、通信、用戶和主機系統(tǒng)等等。在這些領(lǐng)域中,一項共同的安全需求和目標(biāo)是對數(shù)據(jù)的保護,這進一步突出了安全的重要性,要求所有企業(yè)和組織承擔(dān)起倫理和法律責(zé)任,采取適當(dāng)?shù)拇胧┖筒襟E確保信息安全。在各個層面采取安全措施,可確保信息可靠的處理、存儲或傳輸,同時讓任何得到授權(quán)的實體都能夠使用它們。其中,單向數(shù)字簽名散列算法更是使數(shù)據(jù)完整性驗證和通過混淆保護數(shù)據(jù)的機密性成為可能。

      二、MD5算法的研究與擴展

      2.1 MD5算法的描述

      MD5是一種迭代型強加密單向散列函數(shù)。單向散列函數(shù)指的是根據(jù)輸入消息(任何字節(jié)串,如文本字符串、Word文檔、JPG文件等)輸出固定長度數(shù)值的算法,輸出數(shù)值也稱為“散列值”或“消息摘要”,其長度取決于所采用的算法,MD5生成128位的散列值。為了實現(xiàn)對數(shù)據(jù)的認(rèn)證的目的,散列函數(shù)應(yīng)滿足以下條件:(1)函數(shù)的輸入可以是任意長。(2)函數(shù)的輸出是固定長。(3)已知x,求H(x)較為容易,可用硬件或者軟件實現(xiàn)。(4)已知h,求使得H(x)=h的x在計算上是不可行的,這一性質(zhì)稱為函數(shù)的單向性,稱H(x)為單向散列函數(shù)。(5)已知x,找出y(y≠x)使得H(y)=H(x)在計算上是不可行的。如果單向雜湊函數(shù)滿足這一性質(zhì),則稱其為弱單向雜湊函數(shù)。(6)找出任意兩個不同的輸入x、y,使得H(y)=H(x)在計算上是不可行的,則稱其為強單向雜湊函數(shù)。MD5算法結(jié)構(gòu)采用迭代型雜湊函數(shù)的一般結(jié)構(gòu)。其中,CV0=IV=n比特長的初值;CVi=f(CVi-1,Yi-1)1≤i≤L;H(M)=CVL;CVi-1,稱為鏈接變量;通常b>n,稱函數(shù)f為壓縮函數(shù)。

      2.2 MD5算法的擴展

      在數(shù)據(jù)的加密處理方面,MD5總體看來是安全的,目前破解MD5主要依靠大型字典的方法,將常用密碼進行MD5后建立數(shù)據(jù)庫,然后和MD5數(shù)值進行對比,通過這樣的方法來破解MD5。為了應(yīng)對大型字典破譯的問題,提出一種基于MD5算法擴展的加密方法?;贛D5算法的擴展算法流程是,原始的數(shù)據(jù)信息首先經(jīng)過MD5的單向加密得到加密數(shù)據(jù),然后對加密數(shù)據(jù)再利用雙向加密算法加密。得到最終的加密信息由于采用二次加密,且二次加密算法和對應(yīng)參數(shù)多樣和未知性,如DES、RSA等,從而使MD5大型字典破解方法完全失效。

      三、MD5算法的應(yīng)用

      3.1 Java安全架構(gòu)與技術(shù)

      Java平臺提供了一種通用的面向?qū)ο缶幊陶Z言和一個標(biāo)準(zhǔn)的運行環(huán)境,可用于開發(fā)和實現(xiàn)安全的跨平臺應(yīng)用解決方案。為提供基于Java平臺的應(yīng)用解決方案的端到端安全,Java運行環(huán)境和Java語言在格式和結(jié)構(gòu)方面對代碼及其執(zhí)行環(huán)境做了嚴(yán)格的限制,從而提供了全面的安全基礎(chǔ)。Java之所以能成為安全可靠的運行環(huán)境,在很大程度上應(yīng)歸功于Java架構(gòu)基礎(chǔ)的固有的安全性,該架構(gòu)包括Java虛擬機和Java語言,其中JVM提供了內(nèi)置的安全策略、訪問控制機制和安全擴展。在J2SE中,JCA為Java平臺提供加密服務(wù)和算法,以保護消息的安全。JCA定義了提供者概念及一個用于訪問加密服務(wù)和實現(xiàn)相關(guān)功能的一般API框架。通過標(biāo)準(zhǔn)化API框架和提供者實現(xiàn),JCA還提供了算法和實現(xiàn)的獨立性。MD5消息摘要是單向安全散列函數(shù),在J2SE中,JCA提供者支持消息摘要算法:消息摘要算法5(Message Digest 5, MD5),MD5可生成128位散列值。消息摘要使用引擎類java.security.MessageDigest表示,其形式為字節(jié)數(shù)組,MessageDigest.getInstance創(chuàng)建一個實現(xiàn)了指定算法的消息摘要對象實例,條件是提供者支持該算法。方法MessageDigest.update使用由字節(jié)數(shù)組指定的數(shù)據(jù)更新摘要,而方法MessageDigest.digest計算散列值并返回一個字節(jié)數(shù)組。

      3.2 MD5算法擴展的應(yīng)用

      隨著信息技術(shù)的飛速發(fā)展,擁有著效率高、便捷性強等特性的信息系統(tǒng)被越來越多的企業(yè)和個人使用,信息系統(tǒng)一般都會采取用戶名和密碼結(jié)合的登錄方式進行身份驗證,此時用戶名和密碼及其其他敏感信息會存入數(shù)據(jù)庫中保存,然而如果服務(wù)器和數(shù)據(jù)庫被人攻破,用戶的密碼將會暴露,從而導(dǎo)致很嚴(yán)重的后果?,F(xiàn)給出基于MD5擴展算法并采用Java語言編程的核心代碼,此算法已應(yīng)用于無線局科技服務(wù)管理系統(tǒng),用于解決用戶密碼安全問題。

      四、結(jié)束語

      通過對MD5加密算法的研究分析得出,MD5的核心是壓縮函數(shù),也正因如此MD5是一種不可逆的安全性很高的加密算法,但卻收到大字典攻擊的威脅,從而導(dǎo)致強度弱的密碼被泄露,通過在MD5加密算法原有基礎(chǔ)上的擴展,克服了外界的攻擊,增強了加密算法的強壯性,這種基于MD5擴展的加密算法,可用于保護數(shù)據(jù)庫敏感信息、身份驗證、數(shù)據(jù)完整性等方面。

      猜你喜歡
      加密
      一種基于熵的混沌加密小波變換水印算法
      加密與解密
      一種基于LWE的同態(tài)加密方案
      認(rèn)證加密的研究進展
      基于ECC加密的電子商務(wù)系統(tǒng)
      基于格的公鑰加密與證書基加密
      金平| 葵青区| 贵南县| 永和县| 上思县| 米泉市| 紫阳县| 石渠县| 景泰县| 乌鲁木齐县| 界首市| 伊通| 阿克苏市| 三都| 汽车| 盐城市| 洛宁县| 云霄县| 新沂市| 昌吉市| 宣威市| 敦化市| 抚松县| 五指山市| 龙胜| 安泽县| 云龙县| 随州市| 桦南县| 麻城市| 乌拉特中旗| 谢通门县| 香河县| 武义县| 理塘县| 临桂县| 长春市| 高青县| 申扎县| 清苑县| 丽水市|