当前位置:文档之家› 基于广义Arnold映射一个高效的混沌图像加密算法

基于广义Arnold映射一个高效的混沌图像加密算法

2014届毕业设计(论文)英语文献翻译院、部:电气与信息工程学院学生姓名:刘。

指导教师:俞。

职称副教授专业:通信工程班级:通信1002学号: 104013402322014年6月基于广义Arnold映射一个高效的混沌图像加密算法摘要本文研究利用广义Arnold映射的高效图像加密算法。

该算法包含两个阶段,即置换和扩散。

首先,共圆函数是用在置换阶段,而不是传统的周期性位置排列。

它可以显着降低相邻像素之间的相关性。

然后,在扩散的阶段,有双重扩散的功能,即,正面和相反的模块时,则采用具有新颖生成密钥流。

由于密钥流取决于处理后的图像,所以提出的方法可以抵御已知和选择明文攻击。

实验结果和理论分析表明了该方法的有效性。

该算法以其他混沌系统的扩展也进行了讨论。

关键字:图像加密,扩散,广义Arnold映射,混沌An efficient image encryption algorithm using the generalized Arnold map is proposed. The algorithm is composed of two stages, i.e., permutation and diffusion. First, a total circular function, rather than the traditional periodic position permutation, is used in the permutation stage. It can substantially reduce the correlation between adjacent pixels. Then, in the stage of diffusion, double diffusion functions, i.e., positive and opposite module, are utilized with a novel generation of the key stream. As the key stream depends on the processed image, the proposed method can resist known and chosen-plaintext attacks. Experimental results and theoretical analysis indicate the effectiveness of our method. An extension of the proposed algorithm to other chaotic systems is also discussed.Key words image encryption;diffusion;generalized Arnold map;chaos1 介绍 (1)2 图像加密方案 (2)2.1 广义Arnold映射 (2)2.2 伪随机序列 (2)2.3 圆形排列 (2)2.4 扩散函数 (3)2.5 加密步骤 (4)2.6 解密步骤 (5)3 实验 (6)4 安全性分析 (7)4.1 关键安全性分析 (7)4.2 敏感度分析 (7)4.3 直方图分析 (9)4.4 相关分析 (10)4.5 抗已知明文和选择明文攻击 (11)4.6 速度分析 (11)5 结论和进一步的工作 (12)致谢 (13)参考文献 (14)1介绍近年来,图像加密算法或方案已被广泛研究,其主要的原因是,我们的数字信息必须得到保护,以避免被复制,读取,并通过非法授权在公共场所举行了。

许多方法已经提出了数字图像的加密[1-4],包括数据加密标准(DES),傅立叶变换,混乱和波传输。

由于基于混沌系统的算法在初始状态时,具有伪随机性和遍历性高效敏感的特性,能高效率的显示出期望的结果[5]。

置换后扩散的结构已被广泛采用,重复的扫描工作可以减少,并且所述加密过程可以加速,结合的两个独立的阶段[5],作者提出一个快速有效的图像加密方法。

高和Chen[6]在原本平淡的形象基础上提出了总的算法包括其中考虑的像素位置置换阻挠有很强的相关性。

为了解决空间小的关键问题,一个耦合的非线性混沌映射建议被提了出来[7],如Patidar等。

同时研究了取代和置换使用的标准映射,其中所述三维矩阵由列转换成一个新的二维矩阵彩色RGB图像的算法[9]。

三维或高维混沌系统进行了进一步的研究[10],以扩大对抵抗蛮力攻击的密钥空间。

此外,延时系统也进行了研究;由班纳吉提出的一个合适的控制器被选为保持相应的混沌状态[11],数值结果显示了良好的效果。

戈什考虑时间延迟的混沌同步当延迟不是恒定的动力系统[12]。

然而,一些基于混沌加密方案已经成功[13,14]。

阿尔瓦雷斯等人指出[13],混沌映射具有非均匀分布较弱,不合适的加密目的。

从统计分析明文,这种方法的建议拥有一个低安全性[15],是易碎的。

在Cokal和Solak表明[14],该密钥可以使用选择的和已知明文攻击被揭示由于普通图像的简单的异或操作和陈的所产生的伪随机序列混沌系统。

因此,该加密算法是不行的[8]。

为了抵抗统计分析,我们提出一个新的混沌图像加密,其中两个广义阿诺德地图是用于产生伪随机序列。

该整个算法分为三个部分,即圆形排列,正扩散,并且相反的扩散。

本文的其余部分安排如下。

在Sect.2,建议加密方案,尤其是所述加密步骤中,将详细描述。

模拟的结果列于教。

Sect. 3直接表明了该算法的效率和有效性。

在Sect.4,常见的安全分析是证明。

最后,结论在最后一节得出。

2 图像加密方案2.1 广义Arnold 映射离散广义Arnold 映射可表示如:1mod 1111⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛+=⎪⎪⎭⎫ ⎝⎛++n n n y x ab b a yn x(1) 这里a 和b 都是实数,[)1,0,∈i i y x ,最大Lyapunov 特征指数在映射式(1)中是124122>+++=a bb a a b λ,这说明对于0,0>>b a 映射总是吴无序的,更多广义Arnold 映射可以在文献[16]中找到。

2.2 伪随机序列假定纯图像被表示为n m I ⨯,该 广义Arnold 映射进行迭代,以获得两个伪随机序列mn 11⨯P 和mn P ⨯12的初始条件和参数0011,,,y x b a 和在公式(1)中的0022,,,y x b a ,第一个p 和q Arnold 映射输出在生成mn 11⨯p 和mn P ⨯12分别忽略。

()()()()⎩⎨⎧=+=+=-,,,2,1,21,121mn i i p y i p i p x i p (2)()()()()⎩⎨⎧=+=+=-m j j q y j p i q x j p ,,2,1,22,122 (3)两个混沌序列mn p ⨯11和mn p ⨯12是0到1之间的实数,他们在两个圆形排列,并使用扩散阶段。

2.3 圆形排列以减少相邻像素中的纯图像之间的高相关性,置换过程通常通过。

而是采用二维混沌映射为排列,我们建议使用一个圆形的洗牌与行和列的重定位。

为列搬迁,其中n 的伪随机序列 元素被选中mn p ⨯11的第r 个,其中n mn r -≤≤1。

我们能得到{}()101-≤≤=m u u i ni i 通过将伪随机实使用下面的公式编号,整数()[]()()m n r r p f l o o r m o d 10:1,1114⨯++=μ (4) 函数()x floor 的x 可为最接近的整数向负无穷大。

相同的方法被用于行重定位。

该伪随机序列{}()10-≤≤=n v v i mi j j 从2p 处获得控制参数()m mn t t -≤≤1与()[]()()n m t t p floor v mod 10:1,1214⨯++= (5)有四个方向,即(左,上),(左,下),(向右,向上),和(右,下),用于执行排列在表1所示。

第一个元素表示沿该行的移位方向,而第二个确定在该列中的移动方向。

例如,在第一种情况下(0,0)表示第i 行移位i v 像素向左其中m i ,2,1=当第j 列向上移动j v 像素,其中m j ,2,1=。

两轮排列的效果示于图1,一个排序操作是取得在[16]的索引序列必需的,所以需要更多的时间。

然而,这不是必需的我们的方案和置换时间缩短。

表1 圆形排列的方向例 位置 (0,0) (左,上) (0,1) (左,下) (1,0) (右,上) (1,1) (右,下)(a) (b)(c) (d)图1 置换的Lena 图:(a)传统Arnold 映射(b)广义Arnold 映射 (c)传统的行和列的方法(d)建议圆形排列2.4 扩散函数扩散函数的主要目标是改变图像像素的灰度值的纯图像和加密图像之间的关系混淆。

一种有效的加密算法应满足,在任何像素微小变化伸展到整个图像几乎所有的象素的规定。

首先,二维置换的图像被转换为m n ⨯1ϕ通过扫描一维向量从左到右,然后从上到下。

为了使密钥流依赖于置换的图像上,扩散进行了如下前进:mn i f f i i i i ,,2,1,1 =⨯++=-ααϕ (6) 则()()()()⎩⎨⎧==-=--12,mod ,2102,mod ,12111i i i f i P f i P a i f 和1-i f 分别表示当前和以前的加密像素,0f 可以被看作是一个常数,α是一种新的控制参数。

每一个像素的影响相等,扩散是在相反的方向再次使用公式(7)计算[16]:1,2,,1,, -=⨯++=mn mn i b f e e i i i i β (7) 则()()()()⎩⎨⎧==-=++12,mod ,2202,mod ,12211i i i e i P e i P b 1+mn e 可以被认为是一个常数和β另一种是控制参数。

最后,对加密图像进行的扩散公式(6)和公式(7)的两个方向后生成的。

2.5 加密步骤整个加密过程是由五个步骤,如图2所示图2 框图 第一步:读取纯图像和存储的像素值在n m I ⨯中。

第二步:迭代式(1)使用所选择的初始条件和参数r q p y x b a y x b a ,,,,,,,,,,00220011,广义Arnold 映射与py x b a ,,,,0011第一混沌序列 原始图像 第二混沌序列 广义Arnold 映射与q y x b a ,,,,0022 置换图像 加密图像(1)前处理 前处理rt转发扩散与α 转发扩散与β 按行,列圆形排列和t 生成μ和ν。

第三步:执行圆形排列上I 获得F 。

相关主题