APP下载

基于混沌映射和DES的云平台文件加密算法

2016-01-05樊勇田立伟

电脑知识与技术 2015年31期
关键词:混沌

樊勇++田立伟

摘要:针对云存储的安全问题,该文在分析了DES算法和混沌序列的特点后,设计了一个基于Logistc序列和DES算法的文件加密算法。对上传云空间的文件可以先用该算法进行加密,然后再上传至云平台;当用户需要使用该文件时,从云平台下载该文件,然后在本地解密再使用。由于该算法涉及了8个参数,并且实现了“一次一密”,从而增加了破解的难度,能有效地避免用户重要文件信息在云空间的泄露。

关键词:DES算法;混沌;Logistic

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2015)31-0012-02

1 引言

随着物联网、移动互联网和云计算技术及应用的蓬勃发展,人类产生的数据量正以指数级增长,其中很多是与用户相关的敏感信息,甚至涉及国家机密。所以,难免会吸引来自世界各地的各种人为攻击。云存储以云计算为基础,是一种新型的存储模式。云存储平台相较于传统存储模式的优势是,可以为用户省去高昂的存储设备费用,并提供更庞大的存储空间。尽管云存储有着方便、廉价、空间大等诸多优势,但是云存储依然存在着安全问题。2013年,日本某报刊报道数家日本企业的内部文件在中国某搜索引擎的文件共享服务中被泄露,甚至包括了一款尚未上市汽车的图片和具体参数的销售材料。2014年,苹果iCloud的泄露门说明苹果这一备受全球信赖和欢迎的手机服务商,其云存储服务也存在安全漏。由于无法信赖云服务提供商,因此用户有必要对重要数据进行加密之后再上传到云空间,以保证存储数据的安全。

数据加密通过使用密码技术对信息进行加密,把明文变成密文,从而实现信息隐蔽,达到保护信息的作用。在需要时,再通过相应的解密技术把密文变成明文,恢复其初始面貌。

2 DES算法

任何一个加密系统都是由明文、密文、算法及秘钥组成。密码算法是用于进行数据加密和解密的函数。DES算法((Digital Encryption Standard)是一种对称的分组算法,其算法是公开的,其安全性依赖于秘钥的保密。该算法将明文分成若干组,每组长度为64比特;秘钥长度也为64比特(其中有效的秘钥位数只有56比特,秘钥空间为[256]);每组明文加密后得到64比特的密文。DES算法对每一组明文的加密过程是[1]:

(1)对64比特的明文进行初始置换[IP],打乱比特顺序;并把置换后的比特分为左右两个部分(各32位),记为[L0]和[R0];

(2)把64比特的秘钥作为初值,利用子秘钥生成算法,生成迭代加密时使用的16个子秘钥:[K1]、[K2]、[K3]、......、[K14]、[K15]、[K16];

(3)使用F函数进行16轮的循环迭代运算,其中前15轮可用公式(1)表示,

[Li=Ri-1Ri=Li-1⊕F(Ri-1,Ki)1≤i≤15] (1)

其中,[⊕]表示异或运算。由于最后一轮左右部分不交换,所以[L16]和[R16]可由公式(2)得到

[L16=L15⊕F(R15,K16)R16=R15] (2)

(4)把[L16]和[R16]合并,进行逆初始置换[IP-1],得到密文。

DES算法把每组加密后的密文连接起来就得到最终的加密数据。在该算法的16轮循环迭代中,[F]函数是非线性的,由扩展置换[E]、异或运算、[S]盒置换(压缩替换)、[P]盒置换四个过程组成,可用公式(3)表示[1],

[F(Ri-1,Ki)=P(S(E(Ri-1)⊕Ki)] (3)

其中,[⊕]表示异或运算,[Ki]为初始秘钥经过置换选择(PC-1)、循环左移和置换选择(PC-2)等运算得到的第[i]轮子秘钥。

DES算法的解密过程和加密过程类似,解密时把64比特的密文作为输入,输出为明文。解密和加密过程唯一不同的是,解密时子秘钥使用的顺序和加密的时候相反。

到目前为止,除了采用穷举法对DES算法进行攻击外,还没有其他有效的方法对其进行攻击,因此DES算法虽然具有较高的安全性。但是它也存在一些不足[2],如,秘钥长度偏短,导致秘钥空间较小;存在一些弱秘钥和半弱秘钥;[S]盒的设计准则不公开,可能包含“陷门”等。

3 混沌及混沌映射

1963年美国气象学家Lorenz在耗散系统中首先发现了混沌运动,并发表了《确定性非周期流》,揭开了混沌理论研究的序幕[3]。

目前学术界对混沌尚无统一的定义,Li-Yorke在1975年给出了混沌的第一个定义[4],由于其高度抽象,不方便工程应用。Devaney R L在1989年给出了混沌的更加直观的定义[5]。从这两个定义中可以看到,混沌映射具有对初值的敏感性、不可分界性和规律性等特性。具体来讲就是确定性的混沌运动表现出随机性特征;当Lyapunov指数大于0时,初始条件中很小的扰动,会迅速扩大,导致确定性的系统不可长期预测,进入混沌状态。由于混沌系统的这些特征和密码学的扩散和混乱原则存在着某些相似性,因此人们把混沌理论应用于密码学领域中。

常见的一维离散混沌映射有Logistic映射、Chebyshev映射、Tent映射、Bernoulli映射等。Logistic映射是目前广泛研究的一种混沌映射,其定义如公式(4)所示,

[xn+1=f(u,xn)=uxn(1-xn)] (4)

其中,[u]为控制参数,满足[0≤u≤4],[x∈(0,1)]。当[u] 值大于3.5699456时[6],系统进入混沌状态。图1为使用Logistic映射生成的[X]、[Y]序列前50项。在[X]序列中,[u=3.7],[x0]=0.2;在[Y]序列中,[u=3.7],[x0]=0.20001。可以看到大约在25项之后,两个序列差异变大。

图1 初始值有较小扰动的Logistic序列

图2中,[X]序列的控制参数[u]=3.65,[x0]=0.7;在[Y]序列中,[u]=3.8,[x0]=0.7,可以看到两个序列有明显不同的轨迹。

图2 不同控制参数和初始值的Logistic序列

当定义一个合适的阈值时,可以把Logistic序列转换成一个二值序列,本文中的阈值[th]按公式(5)得到

[th=i=1nxi] (5)

其中,[xi]为序列中的项,[n]为生成的项数。

由于Logistic序列对初始值敏感,具有类噪声的特点,容易转换成二值序列,所以应用中采用Logistic来生成秘钥。

4 基于Logistic映射和DES文件加密算法

由于DES算法的秘钥空间为[256],RSA数据安全公司为了说明秘钥长度为56是不能保证安全的,在1997年举办了DES 挑战赛。结果Rocke Verser领导的小组花了96天时间找到了秘钥。1999年的1月19日,在互联网的第一个通用的分布式计算项目distributed.net的协助下,这次只花了22小时15分钟就破解了DES算法。

针对DES算法,目前已经有了许多的改进方法,如3DES。3DES算法对每组数据应用3次DES算法。相对于原来的DES算法,3DES算法更为安全,但是其运算时间也大致为原来的3倍。由于Shannon已经证明“一次一密”是无法破解的,在文献[7]中直接用混沌序列生成DES算法每次异或运算的48比特子秘钥,保证了了一次一密,每组需要尝试[216×48]才能破解,并且每组的子秘钥都是不同的,这大大提高了算法破解的难度。

但是,由于文献[7]中产生秘钥的参数只有一个,因此破解者可以不去穷举子秘钥,而尝试去破解产生秘钥的参数,将会提高破解机会。

针对黑客或者一些不怀好意的人攻击云空间,来获取不正当的利益的问题,本文提出了如下算法,对上传云空间的文件进行先加密,然后再上传至云平台以保护用户的数据安全,当用户需要使用该文件时,从云平台下载该文件,然后在本地解密再使用。为了方便用户操作和省去记忆小数的麻烦,该算法把加密机器的网卡地址信息、磁盘序列号和CPU信息和用户输入的密码用来产生加密信息,再由加密信息生成4个Logistic序列的控制参数和初始值。最终由4个Logistic来生成DES算法子秘钥序,实现“一次一密“。解密时,如果在加密机器上进行解密,可只需要输入密码就能解密;如果不在加密机器上解密文件则需要导入由以上四种信息生成的加密信息才能解密,这样增加了不坏好意的人在其他地方解密文件的难度。因为4个Logistic序列共有8个参数,如果计算机双精度的有效位数是15位,那么需要接近[1015×8]次尝试才有可能找到秘钥。最终的加/解密程序界面效果如图3所示。

图3 程序界面图

5 小结

本文在分析了DES算法和Logistic序列的特点后,在文献[7]的基础上改进了“一次一密”的加密算法,由于该算法的子秘钥的生成涉及了8个参数,从而需要接近[1015×8]次才有可能找到初始参数,从而增加了破解的难度,能有效地避免用户重要文件信息在云空间的泄露。

参考文献

[1] 潘文明. DES加密芯片的研制及其实现[D].广州:暨南大学,2008:9-15.

[2]刘长琦 基于混沌序列的DES算法改进及实现[D]. 长春:东北大学,2009:12-14.

[3]肖飞 基于混沌理论的加密算法的研究与应用[D].成都:电子科技大学,2008:4-5.

[4] Tien-Yien Li, James A. Yorke. Period Three Implies Chaos[J]. Amer.Math.Monthly,1975(82):985-992.

[5]DEVANEY R L. An Introduction to Chaotic Dynanical Systems[M]. Addioson-Wesey Redwood City Calif,1989.

[6] 刘秉正.非线性动力学与混沌基础[M].长春:东北师范大学出版社,1994:1-100.

[7] 钟荠芳.基于混沌-DES混合加密算法的安全文件传输系统的设计与实现[D].杭州:杭州电子科技大学,2012:37-38.

猜你喜欢

混沌
混沌与教育学
混沌优化算法在TSP问题的应用
基于一种Wang—Chen混沌系统的图像加密算法分析
基于混沌理论的自适应参数图像加密算法
房地产投资系统动力学模型分析
基于混沌的图像加密方法研究
物理系统中随机效应:混沌和随机共振
面向网络视频环境的高安全嵌入式路由器设计
《n级素数周期表》怎样从混沌走向有序