简介
IDEA 的全称是 International Data Encryption Algorithm,也叫做国内加密算法,留神,这里不是咱们罕用的那个开发工具 IDEA。
明天给大家具体介绍一下 IDEA。
IDEA 简介
IDEA 中文叫做国内加密算法,最开始也被叫做 Improved Proposed Encryption Standard (IPES)。它是一种对称密钥加密算法,最后是由 James Massey 和 Xuejia Lai 在 1991 年提出的。
其指标是代替 DES 算法。IDEA 是对晚期的 PES 的一次订正。IDEA 是 OpenPGP 规范的可选算法。
IDEA 的专利在 2012 年曾经过期了,当初是能够收费应用的。
IDEA 原理
IDEA 加密块长度是 64bits,密钥长度是 128bits,是由八轮变换和半轮输入转换组合而成的。加密和解密的过程是相似的。咱们看下 IDEA 的根本流程图:
下面图中,蓝色圆圈是 XOR 异或操作,绿色框是加法模数 216。红色的点是乘模 216 + 1,如果输出都是 0(0x0000)那么将会被转换为 216,如果输出是 216,那么会被转换为 0(0x0000)。
八轮操作之后,就是上面的半轮输入转换了,输入转换如下所示(两头两个值的替换对消了最初一轮完结时的替换,因而没有净替换):
IDEA 子密钥的生成
IDEA 应用的是 Lai–Massey 构造。每轮应用 6 个 16 位子密钥,最初的半轮应用 4 个子密钥,共 8.5 回合 52 个子密钥。
后面 8 个子密钥间接从密钥中提取,因为密钥的长度是 128bits,刚好能够分成 8 个 16bits 的自密钥。其中第一轮的 K1 为密钥的 16 位。
通过在每 8 组之间将主密钥向左挪动 25 位,从而创立更多的 8 组子密钥。
本文已收录于 http://www.flydean.com/idea/
最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!
欢送关注我的公众号:「程序那些事」, 懂技术,更懂你!