資訊安全中的IDEA是什麼?


IDEA代表國際資料加密演算法 (International Data Encryption Algorithm)。IDEA是由James Massey和Xuejia Lai發明的分組密碼,首次定義於1991年。它使用128位金鑰長度,作用於64位資料塊。

它包含一系列八個相同的變換,依賴於按位異或、加法和乘法模運算。它基於對稱密碼,並且金鑰設計方法非常薄弱,因此與DES相比,該演算法的安全級別非常低。由於其複雜的結構,IDEA並沒有變得非常流行。

與其他分組密碼演算法不同,IDEA被瑞士Ascom公司考慮使用。然而,其獨特的授權允許免費的非商業用途,這使得IDEA成為著名的訊息字元加密中常用的分組密碼演算法。

IDEA有八輪。每一輪都包含使用六個金鑰對四個資料塊進行的一系列操作。第一輪可以使用金鑰K1到K6,第二輪可以使用金鑰K7到K12,以此類推,直到最後一輪。最後一步包括一個輸出變換,需要四個子金鑰(K49到K52)。

最終輸出是由輸出變換步驟產生的輸出。塊C1到C4連線起來形成最終輸出。每一輪包含14個步驟,如下所示:

IDEA一輪的細節

步驟1: 乘法 * P1 和 K1
步驟2: 加法 * P2 和 K2
步驟3: 加法 * P3 和 K3
步驟4: 乘法 * P4 和 K4
步驟5: 將步驟1和步驟3的結果進行異或運算
步驟6: 將步驟2和步驟4的結果進行異或運算
步驟7: 將步驟5的結果與K5進行乘法運算 *
步驟8: 將步驟6的結果與步驟7的結果進行加法運算 *
步驟9: 將步驟8的結果與K6進行乘法運算 *
步驟10: 將步驟7的結果與步驟9的結果進行加法運算 *
步驟11: 將步驟1的結果與步驟9的結果進行異或運算
步驟12: 將步驟3的結果與步驟9的結果進行異或運算
步驟13: 將步驟2的結果與步驟10的結果進行異或運算
步驟14: 將步驟4的結果與步驟10的結果進行異或運算

每一輪的後續步驟中的“加法 *”和“乘法 *”不是基本的加法和乘法,而是模216(即65536)的加法和模216 + 1(即65537)的乘法。

**輸出變換** - 這是一個一次性操作。它發生在第8輪的最後。因此,64位值被分成四個子塊(例如R1到R4),這裡使用了四個子金鑰。

**解密** - 解密過程類似於加密,但是輪金鑰的順序被反轉,奇數輪的子金鑰也被反轉。因此,子金鑰K1-K4的值透過加密中相應集合運算的K49-K52的反轉來恢復,每一組的K5和K6應該透過K47和K48來恢復解密操作。

更新於:2022年3月15日

瀏覽量1K+

啟動你的職業生涯

透過完成課程獲得認證

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