Hash

雜湊函式的差分密碼分析

  • February 25, 2016

如何使用差分密碼分析來攻擊雜湊函式?我一直在努力閱讀幾篇關於該主題的學術論文和論文,但它們對我來說聽起來都像是希臘語。有誰知道誰用足夠簡單(俗氣)的術語來解釋這一點?

我了解差分密碼分析方法(其中一些)如何針對塊密碼工作,但我真的很想知道如何使用它們來定位雜湊函式。

在分組密碼的情況下,差分密碼分析旨在以機率測量輸入和輸出之間的變化。目標是預測最後一輪之前的結果,並嘗試提取密鑰。

對於散列函式,您的目標是找到第二個原像。

我將以 Keccak 為例。它是一個海綿結構,交織了 24 次循環迭代 $ \text{Keccak-$f$} $ .

它是如何工作的(非常簡單的版本)?

  1. 分析輪函式並檢索其微分機率或有趣的屬性(這裡 $ \text{Keccak-$f$} $ 有一些不變數)。考慮 $ (a_0 \implies a_1) $ 在哪裡

$$ $a_0$/$a_1$ $$有區別嗎$$ before/after $$輪函式的應用。 2. 嘗試找到一條線索,例如 $ (a_0 \implies a_1 \implies \ldots \implies a_n) $ 這保持了一個有趣的機率以及在哪裡 $ a_n = 0 $ .

在 SHA3-256 的情況下,您將尋找差異狀態的第 256 位為 $ 0 $ 因為它們對應於輸出。

一旦你得到了這個特徵(祝你好運!),你可以嘗試通過計算不同的隨機輸入來找到碰撞 $ a_0 $ 並嘗試找到兩個具有相同雜湊的。那裡發生了碰撞。

有關 Keccak 差分密碼分析的更多資訊,請參見此處

引用自:https://crypto.stackexchange.com/questions/33106