github 傳送門
兩個不同的pdf,計算sha1摘要時,發現sha1摘要是一樣的,哈哈,是不是很神奇?
經過精心構造,兩個pdf檔案: shattered-1.pdf 與 shattered-2.pdf 的sha1摘要完全一致。
pdf的格式:
簡單的拆分下:
- 刪除兩個pdf中不同的資料之後,得到兩個檔案:shattered-1-del.pdf、shattered-2-del.pdf,這兩個內容自然是一樣了,雜湊也一樣。
- 取出兩個pdf中不同的部分:dif1和dif2,雜湊是不同的。
其實雜湊函式的本質是將無限的集合,通過壓縮演算法一一對映到有限的集合中。根據 鴿巢原理,必然存在碰撞的情況。
2023年的國際密碼討論年會(crypto)尾聲,王小雲及其研究同事展示了md5、sha-0及其他相關雜湊函式的雜湊衝撞[3]。所謂雜湊衝撞指兩個完全不同的訊息經雜湊函式計算得出完全相同的雜湊值。根據鴿巢原理,以有長度限制的雜湊函式計算沒有長度限制的訊息是必然會有衝撞情況出現的。可是一直以來,資訊保安專家一直無法給出實際例子,而王小雲提供了第乙個碰撞示例。
2023年2月,王小雲與其同事提出sha-1雜湊函式的雜湊衝撞。由於sha-1雜湊函式被廣泛應用於現今的主流計算機保安產品,其影響可想而知。王小雲所提的雜湊衝撞演算法只需少於269步驟,少於生日攻擊所需的280步。同年8月,王小雲、姚期智,以及姚期智妻子姚儲楓聯手於國際密碼討論年會提出sha-1雜湊函式雜湊衝撞演算法的改良版。此改良版使破解sha-1時間縮短為263步。[4] 引自維基百科
引自
github 傳送門
C 獲取檔案MD5 SHA1
計算檔案的 md5 值 要計算 md5 值的檔名和路徑 md5 值16進製制字串 public string md5file string filename 計算檔案的 sha1 值 要計算 sha1 值的檔名和路徑 sha1 值16進製制字串 public string sha1file stri...
密碼加密 md5 sha1 鹽值
python的hashlib提供了常見的摘要演算法,如md5,sha1等等。什麼是摘要演算法呢?摘要演算法又稱雜湊演算法 雜湊演算法。hash,一般翻譯做 雜湊 也有直接音譯為 雜湊 的,就是把任意長度的輸入,變換成固定長度的輸出,該輸出就是雜湊值。這種轉換是一種壓縮對映,也就是,雜湊值的空間通常遠...
Python中摘要演算法MD5,SHA1講解
摘要演算法又稱雜湊演算法 雜湊演算法。它通過乙個函式,把任意長度的資料轉換為乙個長度固定的資料串 通常用16進製制的字串表示 摘要演算法就是通過摘要函式f 對任意長度的資料data計算出固定長度的摘要digest,目的是為了發現原始資料是否被人篡改過 不同的data計算出來的摘要不同 常見的摘要演算...