SHA-224 用途
Java 8的新特性之一是 SHA-224 消息摘要。
擁有 224 位長度雜湊的案例是什麼?
SHA-224 是FIPS 180的一部分,自2004 年FIPS 180-3 FIPS 180-2 更改通知 1 以來,它被引入以匹配文件中定義的第二個安全強度 {80、112、128、192、256},該文件成為NIST 特別出版物 800-57 – 密鑰管理建議 – 第 1 部分:一般(修訂版 3)。該安全強度本身被保留,因為它與評估的 3DES 安全強度相匹配(參見NIST 特別出版物 800-131A - 轉換:轉換使用加密算法和密鑰長度的建議)。RFC 3874報告了這種動機。
SHA-224 是通過稍微修改 FIPS 180-2 的 SHA-256 來定義的,有兩種方式:
- 將輸出從 256 位截斷為 224 位,因此通過蠻力尋找碰撞的預期成本約為壓縮函式的 2 112次評估,請參見生日問題;
- 一個不同的初始化值,因此消息的 SHA-224 散列的知識不會揭示有關該消息的 SHA-256 散列的資訊(反之亦然)。
作為一個附帶的好處,SHA-224 的輸出是 28 個字節,而不是 SHA-256 的 32 個字節,這在某些情況下很有用,包括大量雜湊(正如在另一個答案中正確指出的那樣)或映射到橢圓曲線組一些特定的尺寸。但是,如果將其用於任何 FIPS 認可的用途,我會錯過它,並歡迎提供資訊。
更新:澄清為什麼 224 位是與 3DES 評估的安全強度相匹配的正確大小:SP 800-131A 說“ 三鍵三重 DES 的安全強度為 112 位 ”,我認為指的是 Stefan 的攻擊幸運:攻擊三重加密(在 FSE 1998 的程序中),或者可能是 Ralph C. Merkle 和 Martin E. Hellman 早期的中間相遇攻擊:關於多重加密的安全性(1981,ACM 通信) ,第 24 卷第 7 期)。我們需要將 112 加倍以獲得等效強度的雜湊所需的位寬,包括針對非常實際的攻擊,請參閱 Paul C. van Oorschot 和 Michael J. Wiener:使用密碼分析應用程序進行並行碰撞搜尋(1999, 密碼學雜誌 12 (1), 1-28)。