Aes

為什麼 AES(和其他密碼)中的排列不是隨機的或依賴於密鑰的?

  • August 1, 2018

如果 AES(或其他密碼)中的排列是隨機生成的或依賴於密鑰,那麼它對差分攻擊的抵抗力會不會更強?

如果是這樣,那麼我們可能需要更少的輪次來獲得相同的安全級別嗎?

您已將問題澄清為詢問是否將 ShiftRows 替換為隨機字節排列會增強 AES 對差分攻擊的攻擊。它不會。

ShiftRows 和 MixColumns 被精心挑選以協同工作,這樣每個字節都會在兩輪內影響狀態中的每個其他字節。MixColumns 確保每四個字節的列在該步驟之前和之後至少有五個差分活動字節(即如果將 MixColumns 之前列中的差分活動字節添加到 MixColumns 之後列中的活動字節,則數量至少為5)。ShiftRows 確保該步驟之後的每一列都包含該步驟之前每一列的一個字節。

這兩個步驟一起操作,為 4 輪中差分活動 s-box 的數量設置了一個較高的下限:AES 創建者證明,至少有 25 個 s-box 在 4 輪中處於活動狀態,從而最小化任何差分特徵的機率/踪跡。

有替代 ShiftRows 的替代品可以做同樣的事情(參見例如交換列和行的密碼 SQUARE)。但是隨機字節排列可能無法確保在像 ShiftRows 這樣少的輪次中具有如此高的最小活動 s-box 數。

我假設您的意思是 S-box。答案是不!隨機選擇的 S 盒不是差分和線性密碼分析的好選擇。當 Biham 和 Shamir 提出對 DES 的差分攻擊時,他們展示的一件事是,如果您將 DES 中的 S-box 替換為隨機選擇的 S-box,那麼差分攻擊將變得更具破壞性。您必須規劃您的 S-box,使其能夠抵禦這些攻擊。

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