日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2016012075 谢月月 散列函数的应用及其安全性

發(fā)布時間:2025/4/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2016012075 谢月月 散列函数的应用及其安全性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

散列函數(shù)的應用及其安全性

一、散列函數(shù)的應用

1、消息認證:?????? (1)、消息認證的定義:消息認證是用來驗證消息完整性的一項機制或服務。消息認證確保收到的數(shù)據(jù)確實和發(fā)送時的一樣(即沒有修改、插入、刪除和重放)。此外,通常還要求消息認證機制確保發(fā)送方聲稱的消息是有效的。當Hash函數(shù)用于提供消息認證功能時,Hash函數(shù)值通常稱為消息摘要。

????? (2)、消息認證中使用Hash函數(shù)的本質(zhì):發(fā)送者根據(jù)待發(fā)送的消息使用該函數(shù)計算一組Hash值,然后將Hash值和消息一起發(fā)送過去。接收方收到消息后對于消息執(zhí)行同樣的Hash計算,并將結果與收到的Hash值進行比對。如果比對不匹配,則接收者推斷出消息(當然也可能是Hash值)遭受了篡改。

???? (3)Hash碼用于消息認證的方式(如下圖所示):

????? (a)、使用對稱密碼算法加密信息和Hash碼。因為只有A和B共享密鑰,所以消息必然發(fā)自A處。

?? ?? (b)、使用對稱密碼算法只對Hash碼進行加密。對于無需保存性的應用,這種方法減少了加解密操作的負擔。

????? (c)、不使用加密算法,僅使用Hash函數(shù)也能夠?qū)崿F(xiàn)消息認證。該方案假設通信雙方共享相同的消息值S。發(fā)送方A將消息M和秘密值S串聯(lián)后計算其Hash值,并將得到的Hash值附在消息M后發(fā)送。因為接收方B同時掌握S,所以能夠計算改Hash值進行驗證。

????? (d)、通過將整個消息和Hash值加密,能夠在方案(c)的基礎上提供保密性。

?

?2、數(shù)字簽名:

????? (1)、數(shù)字簽名的定義:數(shù)字簽名的操作與MAC相似,在進行數(shù)字簽名的過程中使用用戶的私鑰加密消息的Hash值,其他任何知道該用戶公鑰的人都能夠通過數(shù)字簽名來驗證消息的完整性。在這種情況下,攻擊者要想篡改消息,則需要知道用戶的私鑰。

?????? (2)、數(shù)字簽名的方案(如下圖所示):

??????? (a)、使用發(fā)送方的私鑰,利用公鑰密碼算法僅對Hash碼進行加密。與圖(b)一樣,這種方法可提供認證;由于只有發(fā)送方可以產(chǎn)生加密后的Hash碼,所以這種方法也提供了數(shù)字簽名,事實上,這就是數(shù)字簽名技術的本質(zhì)所在。

??????? (b)、若即希望保證保密性又希望有數(shù)字簽名,則先用發(fā)送方的私鑰對Hash碼加密,再用對稱密碼中的密鑰對消息和公鑰算法加密的結果進行加密,這種技術比較常用。

3、其他應用:

????? (1)、用于產(chǎn)生單向口令文件

????? (2)、Hash函數(shù)能用于入侵檢測和病毒檢測。將每個文件的Hash值H(F)存儲在安全系統(tǒng)中(CD-R中),隨后就能夠通過重新計算H(F)來判斷文件是否被修改過。入侵者只能夠改變F,而不能夠改變H(F)。

????? (3)、密碼學Hash函數(shù)能夠用于構建隨機函數(shù)(PRF)或用做偽隨機數(shù)發(fā)生器(PRNG)

二、散列函數(shù)的安全性以及目前安全散列函數(shù)的發(fā)展

1、散列函數(shù)的安全性:

(1)、生日攻擊:

?????? 舉例: A對一個合同文件進行簽名,然后把合同文件和簽名一起發(fā)送給接收方。攻擊者B想要偽造假的合同文件發(fā)給接收方。B先準備2^m/2個有效合同文件(集合X),每個文件包含與原合同文件相同的意思。B再準備2^m/2個偽造合同文件(集合Y),每個文件也都是希望的偽造合同的意思。然后比較集合X和Y,找到Hash值相同的兩個文件,分別是有效合同和偽造合同B成功的概率會大于0.5,如果沒有找到匹配的文件,就準備更多的有效文件和偽造文件,直到找到一對匹配的文件。

?????? 防范方法:①、使用安全的Hash算法:安全的Hash算法產(chǎn)生成的Hash值足夠多的位數(shù)。這樣攻擊者尋找相同Hash值得文件就非常困難。②、加鹽:在為文件簽名之前,先向文件添加一個隨機值,然后計算Hash值,再將文件、簽名和隨機值一起發(fā)送給接收方。③、改動文件:在為文件簽名之前,對消息或文件做少許改動。

(2)、MD5安全性:

??????? 用于確保信息傳輸完整一致。將數(shù)據(jù)運算為另一固定長度值,是湊雜算法的基礎原理。從2004年利用MD5的碰撞的方法就能將MD5攻破開始,MD5就已經(jīng)不安全。MD5攻擊方法有①通過暴力破解②網(wǎng)上有MD5對應的數(shù)據(jù)庫,比較簡單的密碼都可以從數(shù)據(jù)庫中找到。

(3)、SHA-1的安全性:

?????? 2005年,Rijmen和Oswald發(fā)表了對SHA-1較弱版的攻擊,2005年2月,王小云、殷益群以及于洪波發(fā)表了對完整版SHA-1的攻擊,在2017年Google公司宣布實現(xiàn)了對SHA-1算法的攻擊,SHA-1徹底被攻破。

(4)、散列函數(shù)的安全性:

?????? ①、散列函數(shù)的攻擊方法有:窮舉攻擊和密碼分析法

?????? ②、散列函數(shù)的安全需求:a、輸入長度可變,H可應用于任意大小的數(shù)據(jù)塊;b、輸出長度固定,H產(chǎn)生定長的攻擊;c、效率,對任意給定的x,計算H(x)比較容易,用硬件和軟件均可實現(xiàn);d、抗原像攻擊(單向性),對任意給定的Hash碼h,找到滿足H(y)=h的y在計算上是不可行的。e、抗第二原像攻擊(抗弱碰撞性),對任意給定分塊x,找到滿足y≠x,且H(x)=H(y)的y在計算上是不可行的;f、抗碰撞攻擊(抗強碰撞性),找到任何滿足H(x)=H(y)的偶對(x,y)在計算上是不可行的。g、偽隨機性,H的書櫥滿足偽隨機性測試標準。

(5)安全散列函數(shù)的發(fā)展:

?????? ①、SHA由美國標準與技術研究所(NIST)設計,并于1993年作為聯(lián)邦信息處理標準(FIPS 180)發(fā)布;

?????? ②、隨后該版本的SHA-0被發(fā)現(xiàn)存在缺陷,修訂版于1995年發(fā)布(FIPS 180-1),通常稱為SHA-1;

?????? ③、2002年,NIST發(fā)布了修訂版FIPS 180-2,其中給出了三種新的SHA版本,Hash值長度依次為256位、384位和512位,分別稱為SHA-256、SHA-384和SHA-512。這些統(tǒng)稱為SHA-2;

?????? ④、在2008年發(fā)布的修訂版FIP PUB 180-3中,增加了224位版本。

三、MD5算法來驗證軟件完整性出現(xiàn)的問題

????? 1、不同的兩個程序有可能有相同的MD5;

????? 2、不能通過校驗MD5來判斷軟件是否被入侵或者中病毒等;

???? 3、無法確定文件的來源可靠性;

???? 4、當MD5驗證時間較長時,會增加安全風險,被攻擊的幾率會大大增加。

?

轉(zhuǎn)載于:https://www.cnblogs.com/xieyy127/p/9029603.html

總結

以上是生活随笔為你收集整理的2016012075 谢月月 散列函数的应用及其安全性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。