当前位置:文档之家› 用MATLAB实现基于混沌的图像置乱加密算法

用MATLAB实现基于混沌的图像置乱加密算法

用MATLAB实现基于混沌的图像置乱加密算法
用MATLAB实现基于混沌的图像置乱加密算法

用MATLAB实现基于混沌的图像置乱加密算法

由于图像文件的加密有其自身的要求,传统的文字加密方法不适合图像文件加密。为此,我们在混沌映射加密算法的基础上,提出了一种利用Logistic混沌序列对图像像素点置乱实现加密的算法,那么,我们今天借助MATLAB软件平台,看看基于混沌的图像置乱加密算法如何实现。

一、基于混沌的图像置乱加密算法

本文提出的基于混沌的图像置乱加密算法示意图如图1所示。

加密算法如下:首先,数字图像B大小为M×N(M是图像B的行像素数,N是图像B的列像素数),将A的第j行连接到j-1行后面(j=2,3,A,M),形成长度为M×N的序列C。其次,用Logistic混沌映射产生一个长度为的混沌序列{k1,k2,A,kM×N},并构造等差序列D:{1,2,3,A,M×N-1,M×N}。

再次,将所产生的混沌序列{k1,k2,A,kM×N}的M×N个值由小到大排序,形成有序序列{k1′,k2′,A’,kM×N’},确定序列{k1,k2,A,kM×N}中的每个ki在有序序列{k1′,k2′,A’,kM×N’}中的编号,形成置换地址集合{t1,t2,A,tM×N},其中ti为集合{1,2,A,M×N}中的一个;按置换地址集合{t1,t2,A,tM×N}对序列C进行置换,将其第i个像素置换至第ti列,i=1,2,A,M×N,得到C’。将等差序列D做相同置换,得到D’。

最后,B’是一个M×N的矩阵,B’(i ,j)=C’((i-1)×M+j),其中i=1,2,A,M;j=i=1,2,A,N,则B’就是加密后的图像文件。

解密算法与加密算法相似,不同之处在于第3步中,以序列C’代替随机序列{k1,k2,A,kM×N},即可实现图像的解密。

二、用MATLAB的实现基于混沌的图像置乱加密算法

本文借助MATLAB软件平台,使用MATLAB提供的文本编辑器进行编程实现加密功能。根据前面加密的思路,把加密算法的编程分为三个主要模块:首先,构造一个与原图a等高等宽的矩阵b加在图像矩阵a后面形成复合矩阵c:

b=zeros(m1,n1);

ifm1>=n1

ifm1>n1

fore=1:n1

b=(e,e);

end

……

else

fore=1:n1

end

fore=1:(n1-m1)

b((m1+e-1),e)=m1+e-1

end

end

c=zeros(m1*2,n1);

c=zeros(m1*2,1);

c=[b,a];

然后,用Logitic映射产生混沌序列:

……

forn=1:n1+100x(n+1)=q*x(n)*(1-x(n));

endn=101:1:n1+100;

y(n-100)=x(n);

……

最后,采用冒泡法将产生的混沌序列值由小到大进行排序,并利用同样的换序条理依次对复合矩阵的列和行进行打乱排序:

forf=1:n1-1forh=f:n1ify(f)>y(h)k=y(f); y(f)=y(h);

y(h)=k;

c1=c(:,f);

c(:,f)=c(:,h);

c(:,h)=c1;

end

……

forh=g:m1

if y(f>y

k=y(f)

y(f)=y(h)

y(h)=k;

d1=d(:,f);

d(:,f)=d(:,h);

d(:h)=d;

end

……

解密的程序与加密的相反。

三、基于混沌的图像置乱加密算法效果分析

利用Logistic混沌序列对图像像素点置乱对图像文件加密,其效果要比用Logistic混沌序列直接对图像文件加密好,令x0=0.3001,图2(b)为用Logistic混沌序列直接对图像文件爱你进行加密的图像,图2(c)为用Logistic混沌序列对图像像素点置乱对图像文件进行加密的图像,图2(d)为其的解密图像文件。

由图2(b)和(c)图可见,原图像的人物和轮廓已经全部覆盖,无法分辨出原图像的细节信息。但从效果上来看,采用图像置乱与混沌映射结合的加密方法所得到的加密效果要优于直接用混沌进行加密的方法。下面,针对日常生活中遇到的图像破损问题,对本文算法的抗破损能力进行研究。当受损区域大小为图像面积7.76%时,恢复的图像仍然比较清晰(如图3(a)、

(d));受损区域大小为图像面积18.63%时,恢复的图像效果开始变差,出现零星的黑点(如图3(b)、(e));受损区域大小为图像面积25.36%时,恢复的图像效果不理想,布满黑点(如图3(b)、(e))。

原图任意区域的像素在置乱图中是均匀分布的,置乱图受损区域的形状及所处的位置不同对恢复图像所造成的影响有限。图4中(a)、(b)、(c)是三幅遭到损坏的密图,受损区域(黑色)形状不同,位置不同,只有大小是相同的,均为2500个像素点(为图像面积12.94%)。(a)、(b)、(c)的恢复图像分别为(d)、(e)、(f),三幅恢复图像的效果没有明显差别。因此,可以认为恢复图像的效果取决于受损区域的面积大小,而受损区域的形状、位置产生的影响很小,只要其面积不大于原图面的20%,就能够恢复出比较理想的图像。

混沌加密技术综述

混沌加密技术综述 混沌理论是近年来发展较快的非线性科学的分支,因其非周期、连续宽频带、类噪声和长期不可预测等特点,适用于保密通信等领域。本文从混沌加密技术的原理、发展阶段和特点的问题对其较为的分析和总结。关键词:混沌的原理… 摘要:混沌理论是近年来发展较快的非线性科学的分支,因其非周期、连续宽频带、类噪声和长期不可预测等特点,适用于保密通信等领域。本文从混沌加密技术的原理、发展阶段和特点的问题对其较为的分析和总结。关键词:混沌的原理加密算法性能评估一、混沌的原理混沌是的非线性、非平衡的动力学过程,其特点为: (1)混沌系统的是许多有序的集合,而每个有序分量在条件下,都不起主导作用;(2)混沌看起来似为随机,但的;(3)混沌系统对初始条件极为敏感,两个相同的混沌系统,若使其稍异的初态就会迅速变成完全不同的状态。1963年,美国气象学家洛伦兹(Lrenz)混沌理论,气候从本质上是不可预测的,最微小的条件将会巨大的天气,这著名的“蝴蝶效应”。此后混沌在各个领域都了不同程度的运用。20 世纪80 年代开始,短短的二十几年里,混沌动力学了的应用和发展。二、混沌在加密算法中的应用混沌系统对初值的敏感性,很小的初值误差就能被系统放大,,系统的长期性是不可预测的;又混沌序列的统计特性,它可以产生随机数列,特性很适合于序列加密技术。信息论的奠基人美国数学家Shannn指出:若能以某种产生一随机序列,序列由密钥所,任何输入值微小对输出都大,则的序列就可以加密。混沌系统恰恰符合要求。混沌系统的特性使得它在数值分布上不符合概率统计学原理, 得稳定的概率分布特征;, 混沌数集是实数范围, 还可以推广到复数范围。, 从理论上讲, 混沌原理对数据加密,可以防范频率分析攻击、穷举攻击等攻击方法, 使得密码难于分析、破译。从1992年至今,混沌保密通信经历了四代。混沌掩盖和混沌键控属于代混沌保密通信技术,安全性能非常低,实用性大大折扣。混沌调制属于代混沌保密通信技术,代系统的安全性能比代高,仍然达满意的程度。混沌加密技术属于代混沌保密通信,该类方法将混沌和密码学的优点起来,非常高的安全性能。基于脉冲同步的混沌通信则属于代混沌保密通信。三、混沌加密算法的性能评估参考美国标准与技术协会(NIST)的评判规则LNIST 的评判规则大体分为三个:安全性、代价和算法特性。介绍了基于Lrenz系统的混沌加密算法,以此标准分析了其性能,并将其与当前通用加密算法。1.安全性分析,混沌系统对初始值和参数非常敏感,可以的密钥集合,完全加密的需要。对混沌系统生成的二进制序列检验,0和1的分布均匀,游程符合随机数要求,可以是随机序列。,混沌加密属于流密码,对分组加密的攻击方法是无效的。,对选择明文密文攻击方法,混沌的单向性和混沌信号的迭代,异或操作后密钥流的推断几乎不。2.代价分析算法的代价包括代价和空间代价。代价又分为和加密。通常,加密前的主要是用来生成子密钥,加密主要是在子密钥的控制下对明文数据变换。混沌加密属于流密码的范畴,它的非常短;加密时只对数据的各个位异或操作,其主要花费在密钥流的生成操作上,相流行的分组加密算法,其花费很少的。空间代价分为算法的静止空间和运行态空间。静止空间指算法变成程序后本身所占用的空间,为代码的长度。运行态空间指在加密过程中算法所需要的临时空间。混沌加密算法S-bx空间,临时变量也少,而且,它循环产生密钥流,循环过程中需要寄存的变量有限,,其运行时占用的空间很少,在空间代价上是优秀的。3.特性混沌加密算法的加密和解密过程是可以重用的,其所占用的空间大大缩小。它的软件和硬件特性都比,分别用++和Java语言了该算法,基于该算法的DSP也开发设计四、混沌加密算法的问题1.短周期响应现混沌序列的所生成序列的周期性伪随机性、性、互性等的估计是在统计分析上,或是实验测试给出的,这难以其每个序列的周期足够大,性足够高,使人放心地采用它来加密。例如,在自治状态下,输入信号为零时,加密器为有限周期响应。不同初始状态对应于不同周期,其周期长度很短,缺点在某种程度上降低了混沌加密系统的保密性。2.有限精度效应混沌序列的生成总是要用有限精度器件来的,从而混沌序列生成器可归结为有限自动机来描述。,混沌生成器能否超越已用有限自动机和布尔逻辑理论所给

蔡氏电路MATLAB混沌仿真

蔡氏电路的Matlab混沌 仿真研究 班级: 姓名: 学号:

摘要 本文首先介绍非线性系统中的混沌现象,并从理论分析与仿真计算两个方面细致研究了非线性电路中典型混沌电路,即蔡氏电路反映出的非线性性质。通过改变蔡氏电路中元件的参数,进而产生多种类型混沌现象。最后利用软件对蔡氏电路的非线性微分方程组进行编程仿真,实现了双涡旋和单涡旋状态下的同步,并准确地观察到混沌吸引子的行为特征。 关键词:混沌;蔡氏电路;MATLAB仿真 Abstract This paper introduce s the chaos phenomenon in nonlinear circuits. Chua’s circuit was a typical chaos circuit, thus theoretical analysis and simulation was made to research it. Many kinds of chaos phenomenon on would generate as long as one component parameter was altered in C hua’s circuit.On the platform of Matlab, mathematical model of Chua’s circuit was programmed and simulated to acquire the synchronization of dual and single cochlear volume. Meanwhile, behavioral characteristics of chaos attractor were observed. Key words:chaos phenomenon;Chua’s circuit;Simulation

(完整版)基于MATLAB的混沌序列图像加密程序

设计题目:基于MATLAB的混沌序列图像加密程序 一.设计目的 图像信息生动形象,它已成为人类表达信息的重要手段之一,网络上的图像数据很多是要求发送方和接受都要进行加密通信,信息的安全与保密显得尤为重 要,因此我想运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保护。 熟练使用matlab运用matlab进行编程,使用matlab语言进行数据的隐藏加密,确保数字图像信息的安全,混沌序列具有容易生成,对初始条件和混沌参数敏感等特点,近年来在图像加密领域得到了广泛的应用。使用必要的算法将信息进行加解密,实现信息的保护。 .设计内容和要求 使用混沌序列图像加密技术对图像进行处理使加密后的图像 使用matlab将图像信息隐藏,实现信息加密。 三.设计思路 1. 基于混沌的图像置乱加密算法 本文提出的基于混沌的图像置乱加密算法示意图如图1所示 加密算法如下:首先,数字图像B大小为MX N( M是图像B的行像素数,N是图像B的列像素数),将A的第j行连接到j-1行后面(j=2,3, A,M,形成长度为MX N的序列C。其次,用Logistic混沌映射产生一个长度为的混沌序列{k1,k2,A,kMX N},并构造等差序列D: {1,2,3, A,MX N-1,MX N}。再次,将所

产生的混沌序列{kl, k2. A, kMX N}的M N个值由小到大排序,形成有序序列{k1', k2'. A' kMX N' },确定序列{k1, k2, A, kMX N}中的每个ki在有序序列{k1', k2', A , kMX N' }中的编号,形成置换地址集合 {t1 , t2 , A, tM X N},其中ti为集合{1 , 2, A, MX N}中的一个;按置换地址集合{t1 , t2 , A, tM X N}对序列C进行置换,将其第i个像素置换至第ti列, i=1 , 2, A, MX N,得到C'。将等差序列D做相同置换,得到D'。 最后,B'是一个MX N 的矩阵,B' (i ,j)=C ' ((i-1) X M+j),其中i=1 , 2, A, M j=i=1 , 2, A, N,则B'就是加密后的图像文件。 解密算法与加密算法相似,不同之处在于第3步中,以序列C'代替随机序列{k1, k2, A, kMX N},即可实现图像的解密。 2. 用MATLAB勺实现基于混沌的图像置乱加密算法 本文借助MATLAB^件平台,使用MATLAB!供的文本编辑器进行编程实现加密功能。根据前面加密的思路,把加密算法的编程分为三个主要模块:首先,构造一个与原图a等高等宽的矩阵b加在图像矩阵a后面形成复合矩阵c: b=zeros(m1, n1); ifm1>=n1 ifm1> n1 fore=1: n1 b=(e,e); end else fore=1: n1 end fore=1:( n1-m1) b((m1+e-1),e)=m1+e-1 end end c=zeros(m1*2, n1); c=zeros(m1*2,1); c=[b,a]; 然后,用Logitic映射产生混沌序列:

基于混沌映射的图像加密研究

目录 摘要 ...................................................................................................................................... I Abstract ............................................................................................................................... II 目录 ................................................................................................................................... I V 第一章绪论 . (1) §1.1研究背景与意义 (1) §1.2国内外研究现状 (2) §1.3论文研究内容与章节安排 (5) §1.3.1论文的主要研究内容 (5) §1.3.2论文章节安排 (5) 第二章混沌图像加密基础 (7) §2.1混沌理论 (7) §2.1.1混沌的定义 (7) §2.1.2混沌的主要特征 (8) §2.1.3典型的混沌映射 (9) §2.2密码学基础 (12) §2.2.1密码系统的结构 (13) §2.2.2密码系统的分类 (14) §2.2.3密码分析 (15) §2.3图像加密概述 (16) §2.3.1图像的基本概念 (17) §2.3.2图像加密的分类 (17) §2.3.3图像加密原理 (18) §2.3.4图像加密的评价标准 (20) §2.4本章小结 (22) 第三章基于Lorenz映射和Logistic映射的图像分块加密算法 (23) §3.0引言 (23) §3.1混沌映射的选择 (23) §3.1.1 Lorenz 混沌映射 (23) §3.1.2 Logistic 混沌映射 (23) §3.2加密算法设计 (24) §3.2.1密钥的生成 (24) §3.2.2加密算法流程 (24)

用Matlab观察分岔与混沌现象

M a t l a b 实验报告 实验目的:用Matlab 观察分岔与混沌现象。 题目:Feigenbaum 曾对超越函数sin()y x λπ=(λ为非负实数)进行了分岔与混沌的研究,试利用迭代格式1sin()k k x x λπ+=,做出相应的Feigenbaum 图 算法设计: 1、因为λ为非负实数,所以试将λ的范围限制在[0,3],制图时x 的坐标限制在[0,3],考虑到y 的值有正有负,所以把y 的坐标限制在 [-3,3]。 2、根据课本上给的例题,编写程序代码来绘图。 程序代码: clear;clf; hold on axis([0,3,-3,3]); grid for a=0:0.005:3 x=[0.1]; for i=2:150 x(i)=a*sin(pi*x(i-1)); end pause(0.1) for i=101:150 plot(a,x(i),'k.'); end end 图像: 结果分析:在λ取值在[0,0.3]区间内时,y 的值保持在0,然后开始上升,在λ取值在0.75附近时,开始分岔为两支。从整体上看,随着λ的值越来越大,所产生的迭代序列越来越复杂,可能会随机地落在区间(-3,3)的任一子区间内。并可能重复,这就是混沌的遍历性。 进一步分析:由于λ的取值空间偏小,考虑扩大其取值范围

到[0,6],再进一步观察图像。程序代码如下: clear;clf; hold on axis([0,6,-6,6]); grid for a=0:0.05:6 x=[0.1]; for i=2:150 x(i)=a*sin(pi*x(i-1)); end pause(0.1) for i=101:150 plot(a,x(i),'k.'); end end 图像: 分析:由图像可见,随着 取值范围的增大,图像呈现出周期性的特点。 总结:1、当取值范围比较小,不足以发现图像规律时,可以考虑扩大变量的取值范围。 2、由于图像是由大量点构成的,所以在编程的时候注意循环 语句的应用。

用MATLAB实现基于混沌的图像置乱加密算法

用MATLAB实现基于混沌的图像置乱加密算法 由于图像文件的加密有其自身的要求,传统的文字加密方法不适合图像文件加密。为此,我们在混沌映射加密算法的基础上,提出了一种利用Logistic混沌序列对图像像素点置乱实现加密的算法,那么,我们今天借助MATLAB软件平台,看看基于混沌的图像置乱加密算法如何实现。 一、基于混沌的图像置乱加密算法 本文提出的基于混沌的图像置乱加密算法示意图如图1所示。 加密算法如下:首先,数字图像B大小为M×N(M是图像B的行像素数,N是图像B的列像素数),将A的第j行连接到j-1行后面(j=2,3,A,M),形成长度为M×N的序列C。其次,用Logistic混沌映射产生一个长度为的混沌序列{k1,k2,A,kM×N},并构造等差序列D:{1,2,3,A,M×N-1,M×N}。 再次,将所产生的混沌序列{k1,k2,A,kM×N}的M×N个值由小到大排序,形成有序序列{k1′,k2′,A’,kM×N’},确定序列{k1,k2,A,kM×N}中的每个ki在有序序列{k1′,k2′,A’,kM×N’}中的编号,形成置换地址集合{t1,t2,A,tM×N},其中ti为集合{1,2,A,M×N}中的一个;按置换地址集合{t1,t2,A,tM×N}对序列C进行置换,将其第i个像素置换至第ti列,i=1,2,A,M×N,得到C’。将等差序列D做相同置换,得到D’。

最后,B’是一个M×N的矩阵,B’(i ,j)=C’((i-1)×M+j),其中i=1,2,A,M;j=i=1,2,A,N,则B’就是加密后的图像文件。 解密算法与加密算法相似,不同之处在于第3步中,以序列C’代替随机序列{k1,k2,A,kM×N},即可实现图像的解密。 二、用MATLAB的实现基于混沌的图像置乱加密算法 本文借助MATLAB软件平台,使用MATLAB提供的文本编辑器进行编程实现加密功能。根据前面加密的思路,把加密算法的编程分为三个主要模块:首先,构造一个与原图a等高等宽的矩阵b加在图像矩阵a后面形成复合矩阵c: b=zeros(m1,n1); ifm1>=n1 ifm1>n1 fore=1:n1 b=(e,e); end …… else fore=1:n1

一种基于混沌序列的数字图像加密算法

一种基于混沌序列的数字图像加密算法 周焕芹 (渭南师范学院数学与信息科学系,陕西渭南714000) 摘 要:基于混沌序列给出了一种图像加密算法.借助Logistic混沌动力学系统过程既非周期又不收敛,且对初始条件敏感性,生成混沌矩阵,对原图像进行融合操作,实现了对图像的加密过程.实验结果证明,算法简单易行,安全性好. 关键词:数字图像;混沌序列;图像加密;迭代;置乱 中图分类号T N911.73 文献标志码:A 文章编号:1009—5128(2008)02—0011—04 收稿日期:2007—05—31 基金项目:陕西省基础教育科研“十一五”规划课题(SJJY B06297);渭南师范学院科研基金资助项目(06YKF011);渭南师范学院教学改革研究项目(JG200712) 作者简介:周焕芹(1962—),女,陕西澄城人,渭南师范学院数学与信息科学系副教授 20世纪60年代人们发现了一种特殊的自然现象———混沌(chaos),混沌是一种非线性动力学规律控制的行为,表现为对初始值和系统参数的敏感性、白噪声的统计特性和混沌序列的遍历特性,其吸引子的维数是分维,有十分复杂的分形结构,具有不可预测性.由于混沌序列有如此优良的密码学特性,混沌密码学成为现代密码学的重要研究内容.最早将离散混沌动力学系统应用于加密算法的是M atthe w s[1],1990年,他给出了一种一维的混沌映射.该映射根据初始条件产生的具有混沌特性的伪随机序列可以直接应用于一次一密的加密算法中,但是该混沌映射在使用计算机实现时会退化成周期序列,而且该序列的周期一般较小.1990年,Habutsu等人也给出了一种基于线性的Tent映射的混沌加密系统[2],该方法保留了混沌系统对于初始条件的敏感性.1994年,B iance利用Logistic映射产生实数序列,应用范围较广[1-4]. 随着网络技术的发展,大量个人和公众信息在网络上传播.信息的安全问题成为人们关注的热点,而信息安全中图像安全是众所关心的.对于图像信息,传统的保密学尚缺少足够的研究.随着计算机技术与数字图像处理技术的发展,对此已有一些成果[6].近年来,相继召开了关于数据加密的国际学术会议,图像信息隐蔽问题为其重要议题之一,且有关的论文以数字水印技术为主.数字图像置乱技术,可以看做数字图像加密的一种途径,也可以用做数字图像隐藏、数字水印图像植入、数值计算恢复方法和数字图像分存的预处理和后处理过程.作为信息隐藏的基础性工作,置乱技术已经取得了较大的发展,提出了很多有效的方法如:基于A rnold变换,F ASS曲线,分形技术,幻方,正交拉丁方,骑士巡游,仿射变换,原根,Gray码变换的置乱方法[7]. 本文应用离散混沌动力系统设计了一种图像加密/解密算法.该方法的特点是:无论从加密还是解密算法的设计都是由不同的动力系统提供的.本文依赖于随机密钥的非线性迭代完成图像的像素融合,其中所用的子密钥由离散混沌系统产生.分析和仿真结果表明,经过这样的融合,算法具有良好的安全性及鲁棒性. 1 算法原理 由混沌矩阵对图像置乱.从构成图像的像素角度考虑,一幅图像大小为M×N,具有256级灰度的图像,设图像为I m age,对应于像素点(i,j)的灰度值记为I m age(i,j),其中1≤i,j≤L,Endi m age(i,j)为(i,j)坐标处融合操作后图像的像素灰度值,即要设计映射f,使得 f:I m age(i,j)→End i m age(i,j)(1)为了使得融合后的像素灰度值Endi m age(i,j)具有不可预测性,本文采用离散混沌映射生成离散混沌矩阵Keyi m age(i,j)来达到这个目的.生成Keyi m age(i,j)的方法如下:采用目前广泛研究的Logistic映射构造混沌序列.混沌系统表述为 α k+1=μ?αk?(1-αk),k=0,1,2, (2) 2008年3月第23卷第2期 渭南师范学院学报 Journal of W einan Teachers University M arch2008 Vol.23 No.2

一种新的基于混沌的彩色图像加密方案谢涛

收稿日期:2012-05-27;修回日期:2012-07-04 作者简介:谢涛(1983-),男,四川巴中人,实验师,硕士,主要研究方向为虚拟现实、图像处理(grabtiger@163.com ). 一种新的基于混沌的彩色图像加密方案 谢 涛1 ,何 兴 2 (1.重庆师范大学计算机与信息科学学院,重庆401331;2.重庆大学计算机学院,重庆401331)摘 要:利用耦合logistic 映射产生随机性很强的密钥流,结合R 、G 、B 三者的关系,设计了一种初始简单扩散— 联合置乱—联合扩散的加密方法。仿真结果表明,比单独对每个颜色分量实施加密,该方法具有更强的安全性。关键词:图像加密;联合置乱;联合扩散;耦合logistic 映射中图分类号:TP391;TP309 文献标志码:A 文章编号:1001-3695(2013)01-0318-03 doi :10.3969/j.issn.1001-3695.2013.01.082 New color image encryption scheme based on chaos XIE Tao 1,HE Xing 2 (1.College of Computer &Information Science ,Chongqing Nomal University ,Chongqing 401331,China ;2.College of Computer Science ,Chongqing University ,Chongqing 401331,China ) Abstract :This paper firstly used the coupled logistic map to generate random strong key stream ,and then designed a kind of initial simple diffusion-joint scrambling-combined diffusion method from the point of the relationships of components RGB.The simulation results indicate that this algorithm has stronger security compared with the independent encryption of each color component. Key words :image encryption ;joint scrambling ;combined diffusion ;coupled logistic map (CLM ) 0引言 随着计算机网络技术的飞速发展,多媒体安全变得越来 越重要。其中图像信息的传输扮演着非常重要的角色,而传统的加密技术将其作为普通数据流进行加密,并没有考虑到多媒体数据本身的特点,如很高的冗余性和很强的相关性。Shan-non [1] 曾在其经典文章中提到用于指导密码设计的两个基本原 则,即扩散和置乱。扩散是将明文冗余度分散到密文中使之分散开来,以便隐藏明文的统计结构,其实现方式是使明文的每一位影响密文中多位的值;而置乱是用于掩盖明文、密文和密钥之间的关系,使密钥和密文之间的统计关系变得尽可能复杂,导致密码攻击者无法从密文推理得到密钥。混沌所具有的混合、对参数和初值的敏感性等基本特性与密码学之间有着天然的联系, 并在结构上存在某种相似性。因此,近些年来,有许多中外学者提出了一些关于混沌图像的加密算法 [2 6] 。 对于彩色图像,每个图像的像素由R (红色)、G (绿色)、B (蓝色)三个颜色成分组成。与灰度图像相比,彩色图像提供更多信息,因此吸引了更多的关注 [7 10] 。一般的彩色图像加 密算法只是把彩色图像看成由三个灰度图像组成,从而对于每一个灰度图像分别进行处理,这样做很大的缺陷是忽略了R 、G 、B 之间的关系,与灰度图像加密没什么大的区别。鉴于此,本文设计了一种新型的彩色图像加密算法,用混沌系统同时对三个颜色部分加密使得它们之间充分地相互影响,而且运用联合型的置乱和扩散方法减少了R 、 G 、B 之间的相关性。仿真结果表明此方案能够有效地加密彩色图像,并抵抗不同类型的经典攻击。 1混沌系统 一维logistic 系统因为简单且高效,故常用来产生密钥流, 然而密钥空间太小,不能抵抗穷举攻击,因此安全性不是很好。本文采用CLM (耦合logistic 映射)来构造密码系统: x i n +1=(1-ε)g (x i n )+ ε2 [g (x i +1n )+g (x i -1 n )](1) 其中:i =1,2,3,为空间方向变量;n =1,2,…,是时间方向变 量;x i n 代表状态变量;ε∈(0, 1)是耦合系数;g (x )是logistic 映射,如式(2)所示。周期边界条件x 0n =x 3 n 。CLM 系统有两个正 的Lyaponuv 指数 [11] ,因此它是混沌的。 g (x )=λx (1-x ) x ∈(0,1),λ∈(3.5699456, 4](2) 当λ∈(3.57,4]时,logistic 映射可通过倍周期分叉演进至混沌状态。 2算法的设计与实现 加密过程如下: a )准备工作和密钥产生。明文图像可表示为 P ={R P n ,G P n ,B P n } n =1,2,…,L (3) 其中,每一个颜色分量R 、G 、B 可变成一个向量,其元素值均为0 255。此处假设L =256?256,也就是图像的大小尺寸均为256?256;否则,可以对图像作一些分割,最后不足的部分可以 进行添加。设定初始参数λ和初始密钥值x 0 1、x 11、x 21, 迭代式(1)和(2)L +h 次,而h >0是为了提高初始敏感性,从而获得三个序列: 第30卷第1期2013年1月计算机应用研究 Application Research of Computers Vol.30No.1Jan.2013

基于混沌系统的图像加密算法研究[开题报告]

开题报告 通信工程 基于混沌系统的图像加密算法研究 一、课题研究意义及现状 意义: 随着计算机技术和网络通信技术不断发展和迅速普及,通信保密问题日益突出。信息安全问题已经成为阻碍经济持续稳定发展和威胁国家安全的一个重要问题,而密码学是用来保证信息安全的一种必要的手段,现代密码学便应运而生,如经典的私钥密码算法DES、IDEA、AES和公钥密码算法RSA、EIGamal等,新颖的量子密码、椭圆曲线密码算法等,在信息安全的保密方面都发挥了重要作用。图像信息生动形象,它已经成为人类表达信息的重要手段之一,网络上的图像数据有很多是要求发送方和接收方要进行保密通信的,信息安全与保密显得越来越重要。目前,国际上正在探讨使用一些非传统的方法进行信息加密与隐藏,其中混沌理论就是被采纳和得到广泛应用的方法之一。混沌加密是近年来兴起的一个研究课题,基于混沌理论的保密通信、信息加密和信息隐藏技术的研究已成为国际非线性科学和信息科学两个领域交叉融合的热门前沿课题之一,也是国际上高科技研究的一个新领域,基于混沌理论的密码学近来成为很热门的科学。对于数字图像来说,具有其特别的一面就是数字图像具有数据量大、数据相关度高等特点,用传统的加密方式对图像加密时存在效率低的缺点;而新型的混沌加密方式为图像加密提供了一种新的有效途径。基于这种原因,本论文主要探讨基于混沌理论的数字图像加密算法。 混沌现象是在非线性动力系统中出现的确定性、类似随机的过程,这种过程既非周期又非收敛,并且对初值具有极其敏感的依赖性,混沌系统所具有的这些基本特性恰好能够满足保密通信及密码学的基本要求。图像加密过程就是通过加密系统把原始的图像信息(明文),按照加密算法变换成与明文完全不同的数字信息(密文)的过程。 国内外现状: 1963年,洛伦兹发表论文“决定论非周期流”,讨论了天气预报的困难和大气湍流现象,给出了著名的洛伦兹方程,这是在耗散系统中,一个确定的方程却能导出混沌解的第一个实例,从而揭歼了对混沌现象深入研究的序幕。混沌出现,古典科学便终止了。 1975年,美籍华人李天岩和美国数学家约克(Yorke)一篇震动整个学术界的论文“周期3

连续时间混沌系统MATLAB程序和SIMULINK模型

第6章连续时间混沌系统 本章讨论连续时间混沌系统的基本特点与分析方法,主要包括混沌数值仿真和硬件实验方法简介、混沌系数平衡点的计算、平衡点的分类与性质、相空间中的轨道、几类典型连续混沌系统的介绍、混沌机理的分析方法、用特征向量空间法寻找异宿轨道、Lorenz系统及混沌机理定性分析、Lorenz映射、Poincare截面、Chua系统及其混沌机理定性分析、时间序列与相空间重构等内容。 6.1 混沌数值仿真和硬件实验方法简介 混沌的数值仿真主要包括MA TLAB编程、SIMULINK模块构建、EWB仿真以及其他一些相关的软件仿真或数值计算等方法,从而获取混沌吸引子的相图、时域波形图、李氏指数、分叉图和功率谱等。混沌的硬件实验主要包括模拟/数字电路设计与硬件实验、现场可编程门阵列器件(FPGA)、数字信号处理器(DSP)等硬件实现方法来产生混沌信号。本节仅对各种数值仿真方法作简单介绍。 1)混沌系统的MA TLAB数值仿真 该方法主要根据混沌系统的状态方程来编写MA TLAB程序。现举二例来说明这种编程方法。(1)已知Lorenz系统的状态方程为 dx/dt=-a(x-y) dy/dt=bx-xz-y dz/dt=-cz+xy 式中a=10,b=30,c=8/3。 MA TLAB仿真程序如下: >> %************************************************** Function dxdt=lorenz(t,x) %除符号dxdt外,还可用其他编程者习惯的有意义的符号 A=10; B=30; C=8/3; dxdt=zeros(3,1); dxdt(1)=-A*(x(1)-x(2)); dxdt(2)=B*x(1)-x(1).*x(3)-x(2); dxdt(3)=x(1)*x(2)-C*x(3); %************************************************* options=odeset('RelTol',1e-6,'AbsTol',[ 1e-6 1e-6 1e-6]); t0=[0 200]; x0=[0.02,0.01,0.03]; [t,x]=ode45('lorenz',t0,x0,options); %************************************************** n=length(t) n1=round(n/2) %n1=1; %************************************************** figure(1); plot(t(n1:n,1),x(n1:n,1));

基于MATLAB的混沌序列图像加密算法的研究的开题报告

吉林农业大学 本科毕业设计开题报告

课题名称:基于MATLAB的混沌序列图像加密算法的研究 学院(系):信息技术学院 年级专业:2009级电子信息科学与技术2班 学生姓名:XX 指导教师:刘媛媛 完成日期:2013年2月27日 目录 一、设计目的及意义 (3) 二、研究现状 (3) 三、设计内容 (3) 四、开发环境 (3) 五、分析设计 (3) 1、设计要求 (3) 2、设计原理 (3) 3、涉及到的程序代码 (4)

4、主要思想 (6) 六、结果及分析 (6) 1、运行示例 (6) 2、结果评估 (8) 七、参考文献 (9) 八、研究工作进度 (10) 一、设计目的及意义 熟练使用matlab运用matlab进行编程,使用matlab语言进行数据的隐藏加密,确保数字图像信息的安全,混沌序列具有容易生成,对初始条件和混沌参数敏感等特点,近年来在图像加密领域得到了广泛的应用。使用必要的算法将信息进行加解密,实现信息的保护。 二、研究现状 随着Internet技术与多媒体技术的飞速发展,数字化信息可以以不同的形式在网络上方便、快捷地传输。多媒体通信逐渐成为人们之间信息交流的重要手段。人们通过网络交流各种信息,进行网上贸易等。因此,信息的

安全与保密显得越来越重要。信息的安全与保密不仅与国家的政治、军事和外交等有重大的关系,而且与国家的经济、商务活动以及个人都有极大的关系。随着信息化社会的到来,数字信息与网络已成为人们生活中的重要组成部分,他们给我们带来方便的同时,也给我们带来了隐患:敏感信息可能轻易地被窃取、篡改、非法复制和传播等。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。 多媒体数据,尤其是图像,比传统的文字蕴涵更大的信息量,因而成为人类社会在信息利用方面的重要手段。因此针对多媒体信息安全保护技术的研究也显得尤为重要,多媒体信息安全是集数学、密码学、信息论、概率论、计算复杂度理论和计算机网络以及其它计算机应用技术于一体的多学科交叉的研究课题。 三、设计内容 使用混沌序列图像加密技术对图像进行处理使加密后的图像 四、开发环境 MATLAB? & Simulink? Release 2010a windows7环境 五、分析设计 1.实验要求 使用matlab将图像信息隐藏,实现信息加密。 2.设计原理 运用异或运算将数据进行隐藏,连续使用同一数据对图像数据两次异或运算图像的数据不发生改变,利用这一特性对图像信息进行加密保 护。用户输入的密码必须在0~1之间任何一个数据进行加密,并且加密 的程序与解密的程序输入的密码必须一致才能正确解密。

Matlab实现混沌系统的控制

基于MATLAB 的各类混沌系统的计算机模拟 混沌是非线性系统所独有且广泛存在的一种非周期运动形式, 其覆盖面涉及到自然科学和社会科学的几乎每一个分支。1972年12月29日,美国麻省理工学院教授、混沌学开创人之一E.N.洛伦兹在美国科学发展学会第139次会议上发表了题为《蝴蝶效应》的论文,提出一个貌似荒谬的论断:在巴西一只蝴蝶翅膀的拍打能在美国得克萨斯州产生一个龙卷风,并由此提出了天气的不可准确预报性。为什么会出现这种情况呢?这是混沌在作怪! “混沌”译自英语中“chaos”一词,原意是混乱、无序,在现代非线性理论中,混沌则是泛指在确定体系中出现的貌似无规则的、类随机的运动。 混沌现象是普遍的,就在我们身边,是与我们关系最密切的现象,我们就生活在混沌的海洋中。一支燃着的香烟,在平稳的气流中缓缓升起一缕青烟,突然卷成一团团剧烈搅动的烟雾,向四方飘散;打开水龙头,先是平稳的层流,然后水花四溅,流动变的不规则,这就是湍流;一个风和日丽的夏天,突然风起云涌,来了一场暴风雨。一面旗帜在风中飘扬,一片秋叶从树上落下,它们都在做混沌运动。可见混沌始终围绕在我们的周围,一直与人类为伴。 1.混沌的基本概念 1. 混沌: 目前尚无通用的严格的定义, 一般认为,将不是由随机性外因引起的, 而是由确定性方程(内因)直接得到的具有随机性的运动状态称为混沌。 2. 相空间: 在连续动力系统中, 用一组一阶微分方程描述运动, 以状态变量(或状态向量)为坐标轴的空间构成系统的相空间。系统的一个状态用相空间的一个点表示, 通过该点有唯一的一条积分曲线。 3. 混沌运动: 是确定性系统中局限于有限相空间的高度不稳定的运动。所谓轨道高度不稳定, 是指近邻的轨道随时间的发展会指数地分离。由于这种不稳定性, 系统的长时间行为会显示出某种混乱性。 4. 分形和分维: 分形是 n 维空间一个点集的一种几何性质, 该点集具有无限精细的结构, 在任何尺度下都有自相似部分和整体相似性质, 具有小于所在空间维数 n 的非整数维数。分维就是用非整数维——分数维来定量地描述分形的基本性质。 5. 不动点: 又称平衡点、定态。不动点是系统状态变量所取的一组值, 对于这些值系统不随时间变化。在连续动力学系统中, 相空间中有一个点0x , 若满足当 t →∞时, 轨迹0()x t x →, 则称0x 为不动点。 6. 吸引子: 指相空间的这样的一个点集 s (或一个子空间) , 对s 邻域的几乎任意一点, 当t →∞时所有轨迹线均趋于s, 吸引子是稳定的不动点。 7. 奇异吸引子: 又称混沌吸引子, 指相空间中具有分数维的吸引子的集合。该吸引集由永不重复自身的一系列点组成, 并且无论如何也不表现出任何周期性。混沌轨道就运行在其吸引子集中。 8. 分叉和分叉点: 又称分岔或分支。指在某个或者某组参数发生变化时, 长时间动力学运动的类型也发生变化。这个参数值(或这组参数值)称为分叉点, 在分叉点处参数的微小变化会产生不同性质的动力学特性, 故系统在分叉点处是结构不稳定的。 9. 周期解: 对于系统1()n n x f x += , 当n →∞时,若存在n i n x x ξ+== , 则称该系统有周期i 解ξ 。不动点可以看作是周期为1的解, 因为它满足1n n x x +=。 10. 初值敏感性:对初始条件的敏感依赖是混沌的基本特征,也有人用它来定义混沌:混沌系统是其终极状态极端敏感地依赖于系统的初始状态的系统。敏感依赖性的一个严重后果就在于,使得系统的长期行为变得不可预见。

Henon混沌图像加密研究

基于Henon 混沌映射的图像加密DSP 系统实现 一 实验目的 1. 熟悉具有分组密码结构特性的混沌映射; 2. 熟悉DSP 实验箱进行图像加密研究; 3. 掌握利用二维Henon 混沌映射实现图像像素扩散加密的原理; 4. 培养学生从事高维信号安全保护的动手编程能力。 二 实验内容 1.实验原理 用Henon 映射产生的序列对图像进行异或运算,实现图像的加解密。 Henon 混沌映射是典型的二维离散混沌映射,其方程: 12 1++-=+n n n y px x n n qx y =+1 2.实验步骤 图像加密算法步骤: 设 ()n m y x I ?,为初始图像,其中y x , 代表像素的位置信息,n m ?表示 图像的大小,其中加密过程可描述如下: (1) 生成混沌序列,设定初始值 x(1)与 y(1),Henon 混沌系统的控制 参数 p 与 q ,利用 Henon 映射生成两个长度为() 2n m ? 的混沌序列 x(i)、y(j),其中 p =1.4,q =0.3,0≤x(1)≤1,0≤y(1)≤1,i = j = 0,1,…,()2n m ?, 将x(i)与 y(j)按顺序保存在n m ?数组中,进而将其转换成n m ?矩阵,表示为I1。 (2) 异或运算:将初始图像表示为 I ,做异或运算 I2= I ⊕I2,从而实现对初始图像的置乱加密,得到最终的加密图像 I2。该算法流程图如下所示:

加密算法流程图 3. 实验源代码(见附录) 三 实验内容及步骤 1.采用Matlab 编写图像加解密程序并仿真测试(详细代码见附录1); 2.采用在DSP 环境下实时运行的图像加解密实际程序; 3. 对加密图像1维直方图计算出灰度概率方差。 四 实验结果及分析 实验结果如下图所示 混沌序列 混沌映射 进行异或 加密图像 原始图像

用Matlab观察分岔与混沌现象

Matlab 实验报告 实验目的:用Matlab 观察分岔与混沌现象。 题目:Feigenbaum 曾对超越函数sin()y x λπ=(λ为非负实数)进行了分岔与混沌的研究,试利用迭代格式1sin()k k x x λπ+=,做出相应的Feigenbaum 图 算法设计: 1、因为λ为非负实数,所以试将λ的范围限制在[0,3],制图时x 的坐标限制在[0,3],考虑到y 的值有正有负,所以把y 的坐标限制在[-3,3]。 2、根据课本上给的例题,编写程序代码来绘图。 程序代码: clear;clf; hold on axis([0,3,-3,3]); grid for a=0:0.005:3 x=[0.1]; for i=2:150 x(i)=a*sin(pi*x(i-1)); end pause(0.1) for i=101:150 plot(a,x(i),'k.'); end end 图像:

结果分析:在λ取值在[0,0.3]区间内时,y的值保持在0,然后开始上升,在λ取值在0.75附近时,开始分岔为两支。从整体上看,随着λ的值越来越大,所产生的迭代序列越来越复杂,可能会随机地落在区间(-3,3)的任一子区间内。并可能重复,这就是混沌的遍历性。 进一步分析:由于λ的取值空间偏小,考虑扩大其取值范围到[0,6],再进一步观察图像。程序代码如下: clear;clf; hold on axis([0,6,-6,6]); grid for a=0:0.05:6 x=[0.1]; for i=2:150 x(i)=a*sin(pi*x(i-1)); end

图像加密技术的开题报告

燕山大学 本科毕业设计(论文)开题报告 课题名称:图像加密技术的 JAVA实现 学院(系):里仁学院 年级专业:08自动化2班 学生姓名:杨合如 指导教师:刘剑鸣 完成日期:2012.3.23

一、综述本课题国内外研究动态,说明选题的依据和意义 (一)本课题国内外研究动态 数字图像加密源于早期的经典加密理论,其目的是隐藏图像本身的真实信息,使窃取者或无关人员,在收到加密消息后无法获得原始图像,而接收方,则可用预先约定的密钥和解密方法,方便地把收到的加密信息解密出来。 图像加密主要有以下几种方法:基于矩阵变换/像素置换的图像加密算法、基于密钥分割与秘密共享的图像加密算法、基于现代密码体制的图像加密算法和基于混沌理论的图像加密算法。下面简要阐述它们各自加密算法的原理、特点,分析各种算法的优缺点及发展趋势。 (1)基于矩阵变换/像素置换的图像加密技术 基于矩阵变换/像素置换的图像加密技术,基于Arnold变换的系列置乱方法,可以等效为对图像矩阵进行有限步地初等矩阵变换,从而打乱图像像素的排列位置。但初等矩阵变换是一种线性变换,其保密性不高。基于Arnold变换的加密算法和基于幻方的加密算法是不能公开的,这是因为加密算法和秘钥没有有效地分开,这和现代密码体制的要求是不相容的,即它不符合Kerckhoffs准则,而属于古典密码体制的范畴。在实际应用中应该加以适当的改进,有两种方法:一是使这类加密算法的保密性提高;二是要使这类加密算法符合Kerckhoffs准则,适应现代密码学的要求。另外,基于Arnold变换的图像加密算法含有其动力学系统的庞加莱回复特性,而幻方矩阵也是由有限域上的元素所组成的,因而都容易受到唯密文迭代攻击,因而从根本上来说这类算法是不能公开的。从加密算法不能公开、秘密不是完全依赖密钥这一点来看,这类加密算法是属于被淘汰之列的,除非它们能和其它的加密算法有效地结合,从而符合现代加密体制的规范。 (2)基于秘密分割与秘密共享的图像加密 基于秘密共享的加密算法是基于Shamir在1979年提出的密钥分存的概念。之后,在1994年欧密会上Naor和Shamir共同提出二值图像信息的共享方案。密钥分存的优点在于个别子密钥的泄漏不至于引起密钥的泄漏,而个别子密钥的损失也不至于影响密钥的恢复。算法简单直观,安全性好,具

相关主题
文本预览
相关文档 最新文档