实验报告:混沌同步控制与图像加密

合集下载

基于混沌算法的图像加密技术研究

基于混沌算法的图像加密技术研究

基于混沌算法的图像加密技术研究图像加密技术在现代信息安全领域中占据着重要的地位,可以保护图像数据不被未授权人员接触、修改和复制。

基于混沌算法的图像加密技术因其具有高度随机性和反复性,受到了广泛的关注和研究。

混沌理论指经典物理世界中的一类模拟物理现象,它具有不确定性和极度敏感性,但在随机性上却异常丰富,可以生成高度的噪声信号。

混沌算法则是一种通过数学公式生成伪随机序列的非线性系统,在图像加密领域中得到了广泛应用。

一般而言,基于混沌算法的图像加密技术主要包括两个重要部分,即加密过程和解密过程。

加密过程中,需要将明文图像转换成一段密文编码,并加入随机的噪声由混沌系统生成的伪随机数作为加密密钥;解密过程则反之,需要通过相同的伪随机数序列还原出明文图像。

在加密过程中,混沌系统的生成信号是非常关键的,因为基于不同的混沌系统可以生成不同类型的噪声。

目前应用较多的混沌系统有Logistic映射、Henon映射、Lorenz系统和Chen系统等。

这些混沌系统本身具有高度的灵活性和随机性,可以产生非常复杂的噪声信号,保证了图像加密技术的安全性。

另外,为了加强图像加密技术的安全性,研究人员还提出了很多基于混沌算法的改进方案。

其中比较常见的是混沌扩散和置乱处理。

将混沌扩散算法融合到加密过程中,可以将密文中的像素进行多次变换,增加了反解密的难度;而置乱处理则是将加密后的像素顺序进行打乱,增加了破解难度,使得对加密信息的攻击非常困难。

同时,在图像加密过程中,还需要考虑到图像质量和加密后像素值的变化问题。

基于混沌算法的加密技术需要充分考虑两者的平衡因素,不能单纯地追求安全性,导致加密后图像的清晰度下降和像素失真问题。

在实际应用中,基于混沌算法的图像加密技术已经得到了广泛应用,比如在图像传输、存储、处理等方面。

同时,随着计算机技术的不断发展,研究人员正在不断探索基于混沌算法的图像加密技术的发展趋势,尝试结合其他算法和技术进行更好的改进。

基于混沌系统的图像加密技术研究

基于混沌系统的图像加密技术研究

基于混沌系统的图像加密技术研究混沌系统是一种具有无序、随机和不可预测性质的非线性动力学系统,其在密码学中已被广泛应用于消息加密、图像加密、身份验证等领域。

其中,基于混沌系统的图像加密技术可以实现在保持加密数据安全性的同时,保留了图像的视觉效果,因此更适用于图像通信和存储方面。

一、混沌系统的基本原理混沌系统是一种迭代映射动力学系统,在非线性条件下,其状态会随时间变化而呈现出随机、无序、分岔和周期皓等性质。

混沌系统可以用数学模型来描述,其中最著名的混沌系统是洛伦兹系统,它用于描述大气科学中的对流流体的运动。

依据混沌系统的特性,现代密码学发展了一系列混沌加密算法,其中最为常用的是混沌置换和混沌流密码。

混沌置换算法是一种基于迭代映射的分组密码算法,随机的迭代次数和初始条件可用于扰乱图像像素,从而达到加密的目的。

混沌流密码则是利用混沌序列产生伪随机数流,用于对原始数据进行加密。

二、基于混沌系统的图像加密技术图像加密技术是在数字图像传输和存储时必不可少的技术手段。

其中,基于混沌系统的图像加密技术相比于传统的加密技术,更适用于图像加密,具有快速、高效、安全等优势。

下面将从两个方面介绍基于混沌系统的图像加密技术。

1、基于混沌置换的图像加密技术混沌置换算法将迭代映射应用在了像素排序上,通过对图像像素位置的随机变换,来实现混沌加密。

将图像像素坐标变换为一个混沌序列,再通过混沌序列的迭代计算,洛伦兹混沌序列产生了一个随机序列,用于对图像的像素进行混沌置换,从而实现图像的加密。

具体的实现过程为:首先,将图像转化为一维数组,并设置一组初始条件。

然后,通过迭代计算混沌序列,从而得到像素位置的一个置换序列;接着,采用该序列对图像像素进行混淆;最后,将加密后的像素重新排列成二维矩阵,即完成了图像加密。

2、基于混沌流密码的图像加密技术混沌流密码是利用混沌序列产生伪随机数流,用于对原始数据进行加密的密码算法。

混沌流密码包括两个主要部分:混沌序列发生器和异或加密器。

基于Henon混沌映射的图像加密实验

基于Henon混沌映射的图像加密实验

基于Henon 混沌映射的图像加密实验一、实验目的1. 熟悉具有分组密码结构特性的混沌映射;2. 掌握利用二维Henon 混沌映射实现图像像素扩散加密的原理; 3. 培养学生从事高维信号安全保护的动手编程能力。

二、实验原理通过读操作获取图像像素值,然后利用Henon 混沌映射实现像素值扩散操作,其结果通过写操作写入加密后文件。

1、对于长宽相等(M=N )的图像加密解密原理如下: (1)加密过程 加密函数为:21211(1)mod ()mod n n n n n n x ax by My cx dx N+++⎧=-+⎪⎨=+⎪⎩ (2-1)其中,a=5; b=1;c=1;d=3;(,)n n x y 为原图像像素值的位置,11(,)n n x y ++为改变后的位置。

modM 为对M 取余数。

同理modN 也是。

改变像素值并赋给新的位置11(,)n n x y ++,公式如下:2211(,)[(,)]mod 256n n n n n n data x y A x y x y ++=++ (2-2)(2)解密过程为:有(2-1)得, 2111n nn x ax y l M +=-+- (2-3)2112n n n y x dx l N ++=+- (2-4)由(2-3)得2112n n n x y dx l N ++=-+,等式两边同时对M 取余数,得211()mod n n n x y dx M ++=- (2-5)然后把n x 代入(2-3),整理得2111n n ny x ax l M +=-++,最后把等式两边同时对N 取余数得:21(1)mod n n n y x ax N +=-+(2-5)由式(2-2)可得像素值的恢复:2211(,)[(,)]mod 256n n n n n n A x y data x y x y ++=-- (2-6)2、对于长宽不相等(M ≠N )的图像加密加密解密原理如下:(1)加密过程加密函数为:11()mod ((1))mod n n n n n n x x y My cx c y N++⎧=+⎪⎨=++⎪⎩ (2-7)其中,c=N/gcd(M,N);改变像素值并赋给新的位置11(,)n n x y ++,公式如下:2211(,)[(,)]mod 256n n n n n n data x y A x y x y ++=++ (2-8)(2)解密过程为: 由加密函数得:11n n n x x y l M +=+-(2-9) 12(1)n n n y cx c y l N +=++-(2-10)对(2-9)两边同时乘以c,然后(2-10)减去(2-9)整理可得:1112n n n y cx y cl M l N ++-=+- (2-11)(2-11)两边对N 取余整理可得:11()mod n n n y y cx N ++=- (2-12)把y n 代入(2-9),然后两边对M 取余整理可得:1()mod n n n x x y M +=- (2-13)由(2-8)可恢复像素值的大小:2211(,)[(,)]mod 256n n n n n n A x y data x y x y ++=-- (2-14)三、实验步骤1.熟悉图像加密解密原理;2.熟悉Henon 混沌系统;3.采用Matlab 编写图像加解密程序并仿真测试;四、程序代码1、(M=N ) clc; clear;I=imread('C:\Users\Lilong\Desktop\matlab\dianzishiyan\lena.bmp'); figure(1)subplot(2,2,1); imshow(I);title('原始图像');A=double(rgb2gray(I)); %转换成灰度图像subplot(2,2,2);imshow(uint8(A));%显示灰度图像title('灰度图像');[M,N]=size(A);%获取图像的大小data=zeros(M,N);a=5; b=1; c=1; d=3;A1=zeros(M,N);for loop=1:2for x=1:Mfor y=1:Nx1=mod((1-a*x^2+b*y),M);%改变行值if x1==0x1=M;endy1=mod((c*x+d*x1^2),N);%改变列值if y1==0y1=N;enddata(x1,y1)=mod(A(x,y)+x^2+y^2,256);%改变像素数值并赋值给新的位置endendA1=data;endsubplot(2,2,3);imshow(uint8(A1));%显示解密后的图像title('加密后图像');A2=zeros(M,N);A3=zeros(M,N);for loop=1:2for x1=1:Mfor y1=1:Nx2=mod(y1-d*x1^2,M);%解密原来的行值if x2==0x2=M;endy2=mod(x1+a*x2^2-1,N);%解密原来的列值if y2==0y2=N;endA2(x2,y2)=mod(A1(x1,y1)-x2^2-y2^2,256);%恢复像素值endendA3=A2;endsubplot(2,2,4);imshow(uint8(A3));%显示解密后的图像title('解密后图像');2、(M≠N)clc;clear;I=imread('C:\Documents and Settings\Administrator\桌面\lena.bmp'); figure(1)subplot(2,2,1);imshow(I);title('原始图像');I1=I(51:150,31:170,1:3);%裁剪图像A=double(rgb2gray(I1));%转换成灰度图像subplot(2,2,2);imshow(uint8(A));title('灰度图像');[M,N]=size(A);data=zeros(M,N);c=N/gcd(M,N);A1=zeros(M,N);for loop=1:2for x=1:Mfor y=1:Nx1=mod(x+y,M);if x1==0x1=M;endy1=mod(c*x+(1+c)*y,N);if y1==0y1=N;enddata(x1,y1)=mod(A(x,y)+x^2+y^2,256);%改变像素值%data(x1,y1)=A(x,y);endendA1=data;endsubplot(2,2,3);imshow(uint8(A1));title('加密后图像');%加密后的图像A2=zeros(M,N);A3=zeros(M,N);for loop=1:2for x1=1:Mfor y1=1:Ny2=mod(y1-c*x1,N);if y2==0y2=N;endx2=mod(x1-y2,M);if x2==0x2=M;endA2(x2,y2)=mod(A1(x1,y1)-x2^2-y2^2,256);%恢复像素值%A2(x2,y2)=A1(x1,y1);endendA3=A2;Endsubplot(2,2,4);imshow(uint8(A3));title('解密后图像');五、仿真测试运行程序,结果如下图,可以正确解密加密后的图像。

基于混沌的图像加密算法研究

基于混沌的图像加密算法研究

基于混沌的图像加密算法研究图像加密算法是信息安全领域中的重要研究方向之一,它通过对图像进行加密和解密操作,实现保护图像隐私和安全传输等目的。

本文将重点探讨基于混沌的图像加密算法的研究,分析其原理、优势和应用场景。

首先,我们来了解一下混沌理论。

混沌理论是一种非线性动力学系统的研究分支,其在计算机科学和密码学领域有着广泛的应用。

混沌系统具有随机性、不可预测性和灵敏性等特点,这使得混沌可作为图像加密算法的基础。

基于混沌的图像加密算法主要包括两个部分,即混沌映射和置乱操作。

混沌映射是将图像像素映射到一个混沌的迭代序列上,而置乱操作则通过对混沌序列进行重新排列实现对图像的置乱加密。

下面我们将详细介绍这两个部分。

首先是混沌映射。

混沌映射通常选取经典的混沌系统,如Logistic映射和Henon映射等作为基础。

这些映射具有高度的不可预测性和混沌性质,适用于图像加密。

在加密过程中,首先将图像像素值归一化到[0,1]的范围内,然后通过混沌映射将像素值映射到一个混沌序列上。

通过迭代映射操作,可以得到一个与原图像无关的混沌序列。

这个序列将作为后续置乱操作的密钥,确保了加密的随机性和安全性。

接下来是置乱操作。

在加密过程中,通过对混沌序列进行重新排列,实现对图像像素的混乱置乱。

最常用的方法是基于Arnold置乱算法和Baker映射置乱算法。

Arnold置乱算法是一种二维置乱算法,通过对图像像素的行列位置进行迭代映射操作,实现像素位置的混乱。

而Baker映射置乱算法则是通过对图像像素进行乘积操作,实现图像像素值的混乱。

这两种置乱算法具有较高的随机性和不可逆性,能够有效地保障图像的安全性。

基于混沌的图像加密算法具有以下优势:第一,混沌映射和置乱操作具有高度的随机性和不可线性特征,使得加密过程中产生的密钥和置乱后的图像难以被破解和恢复。

这大大增强了图像的安全性。

第二,基于混沌的图像加密算法具有较好的抗攻击性。

混沌系统的不可预测性和随机性能够防止统计分析和密码分析等攻击手段。

混沌密码与数字图像加密应用

混沌密码与数字图像加密应用
float x0,u,*result,*ratio,sum=0.0,ave,s=0.0,st;
cout<<"How many logistic sequence do you wanna output?"<<endl;
cin>>k;
while(k<1||k>N)
{
cout<<"Input a positive integer from 1 to "<<N<<":"<<endl;
{int i=0;
float temp_1,temp_2,temp_3;
temp_1=x0;
while(k)
{
result[i++]=temp_1;
temp_2=1-temp_1;
temp_3=u*temp_1;
temp_1=temp_2*temp_3;
k--;
}
}
int main()
{
int i,k;
imhist(uint8(Ximage));
title('原图像的直方图');
figure(4)
imhist(uint8(Yimage));
title('加密之后的直方图');
%%置乱度分析
Yimage=double(Yimage);
sx=sum(sum((Ximage-256*rand(M,N)).^2));
实验项目与实验报告(1)
学科:信息与网络安全学号:141姓名:羊波时间:11月3日
实验项目:混沌密码与数字图像加密应用、信息隐藏

混沌控制、同步及加密的开题报告

混沌控制、同步及加密的开题报告

混沌控制、同步及加密的开题报告一、研究背景混沌系统具有非线性、复杂性和随机性等特点,因此在通信、加密、控制等领域具有广泛的应用。

其中,混沌控制可以通过控制方法对混沌系统进行稳定控制,实现预定的目标。

混沌同步可以将两个或多个混沌系统的状态同步,用于安全通信和加密。

混沌加密则是利用混沌系统的复杂性和随机性设计的一种加密方案,目的在于保障信息的安全性。

二、研究内容本文将分别从混沌控制、同步及加密这三个方面进行研究,具体研究内容如下:1. 混沌控制:采用控制方法对混沌系统进行非线性控制,实现系统稳定控制和目标追踪,探讨不同的混沌控制方法在系统控制效果和复杂性方面的比较。

2. 混沌同步:研究不同混沌同步方案在同步效果和实现难度方面的比较,分析不同同步方案的安全性与通信效率,探讨混沌同步在通信和加密中的应用价值。

3. 混沌加密:研究基于混沌系统的加密算法,包括分组密码和流密码两种方式,分析不同加密算法在信息安全、实现难度和加密效率方面的差异,探讨混沌加密在信息安全领域的应用前景。

三、研究意义本文的研究意义在于:1. 探索混沌系统在控制、同步和加密中的应用,促进混沌系统在不同领域的发展和应用。

2. 基于对混沌控制、同步和加密的研究,提出适用于不同场景的混沌系统的应用方案和技术,提高混沌系统的实用性和应用效果。

3. 通过研究混沌控制、同步和加密,深入了解混沌系统的特性和优势,为混沌系统的进一步研究提供理论和技术支持。

四、研究方法本研究将采用实验和仿真方法进行研究,具体步骤如下:1. 实验:设计混沌电路实验平台,对混沌系统进行控制、同步和加密等实验,通过实验数据和实验结果进行分析和探讨。

2. 仿真:采用MATLAB等工具进行混沌模型的建立和仿真,对不同的混沌控制、同步和加密方案进行模拟实验,通过仿真结果进行分析和探讨。

五、预期结果本文预期主要结果包括:1. 对不同混沌控制、同步和加密方案在控制效果、同步效果和加密效率等方面进行分析和探讨,总结出各自的优劣和适用场景。

基于混沌算法的图像加密技术研究

基于混沌算法的图像加密技术研究

基于混沌算法的图像加密技术研究图像加密技术是一种将数字图像转化为不可读的密文,以保护图像的安全性和隐私性的方法。

在信息传输和存储过程中,图像加密技术起到了至关重要的作用。

随着计算机技术的不断发展,混沌算法作为一种新型的加密技术,逐渐引起了研究者们的兴趣。

本文将以基于混沌算法的图像加密技术为研究主题,系统地介绍混沌算法在图像加密中的应用和研究成果。

首先,我们来了解一下混沌算法。

混沌是一种表现出无序、不可预测性和敏感性依赖于初始条件的动态行为的系统。

混沌算法通过利用这种系统的特性,将图像中的像素值进行随机重排或者替代,以实现对图像的加密。

在基于混沌算法的图像加密技术中,最常见的方法是混沌映射法。

混沌映射法通过选择适当的混沌映射函数,将图像中的像素值和密钥进行混淆,从而实现图像的加密。

常用的混沌映射函数有Logistic映射、Tent映射、Henon映射等。

这些映射函数具有迭代快速、初始值敏感等特点,能够有效地对图像进行加密。

在具体的图像加密过程中,混沌算法通常与其他加密算法结合使用。

最常见的是混合加密算法,即将混沌算法和传统的对称加密算法(如AES算法)结合使用。

首先,将图像进行分块处理,然后使用混沌算法生成随机数序列作为密钥,并将密钥和图像的像素值进行异或操作。

接下来,采用对称加密算法对密钥进行加密,进一步提高了图像的安全性。

在解密过程中,按照相反的步骤进行操作,即先使用对称加密算法解密密钥,再将密钥和密文进行异或操作,最后利用混沌算法恢复原始图像。

除了混淆像素值和密钥之外,基于混沌算法的图像加密技术还可以采用其他手段对图像进行加密。

例如,可以通过对图像进行像素位移、差分扩散、像素替代等操作,进一步增加图像的复杂性和随机性,提高加密强度。

此外,还可以引入模糊化技术和水印技术,使得加密后的图像满足一定的鲁棒性要求,以增强图像的安全性和可用性。

基于混沌算法的图像加密技术具有许多优点。

首先,混沌算法具有天然的随机性和不可预测性,能够充分满足图像加密的安全性要求。

基于混沌系统的图像加密算法研究

基于混沌系统的图像加密算法研究

基于混沌系统的图像加密算法研究随着图像技术的发展,图像加密技术已经成为了一个不可避免的问题。

现如今,在数字化信息传输中,尤其是在网络传输中,保证信息的安全性是非常重要的。

而其中,图像加密技术是保护图像信息安全的重要手段之一。

然而,传统的图像加密算法效果不佳,易受到攻击,因此研究基于混沌系统的图像加密算法显得尤为重要。

一、混沌系统的基本原理与应用混沌系统是一种复杂的动态系统,具有分形性、敏感性依赖性和随机性等特征。

其中,分形性表现为系统的自相似性,敏感依赖性表现为系统对初始条件和参数的敏感度非常高,随机性表现为系统长期的运动是不可预测的,因此,混沌系统的引入能够提高加密算法的随机性,保证信息传输的安全性。

混沌系统在信息安全中的应用有很多,除了图像加密算法,还有数据加密算法、语音加密算法等等,都可以利用混沌系统的特性提高其安全性。

二、基于混沌系统的图像加密算法的特点基于混沌系统的图像加密算法有以下特点:1、加密过程快速:混沌系统的计算具有快速性能,能够有效提高加密算法的速度。

2、加密效果好:通过混沌系统复杂的运动轨迹,可以使得图像加密后的像素点分布更加随机,增强了加密的随机性和不可预测性,保证信息的安全性。

3、加密系统具有可调性:通过调整混沌系统的参数,可以实现加密算法的可调性,进一步提高加密算法的安全性。

三、基于混沌系统的图像加密算法研究进展目前,关于基于混沌系统的图像加密算法的研究,已经取得了很大的进展。

其中,比较有代表性的算法有:1、Arnold变换和混沌映射Arnold变换是一种二维置换运算,可以将图像像素进行充分的混沌映射。

同时,通过与混沌映射相结合,加强了加密算法的随机性和不可预测性,保证了信息的安全性。

2、离散余弦变换和混沌置乱离散余弦变换是一种常用的图像压缩算法,也可以用于图像加密。

通过与混沌置乱相结合,可以使压缩后的图像得到更好的保护,同时保证加密算法的安全性。

3、混沌加法和混沌变换混沌加法和混沌变换可以同时作用于图像像素的映射,增加了加密算法的复杂度和随机性,保证了信息的安全性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

混沌同步控制与图像加密――― 《混沌实验教学平台的设计与实现》中期期报告(华南师范大学物理与电信工程学院指导老师:李军学生:王龙杰、张丹伟、杨土炎)摘要:基于混沌系统的某些独特性质,如初值敏感性,本文讨论了混沌理论的两个重要运用,即基于Lorenz 混沌系统的同步控制和基于Logistic 混沌映射的图像加密。

在讨论与分析的基础上,利用MA TLAB 软件进行数值计算与模拟,得到较好的效果。

关键词:Lorenz 混沌系统;同步控制;Logistic 混沌映射;图像加密;MATLAB基于Lorenz 混沌系统的同步控制一.引言混沌是自然界及人类社会中的一种普遍现象,至今为止,在学术界对“混沌”还没有统一的被普遍接受的定义。

混沌运动是确定性和随机性的对立统一, 即它具有确定性和随机性, 所谓确定性是指混沌运动是在确定性系统中发生的,可以用动力学方程形式表述, 这与完全随机运动有着本质的区别; 所谓运动具有随机性, 是指不能像经典力学中的机械运动那样由某时刻状态可以预言以后任何时刻的运动状态, 混沌运动倒是像其他随机运动或噪声那样, 其运动状态是不可预言的, 换言之, 混沌运动在相空间中没有确定的轨道。

混沌运动对初始状态(条件)具有敏感的依赖性, 只要对系统施加非常微小的扰动,就可能把系统从一个不稳定的周期运动转变到另一个不稳定的周期运动上去,也可能转变到另一稳定的运动状态上, 通过这个特性, 我们可以利用混沌有意义的一面, 而避其有害的一面。

Lorenz 系统作为第一个混沌模型,是混沌发展史上的一个里程碑, 具有举足轻重的地位。

对Lorenz 系统的深入研究无疑已经极大地推动了混沌学的发展。

人们发现混沌控制在众多领域中有着广阔的应用前景, 尤其在电子学、电力系统、保密通信和振荡发生器设计等领域有着巨大的应用前景, 因此引起了广泛的重视。

由于混沌行为对初始状态的敏感依赖性, 受到噪声、干扰以及系统不稳定的影响, 特别是在混沌同步中, 实际系统中很难观测到混沌同步。

自从1990 年, Pecora 和Carroll 提出了混沌同步的概念和方法以后,随着混沌同步研究的不断深入, 混沌控制与同步的研究工作得到了长足的发展, 并逐渐成为混沌与控制领域研究的热点。

对于相近的混沌轨道, 通过相同的非线性系统控制, 最终可能导致完全不相关的状态。

但在实际应用中, 往往要求控制得到相关的状态或所需要的同步结果, 本文采用了加入反馈控制量的方法使其耦合, 最终达到所要求的同步。

在计算机上的仿真结果显示, 能在短时间内实现耦合同步控制。

Lorenz 系统同步控制1963年,Lorenz 在研究大气对流时,在三维自治系统中发现了第一个混沌吸引子。

用动力学变量连续反馈来控制和驱动系统的运动是力学与电子工程中常用的方法。

取驱动信号为Lorenz 系统产生的变量x ,构成响应系统:d^ = _c(u 「V )u 0 dt dvau — v — uw v 0 dt dw , z 、b(uv - w) w 0 dt可以看出,由于系数(u o ,V o ,W o )的存在,两个系统的初始值是不同的。

我们知道,当Lorenz 系统方程中参数取值为: a = 28,b 二&3,c=10时,系统经过一段时间演化后将会进入混沌状态,那么,如果能够实现这两个系统的同步控制,则相应系统最终也会进入同样的混沌,当然我们希望所需时间越短越好。

下面,我们利用 MATLAB 软件进行数值模拟,程序如下:1.驱动系统微分方程:fun cti on dY=Lore nz_drive n( 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•响应系统:fun cti on[Y1] = Lore nz_resp on se(tspa n);global Y; global T; yi nit = [0.1,0.1,20]; y(1:3) = yi nit;tstart = 0; tstep = 0.1; wholetimes = 200; steps = 1; iteratetimes = wholetimes/steps; S=output; for i=1:iteratetimes现在我们用一个混沌信号去驱动另一个混沌系统。

设驱动系统为Lorenz 系统:dxdt dydt dzdt--c(x - y) =ax -y - xz = b(xy _z)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:iteratetimesTT(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], 而响应系统的初值为显然Z的初值相差很大。

在MATLAB界面窗口输入指令:Lorenz_response X-Z 相图图像:[0.1,0.1,20], ,可以看到以下改变相图的输出平面为Y-Z :其对应的Z 的时域响应图像分别是:50驱动0 L-10-5 0 5 10 15三.结论数值仿真的结果表明只要响应系统与驱动系统有相同的方程结构和参数 ,无论初值如何选取,都能迅速达到两个系统的混沌同步。

基于混沌同步的原理 ,我们可以提出一种混沌通信设计方案。

信息信号调制到混沌变量x(t)成为混沌传输信号 s(x, m),只要响应系统与驱动系统满足同步条件,两个系统就能达到同步,所以驱动系统的方程结构和参数空间(a,b, c)的一组数可作为信号解调的密钥,控制两个系统的同步,从而将信息信号复原,实现混沌保密通信。

运用控制手段,能消除初始状态对运动不确定性的影响,使混沌系统的运动最终按照人们的意愿发展。

因此,开展此类研究对混沌同步控制在实际应用中具有特别重要的价 值。

基于Logistic混沌映射的图像加密Logisitc 混沌由于混沌系统具有伪随机性、不确定性和对初始条件与系统参数的极为敏感性,其自身 的动力学特性使混沌现象天生具备了应用于保密安全的条件,6 4 22 4 6 8 10 12 14 16 18 20在图像加密领域表现出良好的应用前景。

利用混沌系统的初值敏感性可以提供数量众多、X n 厂 X n (1—X n ) [0,1](1)该序列具有初值敏感、表现形式复杂、类噪声等特点。

这些特性使得混沌序列在分布上不符 合概率统计学原理,难以重构和预测,应用于密码学具有保密性强、随机性好、密钥量大、 更换密钥方便等特点,是生成密钥流的理想序列。

二. 加密算法算法原理步骤:第一步:读取原图像Ximage 为Mix N 参数矩阵,根据Logistic 映射(1),利用密钥keyl 、 key2分别生成两组混沌序列 a 和b ,其中密钥即为序列初始值 x 0第二步:按照一定的权重(如 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 )来评估图像的置乱程度,它的计算为m n迟迟(X j -~j )2 SM(X,X)= ---------,⑵(X j -r j )2i =1 j =1其中X - {x i j } m n 表示原始图像,X - {x i j } m n 表示置乱图像,R - {r i j } m n 表示与原始图像 相同大小的均匀分布噪声图像。

三. 举例与分析下面以一副256X 256的图像lena.gif为例,根据上述算法利用 MATLAB^件进行图像非相关、类随机而又确定可再生的混沌序列作为加密序列。

本文选取一种典型的Logistic 混沌序列,如下:加密,加密程序如下:function jiamiclc;clear all ;global M;global N;global Ximage;global Yimage;Ximage=double(imread( 'C:\Program Files\MATLAB71\work\lena.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;endend key2=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*ra nd(M,N)).A2));DD=sy/sx %置乱度comeback; %解密解密程序:global Ximage;function comebackglobal M;global N;global Yimage;key1=input( '请输入密钥keyl :');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=rou nd(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。

相关文档
最新文档