国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

劉翔

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.1 消息認(rèn)證

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

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

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

4.2 數(shù)字簽名

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

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

4.3 其他應(yīng)用

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

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

5 結(jié)論

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

參考文獻(xiàn):

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

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

[3] William Stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全——原理與實(shí)踐[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] 張?jiān)拢詈G?淺析加密技術(shù)在保密通信中的應(yīng)用[J].電腦知識(shí)與技術(shù),2015(21):230-235.

猜你喜歡
數(shù)字簽名
基于正交拉丁方理論的數(shù)字簽名分組批量驗(yàn)證
交通運(yùn)輸行業(yè)數(shù)字簽名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析
淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
數(shù)字簽名助力系統(tǒng)安全
基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
以數(shù)字簽名為基礎(chǔ)的檔案文件安全性管理
數(shù)字簽名簡(jiǎn)述
探討網(wǎng)絡(luò)安全中的數(shù)字簽名技術(shù)應(yīng)用效果
基于數(shù)字簽名和HSM的數(shù)據(jù)庫(kù)篡改檢測(cè)機(jī)制
基于JAVA的數(shù)字簽名設(shè)計(jì)與實(shí)現(xiàn)
404 Not Found

404 Not Found


nginx
永新县| 贵德县| 鄂尔多斯市| 巴里| 濉溪县| 丽水市| 象山县| 梨树县| 山丹县| 汪清县| 麻城市| 酉阳| 库伦旗| 莱西市| 和政县| 康保县| 靖安县| 汨罗市| 宁强县| 梨树县| 镇赉县| 承德市| 根河市| 宁安市| 铁岭市| 喀喇沁旗| 鱼台县| 灯塔市| 乌海市| 广平县| 石楼县| 临猗县| 太谷县| 巴塘县| 常州市| 自治县| 南通市| 吉安市| 罗源县| 安化县| 纳雍县|