ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

密码学系列之:IDEA

2021-05-17 09:51:44  阅读:195  来源: 互联网

标签:216 系列 IDEA 半轮 密钥 转换 密码学 加密算法


简介

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/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!


标签:216,系列,IDEA,半轮,密钥,转换,密码学,加密算法
来源: https://blog.51cto.com/u_11256213/2780313

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有