| 本條目存在以下問題,請協助 改善本條目或在 討論頁針對議題發表看法。
| 此條目需要 精通或熟悉相關主題的編者參與及協助編輯。 (2014年8月18日) 請邀請適合的人士改善本條目。更多的細節與詳情請參見討論頁。 |
|
| 此條目 不完整。 請幫忙改善本條目,或到討論頁去討論該條目的問題。 |
AES(Rijndael)使用一個密鑰生成方案把一個短密鑰擴展成各輪用於加密的子密鑰。該方案的名稱就叫做Rijndael密鑰生成方案(Rijndael key schedule)。對於不同位數的原始密鑰(128, 192, 256),加密的輪次是不相同的,但每一輪都需要與128位的密鑰進行異或,而根據原始密鑰生成各輪子密鑰的過程就是由Rijndael密鑰生成方案完成的。
公共操作(Common operations)
在描述密鑰生成的流程之前,有必要先闡述Rijndael密鑰生成方案所使用的一些公共操作。
旋轉(Rotate)
對於下面32位的字(十六進制):
1D 2C 3A 4F
旋轉操作會把它循環左移8位(一個字節),即左邊的高8位會成為右邊的低8位,結果如下:
2C 3A 4F 1D
求2的冪次操作(Rcon)
Rcon在Rijndael的參考文檔里稱為求2的冪次。需要注意的是這個操作不是作用在常規的整數域中的,它是作用在Rijndael有限域中的。2的多項式形式為,計算的公式為:
或者等價於,