EEE模式的3DES安全性分析

时间:2024-03-27 21:46:36

第一章 概述

随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切。特别地,随着Internet的广泛应用以及个人通信、多媒体通信、办公自动化、电子邮件、电子自动转账支付系统和自动零售业务网的建立与实现,信息的安全保护问题就显得更加重要,解决之一问题的有效手段之一是使用现代密码技术。
“密码学新方向”的发表和美国数据加密标准DES的颁布实施标志着现代密码学的诞生,从此解开了商用密码研究的序幕。伺候实用密码的研究基本上再沿着两个防线进行,即RSA为代表的公开密码和以DES为代表的秘密秘钥分组密码。分组密码具有速度快,易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及秘钥管理的核心密码算法,它在计算机通信和信息系统安全领域有着官方的应用。[1]
本文通过先了解DES算法的原理进而研究3DES算法。另一方面,通过2DES算法,了解中间人攻击,进而论述EEE模式的3DES的安全性与EDE模式的3DES的安全性。

第二章 题目重述

假设我们给出使用168位秘钥的三重DES(3DES)的定义如下:
EEE模式的3DES安全性分析
假设我们能够计算并存储为256的表,而且还可以选择使用明文攻击。请证明,这个三重DES(3DES)并不常规的3DES更安全,常规的三重DES仅仅使用112位的秘钥。提示:可以使用模拟针对双重DES算法的中间人攻击。

第三章 DES加密过程

3.1初始置换
DES算法使用64位的**key将64位的明文输入块变为64位的密文输出块,并把输出块分为L0、R0两部分,每部分均为32位。初始置换规则如下(明文不足64位补成64位)。
即将输入的64位明文的第1位置换到第40位,第2位置换到第8位,第3位置换到第48位。以此类推,最后一位是原来的第7位。置换规则是规定的。L0(Left)是置换后的数据的前32位,R0(Right)是置换后的数据的后32位。
EEE模式的3DES安全性分析
图1 初始置换表
3.2秘钥置换
原始秘钥长度为64位,每八位将最后一位作为奇偶校验位,于是剩下56位。将舍弃了奇偶校验位的 56 位**, 进行如图 2 所示的按位置换, 将置换所得的 56 位**平均分为两部分, 每部分 28 位。
EEE模式的3DES安全性分析
图2 秘钥置换表
然后, 进行移位置换, 根据轮数( 从第 1 轮开始) , 将以上两部分分别左移 1 位或 2 位。每轮左移的位数如图 3 所示:
EEE模式的3DES安全性分析
图3 秘钥移位表
每轮移位过后,再按照下图进行秘钥的置换。
EEE模式的3DES安全性分析
图4 秘钥置换表
3.3数据加密
EEE模式的3DES安全性分析
图5 DES算法的一轮
DES的过程基于Feistel密码的加密方案。
EEE模式的3DES安全性分析
其中EEE模式的3DES安全性分析
排列扩展将输入从32位扩展到48位,再用子秘钥与该结果进行异或运算。
EEE模式的3DES安全性分析
图6 扩展置换表
然后S-box压缩48位为32位,再将结果传递给P-box。将P-box的输出与旧的左半部分进行异或运算,得到新的右半部分。
EEE模式的3DES安全性分析
图7 S盒置换表
EEE模式的3DES安全性分析
图8 P盒置换表
3.4逆置换
将最后一轮得到的数据进行逆置换即为DES最终的输出密文。
EEE模式的3DES安全性分析
图9 拟置换

第四章 3DES算法

三重DES的定义如下:
EEE模式的3DES安全性分析
当 时,为112位秘钥的3DES算法,当 时,为168位的3DES算法。三重DES采取了“加密——解密——加密”的方式,即EDE模式,针对EDE模式的中间人攻击放在此处就不现实了,因为大表的计算基本不可行或者说成本不切实际。

第五章 中间人攻击

双重DES可以表示如下:
EEE模式的3DES安全性分析
双重DES的秘钥长度为112位,但是**2DES的时间复杂性远远低于2112,约略大于257。下面进行证明:
我们选取特定的明文P并找到了相应的密文C,对于双重DES,我们就可以得到
EEE模式的3DES安全性分析

EEE模式的3DES安全性分析
过程可解释如下,用256个所有可能的K1对P加密,将加密结果存入一表并对表按X排序,然后用256个所有可能的K2对C解密,在上述表中查找与C解密结果相匹配的项,如果找到,则记下相应的K1和K2。最后,再拿另一组明文和密文进行检验。
过程一需要执行256次,过程二也需要执行256次,总共需要执行257,教材上的次数为255预计还有碰撞会减少运算次数。综上,二重DES算法没有增强DES的安全性,反而使得运算效率降低。

第六章 解题

针对EEE模式的三重DES加密,DES算法的重复使用并不能提高算法的安全性,拿最简单的简单替换密码举例,第一次加密选择n=3,第二次加密选择n=4,这样综合起来,看算法总共替换的长度为7,类似于EEE模式的三重DES同样如此,而且EEE模式的三重DES不能很好的向后兼容。
针对EEE模式的3DES算法,我们可以采用二重DES中间人攻击的方式进行**。针对 ,我们可以首先计算
EEE模式的3DES安全性分析

EEE模式的3DES安全性分析
然后寻找X1=X2,确定K3。紧接着采取同样的方式,计算K1和K2:
EEE模式的3DES安全性分析

EEE模式的3DES安全性分析
来确定K1和K2。预计需要运算的次数为257。
而针对EDE模式的三重DES攻击的时候,中间人的攻击放在此处就不现实了,因为大表的预结算不可行或者说单次攻击的成本不切实际。截止目前,EDE模式的3DES还未有出现**方法。

第九章 参考文献

[1]冯登国. 分组密码的设计与分析(第2版)[M].清华大学出版社,2009.10

还有几遍网络文章以及图片来源于网络,额时间有点久远,网址都没记,如有侵权,请联系。