离散时空混沌的动态DES加密算法研究及其分析

时间:2022-04-11 10:38:20

离散时空混沌的动态DES加密算法研究及其分析

摘要:DES加密算法是一种重要的加密算法,但其存在一定的缺陷,为弥补缺陷,在DES加密算法的基础上提出了一种基于OCML离散时空混沌的动态DES加密算法(DSCDDES)来提高DES的安全性能,为了克服计算机的有限精度的缺陷而采用微扰动技术来改善OCML的伪随机性。仿真和分析表明该算法具有比普通DES加密算法更高的安全性能。

关键词:信息安全; 离散时空混沌; 动态DES; 安全性能

中图分类号:TN91134; TP309.7文献标识码:A文章编号:1004373X(2012)04000904

Research and analysis of dynamic DES encryption algorithm based on discrete spatiotemporal chaos

TANG Fei1, WANG qinghua2

(1. Department of Science Research & Equipment, Shenzhen Institute of Information Technology, Shenzhen 518060, China;

2. Hytera Communications Corporation Limited, Shenzhen 518060, China)

Abstract: DES encryption algorithm is an important content in the field of information security, but it has a certain defect. In order to improve DES's security performance, a dynamic DES algorithm based on OCML discrete spatiotemporal chaos is proposed. The microdisturb method was adopted to further improve pseudorandom feature of OCML. Simulation and analysis indicate that the proposed algorithm can obtain a more security performance.

Keywords: information security; discrete spatiotemporal chaos; dynamic DES; safety performance

收稿日期:20110927

基金项目:广东省自然科学基金资助项目(s2011010003890)0引言

随着互联网飞速发展和广泛普及,广大的普通人群都可以通过互联网进行各种活动,比如可以进行信息传递、网上购物、网上银行转账等各种网络活动。网络的开放性使得社会生活中传统的许多犯罪和不道德行为逐渐转为网络犯罪,如网络入侵,网络诈骗等,数字资源的盗版。因此如何保障网络的信息安全以及合法用户验证等问题已经成为信息安全的热点研究课题之一。现代密码学是信息安全的重要内容之一,通过对明文数据进行加密等可以有效地保障数据的完整性以及用户的合法。DES加密算法[1]是现代密码学的开始的标志,它在现代密码学的发展过程中起着非常重要的作用。然而DES加密算法存在着众多的缺点,如密钥过短、存在着一定数量的弱密钥和半弱密钥等而正面临着退市的考验。

近年来,世界各国的学者越来越重视对混沌理论及其应用的研究,并取得了大量的研究成果,比如混沌系统能够产生具有良好的伪随机序列、且该序列具有遍历性等;混沌系统具有对初始条件(参数)和系统参数极为敏感等特点,即使当混沌系统的初始条件或参数有微小的差异,也会随着混沌系统迭代次数不断地增加,它的值也会按指数规律分离,最终产生极大的差异,差之毫厘,谬以千里是混沌性的形象描述。综上所述,混沌系统的上述性质非常适合用于密码系统的设计[28]。

本文提出了一种将离散时空混沌系统与DES加密算法结合的动态DES加密算法,仿真结果表明,该算法具有提高DES安全性能的效果,通过对其进行必要的安全性分析后进一步说明该算法具有更高的安全性。

1DES加密算法

众所周知,数据加密标准(Data Encryption Standart,DES)是由美国IBM公司在1975年提出的一种分组长度为64 b,密钥长度为56 b的对称加密算法。它采用乘积型Lucifer密码结构的分组密码算法,随后在1977年上升为美国联邦信息处理标准:FIPS46,从此其被人们广泛用于数据的安全加密场合。虽然当前它已经被AES(Advaced Encryption Standard)等新的加密算法取代,但是在现代密码学的发展史中,DES曾经发挥了重要的作用,标志着现代密码学的开始,尤其是研究人员研究分组密码的基本理论,设计思想以及具体实现等方面仍然有着非常重要的参考和借鉴作用。DES由子密钥生成过程和加/解密过程组成,DES的基本结构经过16轮的加密字模块最终产生64 b的密文,DES加密算法的框图如图1所示,DES通过混淆与扩展达到加密的目的[1]。

图1DES加密算法结构2单向耦合映像格(OCML)混沌系统

目前,单向耦合映像格( One Way Couple Map Lattice,OCML)混沌系统是一种研究比较深入的离散时空混沌系统,它具有时空混沌行为复杂,相空间重构困难以及良好的伪随机性等优点。目前,国内外许多研究学者将它利用于图像加密、保密通信等应用领域[45]。

OCML混沌系统的数学表达式为:xm +1,n = (1-ε)f(xm,n) + ε2[f(xm,n + 1)](1)式中:n表示OCML的空间坐标n=1,2,…,L(L为OCML的长度);m表示OCML的时间坐标,ε为系统的耦合强度,且ε∈(0,1)。一般认为式(1)的周期边界条件为xm,n+L=xm,n,映射函数f(・)通常选为Logistic映射,即f(x)=4x(1-x)。当系统在满足一定的初始条件时将表现出奇妙的混沌现象。如图2所示为系统在ε=0.95时的混沌轨迹图。根据文献[4]可知xm+1,n在时间和空间上互不相关,尤其当|j-i|≥2时,序列xi,n与xj,n也互不相关。

由于OCML混沌系统产生的混沌序列具有良好的伪随机性,同时其基本操作是简单的乘加运算使其混沌序列的生成速度非常地快,并且每迭代一次能够产生L个伪随机数,因此该混沌系统非常适用于密码系统的设计。

3离散时空混沌的动态DES加密算法

在文献[1]中较为详细地阐述了DES有着如下的缺陷:

(1) 具有弱密钥Weak key和半弱密钥Semiweak key;

(2) 密文与密钥之间存在着互补的特性;

(3) 差分密码攻击,线性密码攻击和相关密钥攻击对DES有着非常有效的攻击。

为此,人们相继提出了3DES等增强型的DES,以及采用分组密码的模式等改进方法提高DES的安全性能来抵抗各种攻击的能力。

图2OCML时空混沌系统为了进一步提高DES的安全性,本文提出了一种基于离散时空混沌的动态DES加密算法(Discrete Spatiotemporal Chaos Dynamic DES,DSCDDES),具体框图如图3所示,该算法由四部分组成:输入预处理部器部分、离散时空混沌密钥发生器部分、DES加密种子密钥生成器部分和DES加密器部分。

图3SCDDES加密算法框图3.1输入预处理器

输入预处理器主要目的是根据明文的长度将其分成64 b的明文数据流组,并将结果分成2个分支,一个分支用于控制离散时空混沌系统产生动态的密钥产生,也即每8个64 b的明文数据进来触发1次时空混沌密钥发生器,而产生8个密钥混沌子密钥;另一分支则是直接将该64 b的明文数据输入到DES加密器的明文数据输入端准备去加密。

3.2时空混沌密钥发生器

将输入的Chaos key混沌密钥x0(例如取x0=0.123 456 789)带入式(1)中进行迭代,其中令L=8,这样迭代1次能够产生8个混沌子密钥,以备为8个64 b的明文加密使用。而控制迭代的次数参数来自输入预处理器模块。为了克服计算机的有限精度对混沌系统造成的缺陷,特别是导致混沌子密钥为0的情况,采用了微扰动技术来提高OCML序列的伪随机性。也即当某个混沌子密钥为0时,让其变为一个微小的固定数,比如令k1i=0.123 455 555。每个xm,n+1中去掉最高位0后取前8位数作为k1i,即:k1i=y1y2…yi…y8,yi∈z=[0,1,2,…,9]相当于对k1i放大了108再取整数。

3.3DES加密种子密钥生成器

DES的加密子密钥如图3所示,即由下式产生:ki3=ki1k2(2)式中;k2=z1z2…zi…z8,zi为第i个密钥;表示按位异或。由于每次的ki1不同,即使k2相同,通过简单的操作最终产生不同的子加密密钥ki3。

3.4DES加密器;

DES加密器采用传统的DES算法,即:ci=E(k3i,mi)(3)式中:k3i由式(2)获得的第i个加密子密钥;mi为第i个64 b的明文;ci为加密后第i个64 b的密文;E为DES的加密算法。

由于SCDDES的解密过程是其加密过程的逆过程,也需通过上面的4部分过程。并且解密密钥与加密密钥相同。因此SCDDES是一种对称加密算法。

4仿真

根据前面所述的SCDDES算法流程,在Windows平台上用VC来实现该算法,其设计界面如图4所示。

图4SCDDES加密软件界面正确加密:当解密密钥与解密密钥相同时SCDDES加密算法能够正确解密,如图5所示。

错误解密:当加密的混沌密钥的加密密钥为0.123 4,而取错误混沌密钥为0.123 5,虽然其差异为0.001,但解密的结果如图6所示,无法正确的进行解密。

图5正确加密与解密图6错误解密表1是SCDDES加密算法与DES和3DES加密的比较。这里选择了加密时间和每秒加密分组数来作为比较对象。分析表1,可以看出利用SCDDES加密算法的时间要比直接采用DES和3DES都要长,这是因为在SCDDES中添加了动态时空混沌产生混沌密钥所导致的,也即通过延长加密时间的代价换来高性能的加密效果。测试平台:PC为P4 2.0,内存为1 GB。

表1加密比较

加密算法加密时间 /s平均每秒加密分组数DES3DESSCDDES15202521 03612 56389 232

5安全性能分析

通过SCDDES动态算法产生密钥对明文数据进行加密,因此SCDDES算法具有如下特征。

(1) 没有弱密钥或半弱密钥。由于密钥k3是由DES key和SCDDES动态产生密钥动态产生的密钥共同决定的。而时空混沌密钥生成器产生的密钥具有良好的伪随机数组成,并在时空混沌密钥生成器中采用了微扰动技术而使之不存在弱密钥和半弱密钥,所有k3也将不会是弱密钥和半弱密钥。因此SCDDES将随之也不存在弱密钥和半弱密钥的缺点。

(2) 能抵抗差分密码攻击。由于DES的输入密钥k3是动态生成的,所以即使有相同的明文m,但子密钥k3是由离散时空混沌系统与DES密钥混合产生,因此SCDDES虽然有相同的DES密钥,也不会产生相同的密文。

差分密码分析是目前攻击迭代密码算法最有效的方法之一。它通过分析明文对的差值对密文对的差值的影响来恢复某些密钥比特[2]。

对分组长度为n的r轮迭代密码,两个n比特串Yi和Y*i的差分为:ΔYi=Yi(Y*i)-1(4)式中:表示n比特串集上的一个特定群运算;(Y*i)-1表示Y*i在此群中的逆元。

在SCDDES算法中输入密钥后,利用混沌系统产生加密的子密钥,因此要找到相应的差分更加困难。

(3) 能抵抗线性密码攻击。线性密码分析是对迭代密码的一种已知明文攻击,利用的是密码算法中的“不平衡性”(有效)的线性攻击。使用线性近似来描述分组密码的操作。由于SCDDES的加密算法具有良好的密码随机性,因此要找到相应的线性关系是不可能的。

6结语

本文在标准的DES加密算法的基础上,提出了一种将OCML混沌系统用于DES的离散时空混沌动态DES加密算法,仿真结果表明,该算法具有更高的安全性。 同样可以将该算法应用于其他加密算法(如IDEA)来提高安全性能。

参考文献

[1]\[美\]旋奈尔.应用密码学:协议,算法与C源代码\[M\].吴世忠,译.北京:机械工业出版社,2000.

[2]王清华,唐飞,田传俊,等.混沌系统在RSA加密算法中的应用[J].现代电子技术,2007,30(10):100102.

[3]MAO Y, CHEN G. Chaosbased image encryption, handbook of computational geometry for pattern recognition,computer vision, neurocomputing and robotics \[M\]. Berlin: SpringerVerlag, 2003.

[4]唐秋玲,姚海涛,覃团发.采用时空混沌耦合映象格子产生混沌扩频序列[J].广西大学学报:自然科学版,2002,27(1):8790.

[5]YU Kuangjing. An encryption approach to digital communication by using spatiotemporal chaos synchronization \[J\]. Acta Physica Sinica, 2001 (10): 18561860.

[6]朱晓晶,李晔.一种基于混沌系统的窄带超低速语音加密算法\[J\].现代电子技术,2010,33(7):128130.

[7]黄春杨.二维耦合映象格子混沌加密彩色图像水印[J].计算机工程与应用,2011(19):170173.

[8]何松林.基于混沌序列的数字彩色图像加密算法[J].计算机工程,2011,10(5):114116.

[9]杨波.现代密码学\[M\].北京:清华大学出版社,2003.

作者简介: 唐飞男,1978年出生,安徽人,讲师,硕士。主要研究方向为智能信号处理、图象处理等。

上一篇:一种基于Smartphone类的注册表实现方案 下一篇:基于星敏感器和陀螺的卫星定姿新方法