Hash

如果使用 AES-256 的相關密鑰弱點來建構雜湊,是否可以利用它?

  • September 3, 2019

假設它是基於 AES-256 加密的散列(可能是因為這是硬體加速的,但沒有標準散列);它使用Merkle-Damgård結構,即將消息填充到n $ n $ 填充消息塊米一世 $ M_i $ (附加到消息 1、最小數量 0 和 64 位消息長度(以位為單位)),以及每個構造的壓縮函式

  1. Davies-Meyer用於 256 位塊的 128 位散列米一世 $ M_i $ , 那是
  • H0 $ H_0 $ 設置為 128 位nothing-up-my-sleeves常量;
  • 為了一世 $ i $ 從0 $ 0 $ 到n−1 $ n-1 $ :

 H一世+1=AES-256米一世(H一世)⊕H一世 $ \text{ }H_{i+1}=\text{AES-256}_{M_i}(H_i)\oplus H_i $

  • 結果是Hn $ H_n $ ;
  1. Hirose (FSE 2006)用於具有 128 位塊的 256 位散列米一世 $ M_i $ , 那是
  • G0 $ G_0 $ 和H0 $ H_0 $ 設置為 128 位 nothing-up-my-sleeves 常量;
  • 為了一世 $ i $ 從0 $ 0 $ 到n−1 $ n-1 $ (和C $ C $ 一個非零的nothing-up-my-sleeves 128 位常數)  G一世+1=AES-256H一世||米一世(G一世)⊕G一世H一世+1=AES-256H一世||米一世(G一世⊕C)⊕(G一世⊕C) $ \text{ }\begin{align*} G_{i+1}&=\text{AES-256}{H_i||M_i}(G_i)\oplus G_i\ H{i+1}&=\text{AES-256}_{H_i||M_i}(G_i\oplus C)\oplus(G_i\oplus C) \end{align*} $
  • 結果是Gn||Hn $ G_n||H_n $ .

請注意,在這兩種結構中,攻擊者可以操縱的消息都輸入到密碼的密鑰輸入中,這使得相關密鑰攻擊成為一個問題。

問題:在這些情況下,任何已知或可預見的 AES-256 相關密鑰弱點是否可被利用或嚴重威脅?

如果是,我們是否還有其他雜湊構造,其中 AES(任何大小)相關的密鑰弱點將不那麼令人擔憂?

注意:對於 128 位散列,我們期望的努力相當於264 $ 2^{64} $ 展示衝突的加密(可以有效地分佈,請參閱Parallel Collision Search with Cryptanalytic Applications);和分鐘(2128,2129/n+265) $ \min(2^{128},2^{129}/n+2^{65}) $ 加密以展示(第二個)原像(通過對 Merkle-Damgård 雜湊的一般攻擊歸因於 RD Dean 在他 1999 年的論文(第 5.3.1 節)中,由 J. Kelsey 和 B. Schneier 在Second Preimages on n中更好地展示和改進位散列函式,用於遠少於 2 n的工作)。

對於 256 位散列,我們期望的努力至少相當於2128 $ 2^{128} $ 展示碰撞的加密,以及展示原像的更多。

在我的博士論文中總結了對 AES-256 的最有效的相關密鑰攻擊以及由此產生的基於 AES-256 的雜湊函式的弱點。儘管對散列函式的碰撞和原像攻擊還遙不可及,但這些函式的組件仍然暴露了一些好的散列函式或隨機預言不期望的屬性。

詳細來說,AES-256 的密鑰計劃允許許多相關的密鑰差異軌跡,其中最可能的一條覆蓋少至 19 個 S-box(第 96 頁)和機率2−119 $ 2^{-119} $ . 通過玩這條線索的第一輪,可以獲得基於 AES-256 的壓縮函式的各種屬性 F(一世在,米)=一種和小號米(一世在)⊕一世在

$$ F(IV,M) = AES_{M}(IV)\oplus IV $$持有的機率相當大。 例如,可以固定值Δ一世 $ \Delta I $ 和Δ米 $ \Delta M $ 並產生一些偽碰撞 {(一世在一世,米一世)} $ {(IV_i,M_i)} $ 這樣對於所有人一世 $ i $ : F(一世在一世,米一世)=F(一世在一世⊕Δ一世,米一世⊕Δ米).

$$ F(IV_i,M_i) = F(IV_i\oplus \Delta I, M_i\oplus \Delta M). $$ 可以證明構造q $ q $ 類似的偽碰撞(Δ一世,Δ米) $ (\Delta I,\Delta M) $ 幾乎需要2n $ 2^{n} $ 什麼時候工作q>2 $ q>2 $ ,而對於 Davies-Meyer 模式下的 AES-256,複雜度約為 q⋅267 $ q\cdot 2^{67} $ .

儘管這不是對完整雜湊函式的直接威脅,但惡意設計者可能會選擇一個 IV 來最大化第一輪的差分屬性。在無所不能的值中,必須有一些允許更高機率的差分軌跡。

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