雜湊演算法生存狀況報告
最近一個新聞說,原本各大瀏覽器廠商推動在 HTTPS 中放棄支援 SHA-1 演算法,但是由於 Facebook 等公司認為尚有少部分使用者採用老式的 SHA-1 演算法,而建議延長支援期。姑且不論瀏覽器廠商和應用廠商的做法誰更合理,那麼這裡提到的 SHA-1 演算法是什麼呢?它有什麼風險麼?
密碼學裡面有一類演算法叫做雜湊演算法,也稱作雜湊演算法、摘要演算法,通常用於對一段資訊的取樣。當你給它一段資訊時,可以用特定演算法生成一段資訊摘要,通常摘要的長度更短。摘要可以表示這段資訊的某種特徵——就如同指紋一樣,所以這個特徵也叫做指紋、校驗和。
這種演算法包括我們經常聽說的 MD5 、SHA-1 等演算法。它通常用於加密體系的資訊摘要,以建立一個可靠、安全的資料互動通道。而現在,隨著對加密技術的研究和計算能力的提升,不斷發現摘要演算法中的缺陷和攻擊方法,因此,對於涉及到資料安全的演算法方面,建議每過一個階段就更換一次摘要演算法。
理想情況下,雜湊演算法應該有四個重要特性:
- 不可逆:不能從摘要生成其原始資訊
- 無衝突:不同的資訊具備不同的摘要
- 易計算:對任意資訊容易計算其摘要
- 特徵化:資訊修改後其摘要一定變化
當然,實際上,前兩個特性在應用中有一些不成立的情況。
雖然演算法可以做到不可完全逆轉,但是存在找到生成相同摘要的兩段或更多資訊的可能性。這是因為摘要資訊的域值範圍有限,只能表現有限種類的資訊,在用來表示無限的資訊時,肯定存在衝突。而在摘要演算法的應用場景中,往往並不要求使用具體的原始資訊,只要你能生成同樣的摘要就可以了,因此,也出現了類似彩虹表這樣的資料庫,供根據摘要資訊查詢原始資訊。
而且由於演算法本身可能會存在的缺陷,就有可能透過演算法找到兩個具有相同摘要的資訊。比如 2004 年,山東大學的王小云教授就率團隊突破了 MD5 演算法,可以找到具備相同的 MD5 摘要的兩段資訊,從而為 MD5 演算法的死亡蓋上了“核准”印章。
那麼我們就來看看,包括 MD5 在內的這些雜湊演算法們,都活著怎麼樣?
據 valerieaurora.org 的跟蹤,當前的摘要演算法們的生存狀況如下:
從上圖可以看到,SHA-2 之前的演算法,除了 RIPEMD-160 外,都已經被攻破或存在可實現的碰撞演算法了,因此,再將其應用到產品中,就存在了各種風險。所以,儘快升級你的加密策略吧。
相關文章
- 2017中國咖啡行業生存狀況報告行業
- 復旦大學:中國網際網路保險代理人生存狀況調查報告
- 3.1 雜湊演算法演算法
- 雜湊技術【雜湊表】查詢演算法 PHP 版演算法PHP
- 淺析雜湊演算法演算法
- 雜湊演算法簡介演算法
- 雜湊查詢演算法演算法
- 超酷演算法:同型雜湊演算法
- 專案狀況報告的價值 (轉)
- 演算法學習-雜湊表演算法
- 22 | 雜湊演算法(下):雜湊演算法在分散式系統中有哪些應用?演算法分散式
- Postman:2022年API狀況報告PostmanAPI
- 2017測試行業狀況報告行業
- 【六褘-Java】雜湊演算法記憶體圖;set集合低層採用雜湊表儲存元素;雜湊演算法的流程Java演算法記憶體
- js 雜湊雜湊值的模組JS
- 雜湊表(雜湊表)詳解
- 你知道雜湊演算法,但你知道一致性雜湊嗎?演算法
- 【資料結構與演算法學習】雜湊表(Hash Table,雜湊表)資料結構演算法
- 查詢演算法及雜湊表演算法
- MD5雜湊加密演算法加密演算法
- 雜湊
- Serverless在2021年狀況報告 | DatadogServer
- 2017年小程式發展狀況報告
- 雜湊表(雜湊表)原理詳解
- 【尋跡#3】 雜湊與雜湊表
- 什麼是雜湊演算法?雜湊競猜遊戲開發原理詳解演算法遊戲開發
- 2015年中國微商生存現狀調查分析報告
- 創業津樑:2012年上半年創業專案融資情況及生存狀態報告創業
- 一致性雜湊演算法演算法
- 【演算法】9 雜湊表【待補充】演算法
- 查詢(3)--雜湊表(雜湊查詢)
- ITU:2014年全球寬頻狀況報告
- 史丹佛大學2024人工智慧狀況報告人工智慧
- 樹雜湊
- 雜湊碰撞
- 字串雜湊字串
- 雜湊表
- 標準排名研究院:2016年網路約車司機生存狀況調查報告(附下載)