基于保面积Baker映射的混沌图像加密方法与流程

文档序号:11865824阅读:892来源:国知局
基于保面积Baker映射的混沌图像加密方法与流程
本发明涉及一种图像加密方法,特别涉及一种基于保面积Baker映射的混沌图像加密方法。
背景技术
:传统加密方法(如DES,RSA等)都是用在数据量较小的环境,虽然能够有效保护多媒体版权,增强数据安全性。但多媒体数据(包括视频,音频,图像等)相关性强,数据量大。使用传统加密方法,在多数场合需要大量系统开销。因此,任何有可能增加算法复杂度的操作,都将拉低整个加密系统的效率,影响实用效果。混沌系统对初始值非常敏感,初始状态发生轻微的变化,经迭代后所产生的混沌序列大不一样。而且混沌序列亦有良好随机性,此两点特性与密码学密钥不确定性要求契合。混沌轨道的混合特性亦与加密体制中扩散性相吻合。理论特性上的关联让二者结合成为必然。从理论上讲,混沌系统产生随机数列是无限、不循环、无周期的序列;而实际上,计算机受计算精度限制,每次运算都会丢失部分数据,产生一定误差。现阶段,人们提出以下三类新混沌图像加密方法:1、基于复杂混沌系统图像加密方法。如:基于超混沌系统进行先后两次扩散加密方法等。2、在变换域中进行图像加密方法。如:结合DCT对DC系数进行扩散和置乱加密方法,基于WT的卫星混沌加密方法,基于FrWT混沌图像加密方法等。3、基于量子混沌系统图像加密方法。如:使用量子混沌的物理过程对图像进行加密,用量子混沌非线性方程对图像加密。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种基于保面积Baker映射的混沌图像加密方法。该方法过程简单,不仅能够增强时空复杂度,解决计算机精度限制问题,而且能够增大加密算法的复杂性。同时由于文中混沌系统采用比普通混沌更加复杂的量子混沌系统,量子混沌系统中,扰动量的加入使得混沌系统非周期性更好,序列随机性更强,同时普通混沌系统具有的“固定点”和“稳定窗”的问题也得到了改善和解决。一种基于保面积Baker映射的混沌图像加密方法,包括以下步骤:(1)输入大小为N×M像素的原始图像,这里定义每个像素点的长和宽均为1。(2)分割图像:图像沿水平方向分割成k个(k是能被N整除的正整数,可任意定义满足要求的数)小矩形块,每个矩形块有N×ni个像素,分割后每个矩形块的宽度为m。将分割后的小矩形块继续沿着竖直方向分割成ni个子块。在每个大矩形块内包含N×ni个像素,分割后子块的长度为n。因此再将其分割成ni个小矩形后,每个小矩形恰有N个像素,分割后的子块大小为n×m。(3)在每个分割后的n×m大小的矩形块中,按照从左往右从上往下顺序依次取读,得到如下像素点的位置序列:(0,0),(0,1),......,(0,n-1)(1,0),(1,1),.......,(1,n-1)...(m-1,0),(m-1,1),......,(m-1,n-1)]]>再利用保面积Baker映射依次对其像素进行运算。依次对分割后的每一个矩形块按照上述方法进行Baker映射运算。完成一次Baker映射置乱运算。为满足实际应用需要将整个图像多次进行置乱,这里将次数定义为S,并将S作为密钥之一(其大小可以根据需要设定,考虑到次数太多会影响性能,在实际使用中置乱次数取50~200次之间)。其所使用的保面积Baker映射如下:B(x,y)=(2x,y/2)0≤x<1/2=(2x-1,y/2+1/2)1/2≤x<1]]>为将Baker映射使用到本方法中,需要对映射进行一些变换,原映射中x∈(0,1),为适应本方法,需要将其扩大。得到如下的保面积Baker映射。B(x,y)=(2x,y/2)0≤x<n/2=(2x-n,y/2+m/2)n/2≤x<n]]>(4)把置乱后图像的每个像素点以一维数组C的形式读取,将像素点用二进制形式表示成一维数组C中的元素。(5)由外部密钥xo,y0,z0,r0,β作为量子Logistic混沌系统的初始值进行迭代,舍弃开始迭代的前k次的值(为了方便起见这里的k值使用(1)步骤中的k)。再迭代N×M次,并将每次迭代的x,y,z的值分别保存在EX,EY,EZ三个序列中,其中EX表示x方向上的混沌序列,EY表示y方向上的混沌序列,EZ表示z方向上的混沌序列。量子Logistic混沌系统如下:xn+1=r(xn-|xn|2)-rynyn+1=-yne-2β+e-βr[(2-xn-xn*)yn-xnzn*-xn*zn]zn+1=-zne-2β+e-βr[2(1-xn*)zn-2xnyn-xn]]]>式中r为可调参数,β是耗散参数,xn、yn、zn是系统的状态值,分别是xn和zn的复共轭。系统参数取值范围r∈(3.74,4.00),β≥3.5,状态值x∈(0,1),y∈(0,0.2461),z∈(0,0.2461)这些参量的值可以在满足以上条件的前提下,任意选定。(6)然后把EX,EY,EZ这三个序列进如下变换:FX[i]=mod(|EX[i]|×1012,1000)FY[i]=mod(|EY[i]|×1012,1000)FZ[i]=mod(|EZ[i]|×1012,1000)]]>变换得到FX,FY,FZ序列。变换的目的是将得到的小数序列转换成整数序列,为了方便后续的计算,这里还需要将十进制形式的序列转换成二进制形式。(7)将FXi异或FYi,再将结果再次异或FZi得到加密序列P。(8)然后对置乱后图像序列C进行下式运算:C1(i)=mod(C(i)+P(i),256)⊕C1(i-1)]]>即可得到加密序列C1。(9)把加密后的序列恢复成图像,完成整个图像加密过程。本文使用一种复合混沌加密算法对图像进行加密研究。先使用保面积Bakert映射对图像进行多次分块置乱,再结合量子Logistic混沌系统对置乱后图像进行异或加密运算,首次采用了这种新的图像加密算法。文中使用的量子Logistic混沌系统物理结构相对简单,但是量子混沌系统中扰动量的存在使得系统非线性动力学特性复杂,同时也解决了计算机精度丢失问题,加大了破译的难度。而且该算法加密效果良好,敏感性强。因此,该方法能够有效的保护图像安全。附图说明图1是整个加密过程流程图;图2是加密前原始图像;图3是整体置乱后图像;图4是完成加密过程后的图像。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例如图1,基于保面积Baker映射的混沌图像加密方法进行图像加密的具体过程如下:(1)选取如上图2所示的大小为256×256的图像为实验对象。(2)分割图像:设定k值,这里选取k=32。沿水平方向把图片分割成32个矩形块。每个矩形块有256×8个像素。再把图像沿竖直方向分割成8个矩形块,那么每一个小矩形由256个像素组成,每个矩形块的大小为32×8。(3)在每个分割后的32×8大小的矩形块中,按照从左往右从上往下顺序依次取读每个像素点的位置(即第一个像素点的坐标为(0,0),依次类推)得到如下的序列:(0,0),(0,1),......,(0,31)(1,0),(1,1),.......,(1,31)...(7,0),(7,1),......,(7,31)]]>依次对每一个坐标利用保面积Baker映射对其进行运算,得到该坐标的新的位置。并将像素点按照每个新的位置重新排列,完成该小矩形块的加密过程。再对所有的分割后的小矩形块中的每个像素点进行上述同样的运算,完成该轮置乱运算。为达到更好的加密效果,需对整个图像进行多次置乱,这里次数值S取值为83,对置乱加密进行83次循环,对图像进行多次置乱。完成整个置乱过程后,图像如图3所示。(4)把置乱后的图像以一维数组C的形式从上往下,从左往右的顺序读取,得到如下的一维数组C={00101101,0101110,10111010,11011011,…,C256×256}。(5)生成加密序列:加密序列由量子Logistic混沌映射迭代得到,本实例中使用以下参数:x0=0.85845654,y0=0.03624551548,z0=0.02548634197r0=3.821,β0=4.231作为量子Logistic混沌系统的初始值迭代。将初始迭代值代入量子Logistic混沌映射方程中,舍弃前16次的值,然后再迭代256*256次,取x的迭代值得到混沌序列EX={0.8319321839,0.8081942841,0.7391382913…,EX256×256},取y的迭代值得到混沌序列EY={0.0321817542,0.0301387401,0.0279164138…,EY256×256},取z的迭代值得到混沌序列EZ={0.0235964183,0.0211387403,0.0207916438…,Y256×256}。(6)然后把EX,EY,EZ这三个序列进如下变换:FX[i]=mod(|EX[i]|×1012,1000)FY[i]=mod(|EY[i]|×1012,1000)FZ[i]=mod(|EZ[i]|×1012,1000)]]>变换得到序列:FX={839,841,913…,FX256×256},FY={542,401,138…,FY256×256},FZ={183,403,438…,FZ256×256};将十进制序列转换得到二进制序列,因为图像是用的8位的图像,这里转换成二进制的过程中,在序列转换时,只取二进制的前8位来加密。得到:FX={11010001,11010010,11100100…,FX256×256},FY={10000111,11001000,10001010…,FY256×256},FZ={10110111,11001001,11011011…,FZ256×256}(7)使用FXi异或FYi再次异或FZi得到序列:P={11100001,11010011,10110101...,P256×256}。(8)对置乱后图像序列C进行运算,(由于第一个元素没有前项,因此第一个元素不做上式中的异或运算。)按照以上运算得到加密序列C1={00001110,00101100,10000001,....C256×256}。(9)把加密后的序列再恢复成图像,如上图4所示,完成这个图像加密过程。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1