APP下载

基于动态约瑟夫环和比特双重置乱的图像加密

2019-03-14马欣

电脑知识与技术 2019年1期

马欣

摘要:本文针对一类混沌图像加密算法的置乱方法复杂性高等问题,提出了一种基于动态约瑟夫环和比特双重置乱的图像加密算法。算法对经典的约瑟夫环问题和传统算法結构进行分析,确立采用动态约瑟夫环置乱的加密方式。然后将置乱序列扩大8倍,利用Logistic混沌序列进行比特位的置乱,从单个像素内部改变相邻像素的关联程度;最后,进行单个像素的像素值替代产生密文图像。实验仿真结果表明,该算法可以抵抗选择明(密)文攻击,加密算法简单,密钥空间大,加密效果较好,具有很好的应用前景。

关键词:图像加密;混沌序列;动态约瑟夫环;比特位置乱;双重置乱

中图分类号:TP18        文献标识码:A        文章编号:1009-3044(2019)01-0204-03

Image Encryption Algorithms Based on Chaos through Dual Scrambling of Dynamic Josephus Ring and Bit

MA Xin

(Anhui University of Science and Technology of Computer Science and Engineering, Huainan 232001, China)

Abstract: In this paper, in order to solve the problem that the scrambling method for a class of chaotic image encryption algorithms has high complexity. A new image encryption algorithms was proposed based on chaos through dual scrambling of dynamic Josephus ring and bit. The algorithm analyzes the classical Joseph ring problem and the traditional algorithm structure, and establishes the encryption method using dynamic Joseph ring scrambling. Then the scramble sequence is expanded by 8 times, and the bits are scrambled by Logistic chaotic sequence, and changed the degree of association of adjacent pixels from a single pixel; Finally, the pixel value of a single pixel is replaced diffused to generate a cipher-text image. The experimental results show that the proposed algorithm can resist the selection of explicit (dense) text attacks, the encryption algorithm is simple, the key space is large, the encryption effect is good, and it has a good application prospect.

Key words: image encryption; chaos sequence; dynamic Joseph ring; bit scrambling; dual scrambling

1引言

近年来,随着互联网和多媒体技术的迅速发展,确保信息安全已经成为人们日常工作和生活中不可或缺的一部分。而图像加密技术的安全性就成为研究者们热衷的研究热点。然而,传统的加密技术,如数据加密标准(DES)、高级加密标准(AES)等,因为其庞大的数据量以及冗余度高、邻域像素关联性高等特点,并不适合于图像。为了提高图像传输的安全性,学者们提出了许多图像加密算法。

自20世纪90年代由Matthews提出混沌概念以来[1],许多基于混沌系统的图像加密算法迅速发展了起来[2-6]。针对一些加密算法的加密安全性不高,国内外学者在原有算法的基础上进行改进衍生了一系列改进算法。在改进算法中,有些算法在混沌系统的基础上增加各种变换的置乱算法,文献[7]介绍了一种基于二维离散小波变换和混沌系统的数字图像加密算法。有些则在混沌系统上添加多种映射来进行改进,如:文献[8]则结合Logistic映射、正弦映射和DNA编码设计了一种新的图像加密方案。还有些则是在混沌系统的基础上提出了一种超混沌系统,如:文献[9]是采用五维多翼超混沌系统,采用像素级置换和比特置换来加强密码系统的安全性。

以上算法基本是从密钥源和加密算法两部分进行改进,但是在提升了密钥源安全性之后,又常常会增加密钥系统复杂性,降低密钥生成效率;改进的加密算法常常采用类似的拟映射置乱方法和相似的像素替代方法,置乱方法非线性结构不强,像素替代对相邻像素关联程度破坏不大。基于此,本文则提出了一种新型的图像加密算法,算法对经典的约瑟夫环问题和传统算法结构进行分析,确立采用动态约瑟夫环和比特双重置乱的图像加密方式。

2 算法原理

2.1约瑟夫(Joseph)环

约瑟夫环问题是一个数学应用问题,描述如下 :已知n个人(编号分别为1,2,…,n),围坐一个大圆桌周围,从编号为S的人从1开始报数,报数间隔为g,报到终点数的人自动出列;然后他的下一个又从1开始报数,报数间隔为g,报到终点数的人出列;如此循环下去,直至圆桌旁的所有人全部出列。为了方便叙述,定义约瑟夫函数为:

Josephus(a[],L,S,g,No)                   (1)

其中,a[]表示原始序列,L表示序列的長度,S表示开始报数的位置([1≤S≤L]),g表示报数的间隔,No表示遍历时出列位置的报数值([1≤No≤L])。

本文分别针对静态和动态的约瑟夫环置乱做了实验验证。

2.1.1静态约瑟夫置乱

置乱方法描述如下:假设明文图像为一幅[M×N]大小的图像,需要产生一个同样大小的置乱矩阵来对其进行加密。设置约瑟夫的长度为[M×N],序列a[]={a1,a2,...,aL},起始位置S,报数间隔g,按照约瑟夫环原理将读取出来的No逐行排列成大小为[M×N]的矩阵A,矩阵A即为置乱矩阵,按照A中每个元素的下标索引,将明文图像矩阵P重新排列就可得到置乱后的图像P。

图 1是对大小为256*256的Lena灰度图像分别进行约瑟夫置乱和行列互换置乱后的图像对比效果。结果显示,约瑟夫置乱的效果优于普通的行列互换置乱的效果。但是仍然可以看出有一定的线性变换特征,置乱后的序列保留了部分线状的信息特征。

2.1.2动态约瑟夫置乱

由2.1.1小节可知,2.1.1小节中所采用的方法是设置了固定的起始位置S和固定报数间隔g,本文继续对此进行了改进,采用动态的约瑟夫环,每一次重新报数都随机产生起始位置S和报数间隔g,每次报数只从起始位置开始,到序列最后一个位置结束,得到置乱后的图像如图 2所示。

从图 2可以看出,动态约瑟夫环的置乱效果比图 1中的两种方式要好,置乱图像中各像素呈现更为无序的状态。

2.2 Logistic混沌系统

本文采用的密钥生成源是Logistic混沌系统,Logistic混沌映射如式(2)所示。

[xk+1=u?x(k)?[1-x(k)],(k=0,1,...,n)]          (2)

其中,[u]为控制参数,经研究证明,当[3.5699456...<u≤4]时,系统处于混沌状态。迭代值<E:\知网文件\电脑\电脑01-02\电脑01\5xs201901\Image\image10_1.png>,本文系统控制参数[u]取4。

为使密钥序列具有更好的均匀性,本文采用式(3)对Logistic混沌系统做均匀化:

[y=2πarcsinx]                (3)

设置初值x(0),生成长为1000的混沌序列,分别对均匀化处理前后的序列做直方图统计,统计图如图 3所示,从图中可以看出,均匀化处理后的序列均匀性明显优于处理前的密钥序列,更适合作为密钥源。

3加密算法

加密算法由像素位置置乱、比特位置乱、像素替代三个步骤组成。具体算法描述如下。

3.1 图像像素位置的置乱

根据第2节所描述的约瑟夫环,可以设约瑟夫环的初始序列为[a[]=1,2,...,m×n],对明文图像P进行置乱。

Step1 设原始图像为P,m和n分别表示图像矩阵的行和列,它的图像像素矩阵就可以表示为:

[P=p1…pn???pn(m-1)+1…pm×n] 。

Step2 将明文图像像素矩阵[Pm×n]按行优先的顺序转为一个[m×n]长的一个一维序列[P=p1,p2,...,pm×n],其取值范围为[0,255]。

Step3 设置S和No的值来产生置乱序列[R={r1,r2,...,rm×n}]。利用置乱序列R对原始序列P进行置乱。

Step4 将R序列中的每个元素位置当作原始图像序列的下标索引,按照下标索引逐个取出原始图像元素排列成新的序列P,P即为置乱后的像素矩阵。

3.2 比特位像素置乱

本小节将实现置乱图像像素矩阵P的像素值替代加密,同时在像素值替代加密过程中加入了文献[10]中的方法,效果较好。

设算法原始密钥集为[{x0,y0,H}],其中,[x0]、[y0]表示Logistic混沌系统的两种初始状态值,H表示Logistic混沌系统预迭代次数。

求出明文图像P的平均像素值avg。

[avg=summ×n]                     (4)

其中sum为所有的像素值相加得到的总和。然后根据avg的值修改Logistic系统的初值[x0]。使[x0]与图像内容相关,从而可以抵抗选择明文攻击。

混沌系统预迭代的次数H由下式可得。

[H=1000+mod(sum,1000)]           (5)

Step1 设定系统的控制参数[μ],利用Logistic混沌系统迭代舍去前H次,再继续迭代[8×m×n]次,产生一个长度为[8×m×n]的混沌序列[Q=q1,q2,...,q8×m×n]。

Step2 将混沌序列Q按照下式进行转化,使混沌序列的各序列值的取值范围在0至255之间,得到混沌图像序列[Q'=q'1,q'2,...,q'8×m×n]。

[Q'=mod(qi×108,256),1≤i≤8×m×n]          (6)

Step3 对混沌图像序列Q从小到大进行排序,从而产生一个用于记录排序后的序列中各元素在原序列Q中的位置序列[K={k1,k2,...,k8×m×n}]。

Step4 將原始序列P中的像素值转化为二进制形式进行排列,利用位置序列K对其进行位置置乱,得到一个新的二进制序列。

Step5 将Step4中得到的新的二进制序列转化为十进制,得到中间密文B。

3.3 像素值替代

设置初值[y0],生成长为L的序列,将序列L转换为[0,255]的整数,再根据式(8)对中间密文图像序列B进行再加密,得到密文图像序列C。

[Qi=mod(qi×248,256)]              (7)

[Ci=mod(Qi+Bi,256)⊕Ci-1]           (8)

其中,i=1,2,…,L, [Qi]为混沌序列的像素值,[Bi]为中间密文序列的像素值,[Ci]为当前明文像素经比特位替代后的密文图像的像素值,[Ci-1]为密文像素的前一像素值,当i=1时,需要用到一个像素值[C0],[C0]的值在0至255之间任意选取,可作为密钥。

4 实验仿真分析

4.1 仿真结果

本文采用经典的大小为256*256的Lena灰度图像进行仿真,加密系统的初始密钥参数分别为x0=0.2234567654,y0=0.123456789,C0=20。原始图像与利用本文算法得出的加密图像如图 4所示。

可以看出,从加密图像中已经完全看不出原始图像的特征。

4.2 密钥敏感性分析

密钥敏感性指即使两个具有微小差异的加密密钥产生的密文图像也完全不同,而两个具有微小差异的解密密钥对同一密文的解密图像也完全不同。图 7a)是用本文密钥解密的Lena原图,图 7b)是将Logistic混沌系统产生混沌序列的初始值x0=0.2234567654变为x1=x0+0.00000000001后解密的图像。由图 5可以看出,即使细微的更改其中一个密钥,也得不出正确的解密图像,说明本文算法可以抵抗密钥敏感性分析。

5 结束语

本文主要介绍基于动态约瑟夫环和比特双重置乱图像加密算法。首先介绍了经典的约瑟夫环问题。其次,分两步介绍了该算法的详细步骤。第一步对像素利用动态约瑟夫环进行全局置乱,第二步对全局置乱序列进行比特重组,得出中间密文。最后,算法通过matlab仿真进行实验。本文分析了密钥空间,明密文敏感度等安全性指标的算法实验结果。与普通的混沌图像加密算法相比,该算法结合了动态约瑟夫环遍历和比特重组,提高了加密图像的安全性。

参考文献:

[1] MATTHEWS R A J.On the derivation of a chaotic encryption algorithm[J].Cryptologia,1989,4(1):29-42.

[2] Xu Y, Wang H, Li Y, et al. Image encryption based on synchronization of fractional chaotic systems[J]. Communications in Nonlinear Science & Numerical Simulation, 2014, 19(10):3735-3744.

[3] Daneshgar A, Khadem B. A self-synchronized chaotic image encryption scheme[M]. Elsevier Science Inc. 2015.

[4] 谢国波,王添. 一种新的基于比特置乱的超混沌图像加密算法[J].微电子学与计算机,2016,33(7):28-32+38.

[5] 韩凤英,朱从旭. 新型置换和替代结构的图像混沌加密算法[J].武汉大学学报(理学版),2014,60(5):447-452.

[6] 谢国波,王添. 基于像素置乱和比特替换的混沌图像加密算法[J].微电子学与计算机,2016,33(3):80-85.

[7] Li X, Zhang Y. Digital image encryption and decryption algorithm based on wavelet transform and chaos system[C]// Advanced Information Management, Communicates, Electronic and Automation Control Conference. IEEE, 2017:253-257.

[8] Awudong B, Li G. Research on Image Encryption Technology Based on Multi Chaotic Mapping[C]// International Conference on Smart City and Systems Engineering. IEEE Computer Society, 2017:127-131.

[9] Li Y, Wang C, Chen H. A hyper-chaos-based image encryption algorithm using pixel-level permutation and bit-level permutation[J]. Optics & Lasers in Engineering, 2017(90):238-246.

[10] 邓晓衡,廖春龙,朱从旭,等. 像素位置与比特双重置乱的图像混沌加密算法[J]. 通信学报,2014,35(3):216-223.

Deng X H, Liao C L, Zhu C X, et al. Image encryption algorithms based on chaos through dual scrambling of pixel position and bit[J]. Journal on Communications,2014.