對於文件存儲庫,我需要選擇一種散列算法來合理確保文件的完整性。用於文件完整性驗證的簽名/散列選擇
我需要一種算法,任何人(只需付出一點努力)就可以很容易地使用它來驗證給定哈希的完整性。簡而言之,該文件可能會傳送給用戶以及散列,並且他們必須能夠驗證該散列來自該文件。
我的第一選擇將是MD5,因爲似乎有廣泛使用的實用程序來驗證MD5哈希值,但我關心的是MD5算法進行加密破碎(參見維基百科/ US-CERT:http://en.wikipedia.org/wiki/MD5)
我第二個選擇是SHA-2算法,但我擔心可以輕鬆驗證散列的實用程序的可用性。我發現的大多數示例都顯示了用於評估哈希的程序代碼,但是我發現很少有(如果有的話)預先構建的實用程序(要求用戶構建自己的實用程序超出了「易」範圍)。還有哪些其他選項可用於生成和評估文件哈希,或者這兩個選項是最好的?
在這種情況下第二預圖像似乎是相關的攻擊。沒有已知的方法可以有效地找到MD5的第二張預先圖像。 – CodesInChaos
@CodesInChaos有效定義。如果能夠低效地完成,那不是一個問題。 – weston
@weston在這種情況下,它是> 2^120個MD5調用,即完全不可行。 – CodesInChaos