Encryption

國際數據加密算法(IDEA)的密鑰調度

  • July 24, 2021

國際數據加密算法 (IDEA) 中的密鑰調度是如何完成的。我做了一些研究,但無濟於事。

我無法理解維基百科的這個聲明:

…通過在每組八個密鑰之間將主密鑰向左旋轉 25 位來創建更多的八個密鑰組。”

有人可以向我解釋一下嗎?

看看相應的論文

密鑰是一個 128 位的字元串 $ K $ . 圓的圓鍵 $ r=1,…,8 $ 推導如下:

  • 取版本 $ K $ 循環向左旋轉 $ 25\cdot r $ 次;
  • 將得到的字元串拆分為八個子字元串並呼叫 $ Z_1^{(r)} $ , …, $ Z_8^{(r)} $ .

按鍵 $ Z_7^{(r)} $ 和 $ Z_8^{(r)} $ 從未使用過。子鍵 $ Z_1^{(9)} $ , …, $ Z_4^{(9)} $ 用於屏蔽輸出。

要生成一個密鑰,我們使用 128 位主密鑰:0110101010101 最多 128 個。1 個密鑰 = 16 位塊,因此在這種情況下,我們生成 8 個 16 位密鑰。但是當我們達到第 25 位時生成密鑰時最重要的一件事是從開始到 25 位然後我們執行 LS-25。

1101 Ls-1= 1011 只左移一位。1101 ls-2= 0111 兩位右移。所以如果是 ls-25 …25 位右移。

最後我們要完成7輪來完成這個過程。

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