IDEA演算法中有多少輪加密?
IDEA代表國際資料加密演算法。IDEA是一種對稱金鑰分組密碼。它表示可以使用相同的金鑰來加密明文和解密密文。
IDEA需要加密和解密雙方擁有一個與公鑰和其他非對稱加密方案不同的金鑰。該金鑰對加密方公開。
IDEA是一種已獲得專利且普遍可用的分組加密演算法,它可以有效地保護傳輸和儲存的資訊免受第三方未經授權的訪問。
IDEA開發的基本要素是滿足所有安全要求的軍事耐用性以及清晰的硬體和軟體實現。該演算法廣泛用於多個銀行和行業應用。
IDEA共有8輪。每一輪都包括對四個資料塊進行一系列操作,使用六個金鑰。在廣義上,這些步驟可以表示如下。這些步驟執行多個數學運算。包括乘法、加法和異或運算。
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)。
普通的加法會產生一個包含17位數字的數(例如:11111111011000001)。它只能訪問16位用於round2的輸出。
因此,它可以將此數字(十進位制為130753)減少到16位數字。為此,它可以取此數的模65536。130753模65536返回65217,其二進位制表示為11111111011000001,是一個16位數,非常適合該方案。
輸入塊為P1到P4,子金鑰由K1到K6表示,此步驟的輸出由R1到R4表示(而不是C1到C4,因為這不是最終密文)。這是一箇中間輸出,它還將在更多輪以及輸出轉換步驟中進行處理。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP