基于混沌映射的图像加密算法
- 格式:pdf
- 大小:364.73 KB
- 文档页数:4
基于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映射置乱算法则是通过对图像像素进行乘积操作,实现图像像素值的混乱。
这两种置乱算法具有较高的随机性和不可逆性,能够有效地保障图像的安全性。
基于混沌的图像加密算法具有以下优势:第一,混沌映射和置乱操作具有高度的随机性和不可线性特征,使得加密过程中产生的密钥和置乱后的图像难以被破解和恢复。
这大大增强了图像的安全性。
第二,基于混沌的图像加密算法具有较好的抗攻击性。
混沌系统的不可预测性和随机性能够防止统计分析和密码分析等攻击手段。
基于混沌算法的图像加密技术研究图像加密技术是一种将数字图像转化为不可读的密文,以保护图像的安全性和隐私性的方法。
在信息传输和存储过程中,图像加密技术起到了至关重要的作用。
随着计算机技术的不断发展,混沌算法作为一种新型的加密技术,逐渐引起了研究者们的兴趣。
本文将以基于混沌算法的图像加密技术为研究主题,系统地介绍混沌算法在图像加密中的应用和研究成果。
首先,我们来了解一下混沌算法。
混沌是一种表现出无序、不可预测性和敏感性依赖于初始条件的动态行为的系统。
混沌算法通过利用这种系统的特性,将图像中的像素值进行随机重排或者替代,以实现对图像的加密。
在基于混沌算法的图像加密技术中,最常见的方法是混沌映射法。
混沌映射法通过选择适当的混沌映射函数,将图像中的像素值和密钥进行混淆,从而实现图像的加密。
常用的混沌映射函数有Logistic映射、Tent映射、Henon映射等。
这些映射函数具有迭代快速、初始值敏感等特点,能够有效地对图像进行加密。
在具体的图像加密过程中,混沌算法通常与其他加密算法结合使用。
最常见的是混合加密算法,即将混沌算法和传统的对称加密算法(如AES算法)结合使用。
首先,将图像进行分块处理,然后使用混沌算法生成随机数序列作为密钥,并将密钥和图像的像素值进行异或操作。
接下来,采用对称加密算法对密钥进行加密,进一步提高了图像的安全性。
在解密过程中,按照相反的步骤进行操作,即先使用对称加密算法解密密钥,再将密钥和密文进行异或操作,最后利用混沌算法恢复原始图像。
除了混淆像素值和密钥之外,基于混沌算法的图像加密技术还可以采用其他手段对图像进行加密。
例如,可以通过对图像进行像素位移、差分扩散、像素替代等操作,进一步增加图像的复杂性和随机性,提高加密强度。
此外,还可以引入模糊化技术和水印技术,使得加密后的图像满足一定的鲁棒性要求,以增强图像的安全性和可用性。
基于混沌算法的图像加密技术具有许多优点。
首先,混沌算法具有天然的随机性和不可预测性,能够充分满足图像加密的安全性要求。
基于混沌系统的图像加密算法研究随着图像技术的发展,图像加密技术已经成为了一个不可避免的问题。
现如今,在数字化信息传输中,尤其是在网络传输中,保证信息的安全性是非常重要的。
而其中,图像加密技术是保护图像信息安全的重要手段之一。
然而,传统的图像加密算法效果不佳,易受到攻击,因此研究基于混沌系统的图像加密算法显得尤为重要。
一、混沌系统的基本原理与应用混沌系统是一种复杂的动态系统,具有分形性、敏感性依赖性和随机性等特征。
其中,分形性表现为系统的自相似性,敏感依赖性表现为系统对初始条件和参数的敏感度非常高,随机性表现为系统长期的运动是不可预测的,因此,混沌系统的引入能够提高加密算法的随机性,保证信息传输的安全性。
混沌系统在信息安全中的应用有很多,除了图像加密算法,还有数据加密算法、语音加密算法等等,都可以利用混沌系统的特性提高其安全性。
二、基于混沌系统的图像加密算法的特点基于混沌系统的图像加密算法有以下特点:1、加密过程快速:混沌系统的计算具有快速性能,能够有效提高加密算法的速度。
2、加密效果好:通过混沌系统复杂的运动轨迹,可以使得图像加密后的像素点分布更加随机,增强了加密的随机性和不可预测性,保证信息的安全性。
3、加密系统具有可调性:通过调整混沌系统的参数,可以实现加密算法的可调性,进一步提高加密算法的安全性。
三、基于混沌系统的图像加密算法研究进展目前,关于基于混沌系统的图像加密算法的研究,已经取得了很大的进展。
其中,比较有代表性的算法有:1、Arnold变换和混沌映射Arnold变换是一种二维置换运算,可以将图像像素进行充分的混沌映射。
同时,通过与混沌映射相结合,加强了加密算法的随机性和不可预测性,保证了信息的安全性。
2、离散余弦变换和混沌置乱离散余弦变换是一种常用的图像压缩算法,也可以用于图像加密。
通过与混沌置乱相结合,可以使压缩后的图像得到更好的保护,同时保证加密算法的安全性。
3、混沌加法和混沌变换混沌加法和混沌变换可以同时作用于图像像素的映射,增加了加密算法的复杂度和随机性,保证了信息的安全性。
基于混沌理论的图像加密算法第一章:引言现代社会中,信息安全一直是一个倍受关注的话题。
随着技术的发展和网络的普及,人们越来越需要一种高效、安全的加密算法来保护自己的信息。
图像作为一种常见的信息载体,其保密性也备受关注。
传统的加密方法已经不能满足人们的需求,基于混沌理论的图像加密算法因其优异的加密性能和抗攻击性能而备受研究者的关注。
本文将重点介绍基于混沌理论的图像加密算法。
第二章:混沌理论2.1 混沌理论概述混沌理论起源于对复杂系统运动规律的探索,在这些系统中,微小差别对系统的演化产生极大影响。
混沌系统表现出非周期、高度敏感的特征,其抗干扰性能优异。
2.2 混沌系统的特征混沌系统具有高度不稳定、迹象性无序、非周期性、高度敏感性等特点,这些特点使之成为一种非常优秀的加密工具。
基于混沌系统的加密算法也因其不可预测性而备受关注。
第三章:基于混沌理论的图像加密算法3.1 混沌映射混沌映射是基于混沌理论的重要工具,在图像加密算法中也得到广泛应用。
其具有宽带噪声、复杂性、不可预测性等特点。
3.2 基于混沌映射的图像加密算法基于混沌映射的图像加密算法主要包括图像置乱和加密两个过程。
在图像置乱过程中,通过使用混沌映射对图像像素进行乱序排列,使之达到任意混沌的效果。
加密过程则通过使用混沌映射对乱序图像进行加密,从而实现对图像的加密保护。
3.3 基于混沌扰动的图像加密算法基于混沌扰动的图像加密算法也是一种常见的加密方式。
其主要通过使用迭代映射的方法对图像像素进行扰动,使之达到混沌效果。
同时,在加密过程中,算法使用密钥对图像像素进行加密,提高加密的安全性。
第四章:基于混沌理论的图像解密算法4.1 图像解密算法图像解密算法需要和图像加密算法成对使用。
与加密过程相反,解密过程需要使用密钥解密图像像素,并且对乱序的像素进行重排。
目前,基于混沌理论的图像解密算法主要包括解密置乱算法和解密扰动算法两种。
4.2 基于混沌映射的图像解密算法基于混沌映射的图像解密算法主要是通过使用密钥和混沌映射对加密的图像像素进行解密,并通过对乱序像素进行重排来实现解密。
基于混沌映射的图像加密与解密技术研究随着信息技术的不断发展,数字图像的处理和传输越来越重要,而图像的安全问题也愈加凸显。
在传输过程中,图像的隐私性和完整性都会面临着被泄露和篡改的风险,因此,图像加密技术的研究更加迫切。
而基于混沌映射的图像加密技术,其独特的特点和优势越来越被人们所关注和应用。
混沌映射的特点混沌映射是指在迭代过程中,产生一种不可复制和不可预测的随机序列。
这一序列通过将初始值输入到某类数学函数中,然后迭代或密集计算,会生成一组看似毫无规律的数列,但却有一定的统计特征,比如自相关性和互相关性等。
混沌映射的特点就是:灵敏依赖于初始值和参数的微小变化,可扩散性和不可预测性。
基于混沌映射的图像加密过程基于混沌映射的图像加密过程主要分为三个步骤:密钥初始化,明文置乱和加密。
密钥初始化密钥初始化是指通过某种方式生成一个长密钥来初始化加密系统,密钥含有一定的混沌特性,可以保证其随机性和安全性。
具体实现方法可以是基于系统时间、用户输入、硬件设备等因素来生成随机数。
明文置乱明文置乱指对原始的图像进行一定的混淆和置乱操作,以使加密后的图像无法还原到原始状态。
常用的方法是利用混沌映射来为图像生成随机序列,将影像像素按照随机序列进行置乱,这样原来相邻的像素点就被分散到不同的位置。
加密加密是指将置乱后的图像和密钥通过某种运算产生一个密文。
在基于混沌映射的加密方法中,主要使用了异或和置换方法。
异或操作是将明文和密钥进行逐比特异或运算,得到密文;置换操作是将像素点位置进行随机移位,得到加密后的图像。
基于混沌映射的图像解密过程基于混沌映射的图像解密过程和加密过程类似,也分为三个步骤:密钥初始化,密文解密和明文还原。
密钥初始化密钥初始化时,需要确保解密系统使用的密钥与加密时使用的密钥完全一致,以便正确进行解密操作。
密文解密密文解密是指将加密后的图像通过运算还原回原始的图像,常用的方法是将密文和密钥进行异或运算和像素位置随机移位,还原出加密前的像素点信息。
基于混沌映射的图像加密算法性能研究混沌映射是一种不可预测的动态系统,其输入和输出之间的关系呈现出复杂的非线性特征。
近年来,随着计算机技术的进一步发展,混沌映射在信息安全领域中得到了广泛的应用。
图像加密是信息安全领域中的一个重要研究方向,而基于混沌映射的图像加密算法正成为研究热点。
本文将就基于混沌映射的图像加密算法的性能进行研究与探讨。
1. 混沌映射及其应用混沌系统是一类包含非线性和随机性质的系统,它们的行为是难以预测的。
混沌映射则是指一种以某一初始状态为输入,不断迭代产生新状态的映射。
混沌映射具有随机性和非线性特征,可被应用于密码学、图像加密等领域。
基于混沌映射的加密算法具有不可预测性、鲁棒性、高效性等优点,近年来得到了广泛的应用。
2. 图像加密算法概述图像加密是指对原始图像进行特定方式的处理,以达到保密和安全传输的目的。
图像加密算法一般包括两个主要步骤,分别是加密与解密。
加密过程中,利用密钥从明文图像中生成加密的图像,使其难以被破解;解密过程则是通过相同的密钥将加密后的图像还原成原始图像。
图像加密算法需满足保密性、密钥安全性、抗攻击能力、加密解密速度等要求。
3. 基于混沌映射的图像加密算法基于混沌映射的图像加密算法运用了混沌映射的随机性和非线性特征,实现了对图像的可靠加密和解密。
该算法主要分为以下步骤:3.1 图像的分割首先,将原始图像分成若干个块,每个块都可看作一个矩阵。
分割过程可以按照不同的规则进行,例如按照列数、行数、指定像素、图像的灰度值等方式进行分割。
3.2 混沌映射接着,将每个块进行混沌映射加密。
混沌映射算法主要包括 Logistic 映射、Henon 映射、 Lorenz 映射等,具体采用哪种混沌映射算法可根据具体情况进行调整。
3.3 块加密将混沌映射产生的随机数以及密钥结合,采用异或运算或其它方式对每个分块进行加密。
该过程可以根据具体应用需求进行调整,比如可以采用加减运算、乘除运算等方式进行。
基于混沌的图像加密与解密算法研究随着科技的不断发展,网络通信与信息传输已经成为了人们生活中必不可少的一部分。
而在这些通讯过程中,保密性与安全性是必须要考虑的一个因素。
如果信息在传输过程中被他人窃取或篡改,那么造成的后果将是不可估量的。
因此,加密算法就成为了保障信息安全的一个重要手段。
在保障信息安全这个过程中,加密算法的安全性被认为是至关重要的。
一般来说,加密算法的安全性是指在未知密钥情况下,即使攻击者拥有了大量加密数据,也不能破解加密算法,从而获得明文的过程。
而目前基于混沌现象的图像加密算法应用越来越广泛,主要由于其高效、强大的随机性和不可复制性。
那么,什么是混沌?简单来说,混沌是一种在确定性条件下出现的随机性现象。
即体现出完全随机性的样子,但是却有规律可言,具有不可预测性和不可复制性,因此我们可以运用混沌现象进行加密。
基于混沌的图像加密算法,是一种基于混沌现象加密技术的图像保护技术,它通过在两个加密轮中融合Lorenz混沌系统、Arnold变换和置乱加密方式,来保护原始的图像信息。
其优点在于具有高保密性、鲁棒性强、隐藏效果好等优点。
不仅如此,这种加密方式也可以应用于数字音频、视频等数据的加密保护中,使得加密通信具备鲁棒性、隐秘性和可扩展性等特点。
具体来说,基于混沌的图像加密算法的实现可以分为以下几个步骤:第一步是混沌序列生成。
混沌序列的生成是加密算法中最重要的部分,其目的是生成一个不可预测的伪随机序列。
混沌序列通常是由某种混沌系统产生的,其中最常用的混沌系统为Lorenz系统,该系统可以产生不可预测的随机序列。
第二步是Arnold变换。
Arnold变换是一种置换变换,它将原始的图像通过矩阵运算进行重组,使其成为一个加密状态。
通过Arnold变换,原始图像的像素被重新安排在了一个特定的顺序里,从而保证了加密性。
第三步是置换加密。
置换是通过将加密后的图像像素位置进行随机置换来增加加密难度。
原始图像像素的置换序列可以通过混沌序列进行生成,而变换后的图像像素位置可以通过这个序列得到。