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,因为这不是最终密文)。这是一个中间输出,它还将在更多轮以及输出转换步骤中进行处理。

更新于:2022年3月15日

595 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告