简介
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/
最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!
欢送关注我的公众号:「程序那些事」,懂技术,更懂你!