Des

第 1 輪之後對 DES 密鑰計劃的後續輸入是什麼?

  • January 7, 2018

我剛剛研究了 Christof Paar 在他的書《理解密碼學》以及他的講座中提出的 DES 加密算法。正文的第 68 頁上有一張圖表,其中顯示了關鍵時間表,我已經了解了以下資訊:

  1. 最初輸入的是 64 位“密鑰”
  2. 在 Permuted Choice 1 排列期間,該 64 位密鑰從其中刪除了 8 位,使其現在成為 56 位密鑰。
  3. PC-1 的 56 位輸出現在分為兩個小節, $ C_0 $ 和 $ D_0 $ ,每個都是28位。
  4. $ C_0 $ 和 $ D_0 $ 如果輪數為 1、2、9 或 16,則它們各自的 28 位向左旋轉一次,否則它們各自的位向左旋轉 2 位。
  5. ** 發生上述情況後,置換後的 56 位由置換選擇 2 置換處理,輸出為 48 位輪密鑰。**

我在這裡突出顯示了第 5 項,因為這是我的困惑所在,也是我問題的前兆:一旦我們有了一個圓鍵, $ k_1 $ 例如,顯然然後將其放入 $ f $ 功能作為輸入一起 $ R_i $ . 然而,在這一輪結束後,輪關鍵 $ K_i $ 是 48 位,但關鍵調度轉換似乎需要 56 位輸入。有人可以解釋一下我們如何從圓形密鑰中獲得,例如 $ k_2 $ (算法第 2 輪的子密鑰)到輪密鑰 $ k_3 $ ? 每一輪轉換是否再次使用原始密鑰,還是使用前幾輪密鑰?

正如您已經正確觀察到的那樣,要獲得 $ k_1 $ , 你旋轉 $ C_0 $ 和 $ D_0 $ 留下來獲得 $ C_1 $ 和 $ D_1 $ 並將 PC-2 應用於 $ C_1 $ 和 $ D_1 $ .

要得到 $ k_2 $ , 你只需旋轉 $ C_1 $ 和 $ D_1 $ 留下來獲得 $ C_2 $ 和 $ D_2 $ 並應用 PC-2。要得到 $ k_3 $ , 你旋轉 $ C_2 $ 和 $ D_2 $ 留下來獲得 $ C_3 $ 和 $ D_3 $ 並應用 PC-2。這種情況一直持續到 $ k_{16} $ . 另請參見關於 DES 的 Wikipedia 文章中的圖 3 以獲取圖形說明。圓形鍵 $ k_1, \dots, k_{16} $ 然後在相應輪次的輪次函式中使用。

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