DES 有多少輪?


DES 使用 16 輪。這 16 輪中的每一輪都包含以下高階步驟:

  • 金鑰轉換 - 初始 64 位金鑰透過丟棄每個第 8 位來轉換為 56 位金鑰。因此,每一輪都有一個 56 位金鑰可用。從這個 56 位金鑰中,每一輪都會使用稱為金鑰轉換的過程生成不同的 48 位子金鑰。

    將 56 位金鑰分成兩個 28 位的半部分。根據輪數,這兩半部分會迴圈左移一位或兩位。

    例如,如果輪數是 1、2、9 或 16,則只左移一位。對於其他輪數,則迴圈左移兩位。每一輪移動的金鑰位數顯示在表中。

輪數12345678910111213141516
移動的金鑰位數1122222212222221

         每輪移動的金鑰位數

  • 擴充套件置換 - 初始置換後,它有兩個 32 位明文區域,稱為左明文和右明文。在擴充套件置換期間,RPT 從 32 位擴散到 48 位。它可以將位大小從 32 位增強到 48 位,位也經過置換,即所謂的擴充套件置換。

  • S盒替換 - S盒替換是一個過程,它接收來自 XOR 運算的 48 位輸入(包含壓縮金鑰和擴充套件 RPT),並使用替換技術生成 32 位輸出。

  • P盒置換 - S盒的輸出包含 32 位。這 32 位使用 P盒進行置換。這個簡單的置換結構包含簡單的置換,包括用 P盒表中定義的另一個位替換每個位,而無需任何擴充套件或壓縮。這稱為 P盒置換。

    P盒顯示在表中。例如,第一個塊中的 16 表示原始輸入中第 16 位的位置變為輸出中第 1 位的位置,而塊號 16 中的 10 表示原始輸入中第 10 位的位置變為輸出中第 16 位的位置。

16720212912281711523265183110
28241432273919133062211425
  • 異或和交換 - 所有這些操作都只在 64 位原始明文的 32 位右半部分上執行。左半部分到目前為止不受影響。在此階段,初始 64 位明文塊的左半部分與 P盒置換生成的輸出進行異或運算。

更新於:2022年3月14日

瀏覽量 1K+

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.