Aes

從安全形度來看,Rcon 在 Rjindael 的密鑰擴展中的重要性是什麼?

  • January 5, 2017

我不明白為什麼該Rcon功能很重要,它看起來像是在浪費周期。

$$ \operatorname{Rcon}(i) = 2^{i-1} \bmod p(x) $$在 $ \operatorname{GF}(2^8) $ , 在哪裡 $ p(x) $ 是不可約多項式 $ x^8+x^4+x^3+x+1 $ .

根據密碼創建者撰寫的“ Rijndael 的設計”第 3.8 節,其目的是消除密鑰調度中的對稱性:

非線性函式是通過應用來實現的 $ \mathrm S_\mathrm{RD} $ 對於列的四個字節,列內的字節進行額外的循環旋轉並**添加一個舍入常數(用於消除對稱性)。**輪常數獨立於 $ \mathrm N_\mathrm k $ ,並由遞歸規則定義 $ \operatorname{GF}(2^8) $ :

(強調我的。)

第 5.8 節對此進行了詳細說明:

對於 Rijndael 的關鍵時間表,標準不那麼雄心勃勃。基本上,關鍵時間表有三個目的。

  1. **第一個是引入不對稱。密鑰計劃中的不對稱會阻止輪次轉換中的對稱性以及導致弱點的輪次之間的對稱性或允許攻擊。**此類弱點的範例是 DES 的互補屬性或弱密鑰,例如 DES$$ 28 $$. 利用對稱性的攻擊範例是滑動攻擊。

(強調我的。)

總結:添加輪常數 $ \mathrm{Rcon} $ 是一種非常便宜的方式(循環次數不是很多),讓key schedule的每一步都略有不同,避免了過去已經很明顯的各種攻擊。

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