• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    加密HASH函數(shù)及其應(yīng)用研究

    2016-06-16 19:46:22劉翔
    電腦知識與技術(shù) 2016年10期
    關(guān)鍵詞:數(shù)字簽名

    劉翔

    摘要:Hash函數(shù)也稱散列函數(shù),它是一種單向密碼體制,可以將任意長度的輸入信息經(jīng)過變換后得到固定長度的輸出。在數(shù)據(jù)完整性認(rèn)證、數(shù)字簽名等領(lǐng)域有廣泛的應(yīng)用,論文介紹了Hash函數(shù)的基本概念、特性及一般結(jié)構(gòu),對常用的Hash函數(shù)進(jìn)行了對比分析,并對Hash函數(shù)的應(yīng)用領(lǐng)域詳細(xì)進(jìn)行了研究,對以后的研究工作有一定的作用。

    關(guān)鍵詞:雜湊函數(shù);加密解密;數(shù)字簽名;消息認(rèn)證

    中圖分類號:TN918 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)10-0054-02

    [Hash]函數(shù)也稱雜湊函數(shù)或散列函數(shù),通常用來構(gòu)造數(shù)據(jù)的短“指紋”。即對任意長度的輸入消息[M],經(jīng)過[N]次變換后,得到固定長度的輸出。[Hash]函數(shù)是一種單向密碼體制,它是一個從明文到密文的不可逆映射,只有加密過程,不能解密。[Hash]函數(shù)的這種單向性特征和輸出數(shù)據(jù)的長度固定的特性使得它可以生成消息或其它數(shù)據(jù)塊的“指紋”,在消息完整性認(rèn)證、數(shù)字簽名等領(lǐng)域有著廣泛的應(yīng)用[1]。

    1 [HASH]函數(shù)概念及安全性要求

    1.1 [Hash]函數(shù)概念[2]

    一個[Hash]函數(shù)是滿足以下要求的四元組[(X,Y,K,H):]

    1)[X]代表所有消息的集合;

    2)[Y]是所有消息指紋的集合;

    3)[K]代表所有密鑰的有限集;

    4)[H]代表加密[Hash]函數(shù);

    1.2 [HASH]函數(shù)的安全性要求[3]

    1)有數(shù)據(jù)壓縮功能:能將任意長度的輸入數(shù)據(jù)轉(zhuǎn)換成一個固定長度的輸出;

    2)具有單向性:由[H(M)]計算消息指紋很容易,反之則不能,即對給定的一個散列值,不可能找出一條消息[M']的散列值正好相等。

    3)抗碰撞性:所謂碰撞性是指兩個不同的消息[M]和[M'] ,如果它們的散列值相同,即[H(M)=H(M')],則發(fā)生碰撞。如果[M≠M(fèi)'],則有[H(M)≠H(M')],即使[M]和[M']差別非常小,甚至只有一個比特的差別,它們的散列值也會有很大的不同(強(qiáng)抗碰撞性);給定消息[M]和其散列值[H(M)],要找到另一個與[M]不同的消息[M'],使得[H(M)=H(M')]是不可能的(弱抗碰撞性)。

    2 [HASH]函數(shù)的一般結(jié)構(gòu)

    安全[Hash]函數(shù)一般結(jié)構(gòu)如下圖所示,這是一種迭代結(jié)構(gòu)[Hash]函數(shù),對于輸入的報文[M],首先將其分為N個固定長度的分組,如果最后一個數(shù)據(jù)塊不滿足輸入分組的長度要求,可以進(jìn)行填充[4]。

    3 安全[HASH]函數(shù)比較

    安全[Hash]算法(SHA)由美國國家標(biāo)準(zhǔn)技術(shù)研究所NIST開發(fā),作為聯(lián)邦信息處理標(biāo)準(zhǔn)于1993年發(fā)表,1995年修訂為SHA-1。SHA-1基于MD4算法,并且在設(shè)計方面很大程度上是模仿MD4的。后來還新增了SHA-256、SHA-384和SHA-512三個散列算法標(biāo)準(zhǔn),它們的消息摘要長度分別為256、384和512,以便與AES的使用相匹配,現(xiàn)在最新的是SHA-3,以下是各種SHA的比較[5]:

    4 [HASH]函數(shù)的應(yīng)用

    4.1 消息認(rèn)證

    消息認(rèn)證的目的主要有兩個:一個是驗證信息的來源真實性,即信息來源認(rèn)證;另一個是驗證信息的完整性,即驗證信息在公共信道傳送或存儲過程是否被篡改、重放或延遲等??梢杂米髡J(rèn)證的函數(shù)有消息加密函數(shù)、消息認(rèn)證碼(MAC)和散列函數(shù)三種,而散列函數(shù)是一個不需要密鑰的公開函數(shù),它將任意長度的輸入消息映射成一個固定長度的輸出值,度以此值作為認(rèn)證標(biāo)識[6]。

    [Hash]函數(shù)可以將任意長度的輸入消息[M]經(jīng)過若干次變換,成為固定長度的輸出,得到文檔的散列值輸出,即“消息指紋”可與放在安全地方的原有“指紋”進(jìn)行比對,如果消息被修改,那么這個兩個指紋就不會相等,從而表明此消息被篡改過。這就是保證了數(shù)據(jù)的完整性,實現(xiàn)消息認(rèn)證。

    [A→B:M||E(K,H(M))]

    4.2 數(shù)字簽名

    數(shù)字簽名是一種給以電子形式存儲的消息簽名方法。并以某種形式將簽名“綁”到所簽文件上,與傳統(tǒng)的手寫簽名具有同等的效果,并能通過一個公開的驗證算法對它進(jìn)行確認(rèn)。

    由于公鑰密碼學(xué)和對稱密碼學(xué)在加密和解密速度上的區(qū)別,在數(shù)字簽名中往往先使用雜湊函數(shù)對消息[M]實施“壓縮”運(yùn)算,接著對消息[M]的雜湊值實施簽名,這樣既起到了保密作用,又提高了加密速度。對于在數(shù)字簽名中使用的雜湊函數(shù),要求它們具有更強(qiáng)的安全性能[7]。一個使用雜湊函數(shù)[H(M)]的數(shù)字簽名方案中的合法用戶不能找到一對不同的消息[(M,M')]滿足[H(M)=H(M')],如果能找到這樣的消息,那她就可以簽署消息[M'],后來卻宣布她簽名的消息是[M']而不是[M]。如果找到這樣的消息對在計算上是不可行的,那么我們就稱它是抗碰撞(Collision Resistant)的或是碰撞自由(Collision Free)的。

    4.3 其他應(yīng)用

    雜湊函數(shù)在現(xiàn)代密碼學(xué)中具有非常廣泛的用途,比如用于安全存儲口令方面?;赱Hash]函數(shù)生成口令的散列值,比如在操作系統(tǒng)中保存用戶的ID和他的口令散列值,而不是口令本身,這有助于提高系統(tǒng)的安全性。當(dāng)用戶進(jìn)入系統(tǒng)時要求輸入口令,這時系統(tǒng)重新計算用戶輸入口令的散列值并與系統(tǒng)中保存的數(shù)值相比較,當(dāng)?shù)葧r進(jìn)入系統(tǒng),否則將被系統(tǒng)拒絕[8]。

    [Hash]函數(shù)在入侵檢測和病毒掃描方面也有很好的應(yīng)用,比如可以為系統(tǒng)中每個文件進(jìn)行哈希函數(shù)運(yùn)算得到安全的[Hash]值,如果某個文件被非法修改就可以及時發(fā)現(xiàn)。

    5 結(jié)論

    單向散列函數(shù)可選的方案比較多,一般有SHA、MD5和基于分組密碼的構(gòu)造,而其他方案實在沒有得到足夠的重視和研究,目前比較流行的還是SHA,它的散列值比其他的要長,比各種分組密碼構(gòu)造更快[9],并且由NSA研制,雖然山東大的王小云團(tuán)隊已在破解SHA-1上有很大的突破,但要投入實用還有很長的路要走,并且隨著SHA-384、SHA-512及SHA-3的出現(xiàn),我們堅信SHA在密碼學(xué)上的應(yīng)用還是有很大的前途。

    參考文獻(xiàn):

    [1] Stinson D R.密碼學(xué)原理與實踐[M].馮登國,譯. 3版.北京:電子工業(yè)出版社,2009:130-180.

    [2] Wenbo Mao.現(xiàn)代密碼學(xué)理論與實踐[M]. 王繼林,伍前紅,譯.北京:電子工業(yè)出版社,2006:305-330.

    [3] William Stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全——原理與實踐[M]. 孟慶樹,王麗娜,傅建明, 譯. 4版.北京:電子工業(yè)出版社,2006:229-249.

    [4] Bruce Schneier.應(yīng)用密碼學(xué)協(xié)議、算法與C語言源程序[M]. 吳世忠,祝世雄,張文政. 2版. 北京:機(jī)械工業(yè)出版社, 2010:307-329.

    [5 Forouzan B A.Cryptography and Network Security [M]. 北京:清華大學(xué)出版社,2009:200-280.

    [6]胡向東,魏琴芳,胡蓉.應(yīng)用密碼學(xué)[M]. 2版.北京:電子工業(yè)出版社,2011:166-200.

    [7] Forouzan B A. Cryptography and Network Security[M]. Beijing: Tsinghua university press,2009:363-385.

    [8] William Stallings. Cryptography and Network Security [M]. Beijing: Electronic industry press,2011:327-393.

    [9] 張月,李海青.淺析加密技術(shù)在保密通信中的應(yīng)用[J].電腦知識與技術(shù),2015(21):230-235.

    猜你喜歡
    數(shù)字簽名
    基于正交拉丁方理論的數(shù)字簽名分組批量驗證
    交通運(yùn)輸行業(yè)數(shù)字簽名系統(tǒng)的設(shè)計與實現(xiàn)分析
    淺析計算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
    數(shù)字簽名助力系統(tǒng)安全
    基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
    數(shù)字簽名簡述
    掌握方法用好數(shù)字簽名
    個人電腦(2014年12期)2014-12-29 13:29:47
    基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測機(jī)制
    基于JAVA的數(shù)字簽名設(shè)計與實現(xiàn)
    復(fù)制數(shù)字簽名,巧妙偽裝病毒
    广宗县| 黑水县| 荣昌县| 辽中县| 巧家县| 南和县| 邻水| 射阳县| 砀山县| 淮滨县| 平和县| 定陶县| 平武县| 昌都县| 邓州市| 云安县| 绵竹市| 义马市| 临颍县| 博乐市| 凤台县| 阜康市| 新竹县| 蓬莱市| 洛隆县| 休宁县| 兴安县| 浦县| 綦江县| 舟山市| 弥渡县| 图木舒克市| 积石山| 息烽县| 陕西省| 台前县| 兰州市| 衡阳县| 芒康县| 文山县| 灵璧县|