Block-Cipher

隨機數據相關密鑰計劃的安全性?

  • August 3, 2016

一個用兩個 Feistel 網路來證明這一點的例子:

密碼A:

$$ \begin{align} roundkey = hash(key || counter)\ roundkey = hash(key || roundkey)\ left = left\oplus hash(roundkey || right)\ … swap\ and\ continue \end{align} $$ 密碼B:

$$ \begin{align} roundkey = hash(key || counter || right)\ roundkey = hash(key || roundkey)\ left = left\oplus hash(roundkey || right)\ …swap\ and\ continue \end{align} $$ 在上面,密碼 A 將在每次加密/解密期間產生相同的輪密鑰,而密碼 B 中的輪密鑰對於每組明文/密文對將是不同的。

與生成相同輪密鑰的密鑰調度相比,包含明文數據以生成隨機輪密鑰的密鑰調度是否提供任何特定的好處或抱怨,而不考慮正在操作的數據?

我知道合併明文數據可能會使對手影響密鑰計劃,但問題的嚴重程度可能取決於所討論算法的細節。我對一般情況更感興趣,如果有什麼可以說的話。我也對它是否會使差分功率分析等統計側通道攻擊複雜化感興趣。

是否有許多隨機數據相關密鑰計劃的範例?或者更好的是,概述針對他們的攻擊的論文?我的搜尋主要出現了“數據相關的輪換”。

與數據無關的密鑰調度允許提前計算一次輪次子密鑰。它們可以重複用於您加密的每個後續塊。這可能會顯著提高性能。

依賴於數據的密鑰計劃沒有該屬性。

否則,沒有根本區別。

通常,密鑰調度被定義或理解為僅依賴於密鑰並且可以提前計算(不依賴於數據)的密碼部分。因此,“數據依賴的密鑰調度”在某種程度上是矛盾的。

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