如何在公開比賽中分析雜湊函式?
2007 年至 2012 年間舉辦了一場著名的SHA-3 競賽,獲勝者將被標準化為 SHA-3。現在比賽已經結束,NIST 已經發布了不同輪次的報告。從第 3 輪報告來看,所有五名決賽選手都相當有競爭力。理解為什麼 Keccak 在競爭中脫穎而出並成為贏家會很有趣。
在報告中,NIST 提到了安全分析的幾個方面,例如域擴展器、安全邊際等。但是,NIST 也承認,在同一份報告中,*沒有一個入圍者被認為是安全分析的明顯贏家或輸家。*我們手頭有哪些密碼分析方法?鑑於沒有候選算法被破壞這一事實,我們如何確定(或獲得信心)一個比另一個更好?
為了斷言 Cryptogaphic 原語的安全性,通常使用差分密碼分析(這是第一個工具,但不是唯一的)。
從報告中您可以閱讀:
1. 安全
Grøstl 和 JH 具有延伸到大部分或所有輪次的差異屬性,而其餘三個候選者僅具有延伸到大約一半輪次的區分符。
並且 :
Keccak 收到了大量的密碼分析,儘管分析的深度不如 BLAKE、Grøstl 或 Skein。這種密碼分析給 Keccak 留下了巨大的安全餘地——在其 24 輪中只有 5 輪被近乎碰撞攻擊破解。經過重大的密碼分析努力,Keccak 的巨大安全邊際表明 Keccak 將在未來保持安全。
這裡的想法是在不同類型的結構之間有一種安全感。我最近參與了一個新方案的設計,我們非常關注我們選擇的常數以避免微分(或者更糟糕的是,迭代微分)……
2.速度和硬體支持
所有入圍者都有所需的速度,而 ARX 設計的方案具有軟體優勢,使用硬體指令導致更快的雜湊。因此,Keccak 對硬體友好幫助它獲得了優勢。
Keccak 提供了一組出色的性能權衡 – 它在軟體方面與 SHA-2 具有廣泛的競爭力,同時在硬體方面提供更好的吞吐量/面積性能。
三、方案
Keccak 還提供了一種與通常的 Merkle-Damgård 結構完全不同的新方案:海綿結構。
4。結論
Keccak 具有較大的安全裕度、良好的通用性能、出色的硬體實現效率和 靈活的設計。Keccak 使用一種新的“海綿結構”域擴展器,它基於一個固定的排列,可以很容易地調整它以用通用安全強度換取吞吐量,並且可以根據需要生成更大或更小的雜湊輸出。Keccak 設計者還為 Keccak 定義了一種改進的連結模式,可提供經過身份驗證的加密。
TL;博士:
假設您想購買一台新電腦。你有 $ Computer_1 $ 和 $ Computer_2 $ 在你面前。都有:
- 同樣的價格,
- 相同的 CPU(速度),
- 相同的 RAM 大小(安全性),
但 $ Computer_2 $ 還為您提供額外的 PCIe 卡支持(海綿結構)。您知道目前您不需要 PCIe 支持…您選擇哪一個?我覺得你會選擇第二個,因為你不知道未來是什麼,如果可能的話你會想要升級,並且可能會使用 PCIe。