实验报告:混沌同步控制与图像加密.doc_第1页
实验报告:混沌同步控制与图像加密.doc_第2页
实验报告:混沌同步控制与图像加密.doc_第3页
实验报告:混沌同步控制与图像加密.doc_第4页
实验报告:混沌同步控制与图像加密.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

混沌同步控制与图像加密混沌实验教学平台的设计与实现中期期报告 (华南师范大学 物理与电信工程学院 指导老师 :李军 学生:王龙杰、张丹伟、杨土炎 ) 摘要:基于混沌系统的某些独特性质,如初值敏感性,本文讨论了混沌理论的两个重要运用,即基于Lorenz混沌系统的同步控制和基于Logistic混沌映射的图像加密。在讨论与分析的基础上,利用MATLAB软件进行数值计算与模拟,得到较好的效果。关键词:Lorenz混沌系统; 同步控制; Logistic混沌映射; 图像加密; MATLAB基于Lorenz 混沌系统的同步控制一 引言混沌是自然界及人类社会中的一种普遍现象,至今为止,在学术界对“混沌”还没有统一的被普遍接受的定义。混沌运动是确定性和随机性的对立统一,即它具有确定性和随机性,所谓确定性是指混沌运动是在确定性系统中发生的,可以用动力学方程形式表述,这与完全随机运动有着本质的区别;所谓运动具有随机性,是指不能像经典力学中的机械运动那样由某时刻状态可以预言以后任何时刻的运动状态,混沌运动倒是像其他随机运动或噪声那样,其运动状态是不可预言的,换言之,混沌运动在相空间中没有确定的轨道。混沌运动对初始状态(条件)具有敏感的依赖性,只要对系统施加非常微小的扰动,就可能把系统从一个不稳定的周期运动转变到另一个不稳定的周期运动上去,也可能转变到另一稳定的运动状态上,通过这个特性,我们可以利用混沌有意义的一面,而避其有害的一面。Lorenz系统作为第一个混沌模型,是混沌发展史上的一个里程碑,具有举足轻重的地位。对Lorenz系统的深入研究无疑已经极大地推动了混沌学的发展。人们发现混沌控制在众多领域中有着广阔的应用前景,尤其在电子学、电力系统、保密通信和振荡发生器设计等领域有着巨大的应用前景,因此引起了广泛的重视。由于混沌行为对初始状态的敏感依赖性,受到噪声、干扰以及系统不稳定的影响,特别是在混沌同步中,实际系统中很难观测到混沌同步。自从1990年, Pecora和Carroll提出了混沌同步的概念和方法以后,随着混沌同步研究的不断深入,混沌控制与同步的研究工作得到了长足的发展,并逐渐成为混沌与控制领域研究的热点。对于相近的混沌轨道,通过相同的非线性系统控制,最终可能导致完全不相关的状态。但在实际应用中,往往要求控制得到相关的状态或所需要的同步结果,本文采用了加入反馈控制量的方法使其耦合,最终达到所要求的同步。在计算机上的仿真结果显示,能在短时间内实现耦合同步控制。 二 Lorenz系统同步控制1963 年,Lorenz 在研究大气对流时,在三维自治系统中发现了第一个混沌吸引子。用动力学变量连续反馈来控制和驱动系统的运动是力学与电子工程中常用的方法。现在我们用一个混沌信号去驱动另一个混沌系统。设驱动系统为Lorenz 系统: 取驱动信号为Lorenz 系统产生的变量x ,构成响应系统: 可以看出,由于系数(,)的存在,两个系统的初始值是不同的。我们知道,当Lorenz系统方程中参数取值为:, 时,系统经过一段时间演化后将会进入混沌状态,那么,如果能够实现这两个系统的同步控制,则相应系统最终也会进入同样的混沌,当然我们希望所需时间越短越好。下面,我们利用MATLAB软件进行数值模拟,程序如下:1.驱动系统微分方程: function dY=Lorenz_driven(T,Y) a=28;b=8/3;c=10;dY=-c*(Y(1)-Y(2);a*Y(1)-Y(2)-Y(1)*Y(3);b*(Y(1)*Y(2)-Y(3);2.响应系统: function Y1 = Lorenz_response(tspan); global Y; global T;yinit = 0.1,0.1,20; y(1:3) = yinit;tstart = 0; tstep = 0.1; wholetimes = 200; steps = 1; iteratetimes = wholetimes/steps; S=output;for i=1:iteratetimes tspan = tstart:0.5*tstep:(tstart + tstep*steps); t,Y1 = ode45(Lorenz_driven,tspan,y); y = Y1(3,:); y(1)=S(i+1,2);tstart = tstart + tstep*steps; results(i,:)=Y1(3,:);endsubplot(3,1,2);plot(results(:,1),results(:,3),b-);title(响应);subplot(3,1,3);plot(Y(:,1),Y(:,3),k-,results(:,1),results(:,3),b-);title(驱动-响应叠加 );for i=1:iteratetimes TT(1,i)=i*tstep;endfigure(2);subplot(2,1,1);plot(T,Y(:,3),k-);title(驱动);subplot(2,1,2);plot(TT,results(:,3),k-);title(响应);3.驱动系统的输出: function s=output;global Y; global T;tstart = 0; tstep = 0.1; wholetimes = 200; tspan=tstart:tstep:wholetimes*tstep;T,Y = ode45(Lorenz_driven,tspan,0.1 0.1 0.1);s=T,Y; figure(1);subplot(3,1,1);plot(Y(:,1),Y(:,3),k-);title(驱动); 其中,我们设置驱动系统的初值为0.1,0.1,0.1,而响应系统的初值为0.1,0.1,20,显然Z的初值相差很大。在MATLAB界面窗口输入指令:Lorenz_response ,可以看到以下X-Z相图图像:改变相图的输出平面为Y-Z:其对应的Z的时域响应图像分别是: 三 结论 数值仿真的结果表明只要响应系统与驱动系统有相同的方程结构和参数,无论初值如何选取, 都能迅速达到两个系统的混沌同步。基于混沌同步的原理,我们可以提出一种混沌通信设计方案。信息信号调制到混沌变量x(t) 成为混沌传输信号s(x, m) ,只要响应系统与驱动系统满足同步条件,两个系统就能达到同步,所以驱动系统的方程结构和参数空间(a, b, c) 的一组数可作为信号解调的密钥,控制两个系统的同步,从而将信息信号复原,实现混沌保密通信。运用控制手段,能消除初始状态对运动不确定性的影响,使混沌系统的运动最终按照人们的意愿发展。因此, 开展此类研究对混沌同步控制在实际应用中具有特别重要的价值。 基于Logistic 混沌映射的图像加密一 Logisitc 混沌由于混沌系统具有伪随机性、不确定性和对初始条件与系统参数的极为敏感性,其自身的动力学特性使混沌现象天生具备了应用于保密安全的条件,在图像加密领域表现出良好的应用前景。利用混沌系统的初值敏感性可以提供数量众多、非相关、类随机而又确定可再生的混沌序列作为加密序列。本文选取一种典型的Logistic 混沌序列,如下: (1)该序列具有初值敏感、表现形式复杂、类噪声等特点。这些特性使得混沌序列在分布上不符合概率统计学原理,难以重构和预测,应用于密码学具有保密性强、随机性好、密钥量大、更换密钥方便等特点,是生成密钥流的理想序列。二 加密算法算法原理步骤: 第一步:读取原图像Ximage为MN参数矩阵,根据Logistic映射(1),利用密钥key1、key2分别生成两组混沌序列a和b,其中密钥即为序列初始值 第二步:按照一定的权重(如4:6)将两组混沌序列叠加,取整并令其值为0,256,生成置乱矩阵e,取整算法: e=round( 256*(0.4*a+0.6*b)) 第三步:对原图像进行加密处理。将参数矩阵与置乱矩阵e中相对应的元素按一定权重叠加(如1:99),生成加密图像Yimage,即 Yimage=0.01*Ximage+(1-0.01)*e第四步:解密,即加密的逆过程,但必须知道密钥key1和可用可用key2。置乱度定义:衡量图像加密效果的一个最重要的标准是置乱程度,一般定义置乱度(SM)来评估图像的置乱程度,它的计算为, (2)其中表示原始图像,表示置乱图像,表示与原始图像相同大小的均匀分布噪声图像。三 举例与分析下面以一副256256的图像lena.gif 为例,根据上述算法利用MATLAB软件进行图像加密,加密程序如下:function jiamiclc;clear all;global M;global N;global Ximage;global Yimage;Ximage=double(imread(C:Program FilesMATLAB71worklena.gif);key1=0.1;key=4;M,N=size(Ximage);figure(1)imshow(Ximage,);Ximage=double(Ximage);for(i=1:M) for(j=1:N) key1=key*key1*(1-key1); a(i,j)=key1; endendkey2=0.2;for(i=1:M) for(j=1:N) key2=key*key2*(1-key2); b(i,j)=key2; endendx=0.4*a+0.6*b;e=round(x*256);tt=0.01;Yimage=tt*Ximage+(1-tt)*e;figure(2)imshow(Yimage,);%置乱度分析Yimage=double(Yimage);sx=sum(sum(Ximage-256*rand(M,N).2);DD=sy/sx %置乱度comeback; %解密 解密程序:function comebackglobal M;global N;global Ximage;global Yimage;key1=input(请输入密钥key1:);key=4;for(i=1:M) for(j=1:N) key1=key*key1*(1-key1); a(i,j)=key1; endendkey2=input(请输入密钥key2:);for(i=1:M) for(j=1:N) key2=key*key2*(1-key2); b(i,j)=key2; endendx=0.4*a+0.6*b;e=round(x*256);tt=0.01;Zimage=(Yimage-(1-tt)*e)/tt;figure(3)imshow(Zimage,); 程序中密钥key1=0.1,key2=0.2,原图和加密图如下所示,显然加密效果明显,根据置乱度计算公式(2),其置乱度SM=0.8305。为了恢复原图,必须在MATLAB界面窗口输入两个密钥,case1:“请输入密匙1:0.1 请输入密匙2:0.1999”;case2:“请输入密匙1:0.1 请输入密匙2:0.2”;case3:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论