1吉林农业大学毕业论文题目基于位运算的数字图像加密算法的研究学院信息技术学院专业班级电子信息科学与技术二班指导教师(姓名、职称)姓名2013年5月10日2论文评语:指导教师签字:2013年6月日评阅人签字:2013年6月日I摘要给出了一种混沌序列的非线性二值化方法,提出了一种基于位运算的数字图像加密算法。加密算法首先利用传统的混沌系统产生的混沌序列对图像进行位置置乱;其次对置乱后图像进行基于灰度值二进制序列的置乱操作;最后应用文中方法对结果图像灰度值的二进制序列按位进行异或运算。该方案的安全性依赖于随机混沌图像以及混沌系统的初始参数。借助MATLAB6.5软件平台编程实现,并研究了加密算法的抗破损能力。实验结果表明,该加密算法具有很好的安全性,在信息安全领域有较好的应用前景和研究价值。关键词:图像加密异或混沌系统IIAbstractAnonlinearbitsequencesgeneratingalgorithmbasedonchaoticsystemispresented,andanimageencryptionalgorithmbasedonbit-computationispresentedaswell.Firstly,theimageispretreatedbypermutationbasedonchaoticsystem;secondlythebitsequenceobtainedbythepixelgrayvaluearealsobepermuted;finally,thebitsequenceisoper2atedbyXORwiththepseudo-randomsequencegeneratedfromthechaoticsystem,Theexperimentresultsshowthatthealgorithmperformsconsiderablesecurity,whichhaswellresearchvalueandapplicationforegroundintheinformationsecurityfield.Keywords:imageencryptionXORchaoticsystemI目录错误!未找到引用源。1第1章引言目前主要有两种方式可实现对数字图像的保护:数字水印技术和数字图像加密技术.数字水印技术主要通过在被保护图像中加入水印信息实现版权保护,该技术并不改变被保护图像的内容信息[1];数字图像加密技术则是对被保护图像进行加密,使得被保护图像的内容不可见,从而实现了对该数字图像的保护[2].由于数字图像具有信息量大、相邻像素之间关联性较强等特性,所以传统基于文本的加密技术并不适宜于直接应用于数字图像的加密[3].混沌现象是一种普遍存在的自然现象,混沌系统的伪随机性、初值敏感性和无周期等优良特性使混沌系统在密码学领域获得了广泛应用.应用混沌系统于图像加密的关键是对生成的混沌序列的二值化转化.文献[4]提出了一种混沌序列二值化方法,但安全性较差.文献[5]对文献[4]的离散化过程进行了改进,虽可增强安全性,导致其算法效率过低,对于长序列的实用性不强.文中给出一种基于位运算的数字图像加密算法.该方法主要分为置乱加密和异或运算两个步骤,由于整个加密过程均基于数字图像的灰度值二值化矩阵进行,因此可保证加密过程具有较好的安全性.为了有效提升加密算法的安全性,文中还给出了一种非线性二值伪随机序列离散化方法.实验结果表明,文中算法的加密和恢复效果良好2第2章加密算法的设计2.1基本理论2.1.1混沌理论现代科学意义上的混沌是个难以精确定义的概念,不同领域的科学家往往对其作出不同的定义。1975年Li等人[13]给出了混沌的一个数学定义,这也是第一次赋予混沌这个词以严格的科学意义。混沌的李—约克定义如下:设连续自映射f∶i→IR,I是R中的一个闭区间,如果存在不可数集合SI满足:a)S不包含周期点。b)任给X1,X2∈S(X1≠X2)有limi→∞sup|fi(X1)-fi(X2)|>0(5)limi→∞inf|fi(X1)-fi(X2)|=0(6)其中,fi(·)=f(f(···f(·)))表示i重函数关系。c)任给X1∈S及f的任意周期点P∈Ilimi→∞sup|fi(X1)-fi(P)|>0(7)则称f在S上是混沌的[13]。由李—约克的定义可见,他们是用非周期、敏感初条件和有界三个方面的本质特征来对混沌进行刻画的。产生混沌信号的迭代方程有很多,比较典型的有Logistic、Henon、Quadratic和MacKeyGlass等混沌映射方程。目前的研究文献大多集中于Logistic混沌序列方程。2.1.2Logistic混沌映射理论:一维Logistic映射从数学形式上来看是一个非常简单的混沌映射,早在20世纪50年代,有好几位生态学家就利用过这个简单的差分方程,来描述种群的变化。此系统具有极其复杂的动力学行为,在保密通信领域的应用十分广泛,其数学表达公式如下:3Xn+1=μXn(1-Xn),μ∈[0,4],X∈[0,1]其中μ∈[0,4]被称为Logistic参数。研究表明,当X∈[0,1]时,Logistic映射工作处于混沌状态,也就是说,有初始条件X0在Logistic映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。如下图2-1所示:图2-1可以看出,在μ的取值符合μ∈[0,4]的条件,特别是比较靠近4时,迭代生成的值是出于一种伪随机分布的状态,而在其他取值时,在经过一定次数的迭代之后,生成的值将收敛到一个特定的数值,这对于我们来说是不可接受的。下图中描述了X0值一定时,对于不同的μ的取值,迭代可能得到的值,如图2-2,图中的点即表明了所有可能的X取值范围。从图中我们可以看出,在μ越接近4的地方,X取值范围越是接近平均分布在整个0到1的区域,因此我们需要选取的Logistic控制参数应该越接近4越好。在μ的值确定之后,我们再来看看初始值X0对整个系统的影响。刚才也说过了,混沌系统在初始值发生很小变化时,得到的结构就会大相径庭,在Logistic混沌映射中也是如此。4图2-2上图显示的是X0=0.663489000和X0=0.663489001,μ=3.99时两个Logistic序列之差的图像,很明显,在最开始20多次迭代,两者的差很小,近似等于0,但随着迭代次数的增加,两个序列的值显示出一种无规律的情形,两者相差也比较大了。因此可以看出该系统具有很好的雪崩效应。我们在使用Logistic混沌系统时,可以先让系统先迭代一定次数之后,再使用生成的值,这样可以更好地掩盖原始的情况,使雪崩效应扩大,这样可以具有5更好的安全性。最后我们再来看看Logistic的随机分布特性,一个好的伪随机序列应该有比较平均的分布,也就是说,每个数出现的概率应该是相等的。我们对X0=0.2,μ=3.9999的Logistic混沌映射进行30000次迭代后对其值进行统计,分布情况如下表2-1所示:表2-1分布区间个数所占百分比0-0.1591919.73%0.1-0.226858.95%0.2-0.322187.39%0.3-0.421407.13%0.4-0.518906.30%0.5-0.619736.58%0.6-0.719376.46%0.7-0.823107.70%0.8-0.927339.11%0.9-1619520.65%6从上表中我们可以看出,Logistic映射的迭代序列的分布并不是均匀的,对于其他的X0取值也有类似的结构。而且从表中我们还可以看出,其分布是一种两头大中间小的情形。虽然分布情况并不是很平均,但是对于一般情形来说,Logistic映射序列是可以满足我们的需求的。而且我们可以对其想办法加以改进,使之可以获得更好的平均性。本文对Logistic混沌映射进行了一些粗浅的分析,分析了控制参数对其的影响、Logistic的雪崩效应、序列值的分布情况。在初值和控制参数都会改变的情况下,该系统还是具备很好的安全性的。目前已经有很多人提出基于Logistic的改进算法,很好地改进了平均性。Logistic算法在图像加密领域已经有不少论文出现,目前对其的研究也很成熟了,我们可以对其加以改进使之符合矢量数据加密的要求。研究表明,当3.569≤μ≤4时,Logistic映射于混沌态。这时对应的迭代序列非周期、非收敛,对初始值强敏感,产生出的序列呈现出混沌状态[14]。Logistic映射对μ值和初值X0具有敏感的依赖性。对于不同的μ值,Logistic映射呈现不同的特性。随着μ值的变化,不断出现倍周期分岔,直到出现混沌状态。当系统进入混沌状态时,由初值X0在Logistic映射的作用下将产生具有0均值、δ-like型自相关性和互相关性为0的混沌序列,产生的混沌序列的遍历性等同于白噪声。在初值相差甚微的情况下,当n≥24时,两个Xn就有很大的差别。2.1.3灰度图像及直方图一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。7通道是整个Photoshop显示图像的基础。色彩的变动,实际上就是间接在对通道灰度图进行调整。通道是Photoshop处理图像的核心部分,所有的色彩调整工具都是围绕在这个核心周围使用的。在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。若图象具有L级灰度(通常L=256,即8位灰度级),则大小为m(n的灰度图象f(x,Y)的灰度直方图H[k],k=0…L-1,可按如下步骤计算获得:(1)初始化:for(k=O;kL;k++)H[k]=O;(2)统计:for(x=O;xm;x++)for(y=O;yn;y++)H[f(x,y)]++;(3)规格化:flOr(x=O;xm;x++)for(y=O;yn;y++)H[f(x,y)]/=float(m(n)直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。直方图均衡化变换:设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象Ii(x,y)转换为输出图象Io(x,y),输入图象的直方图为Hi(r),输出图象的直方图为Ho(s),则根据直方图的含义,经过灰度变换后对应的小面积元相等:Ho(s)ds=Hi(r)dr变换函数f(r)必须满足下列2个条件:(1)f(r)(O(r(1)是单值函数、且单调增加;(2)O(f(r)(1,(O(r(1)。上面第一个条件保证了灰度级从黑到白的次序,第二个条件保证了变换后象素的灰度级仍然在容许的范围之内。r=f-l(s)为逆变换函数,同样也要满足上述条8件。直方图修正的例子假设有一幅图像,共有64(64个象素,8个灰度级,试进行直方图均衡化处理。根据公式可得:s2=0.19+0.25+0.2l=O.65,s3=0.19+0.25+0.2l+O.16=0.8l,s4=0.89,s5=0.95,s6=0.98,s7=1.00。由于这里只取8个等间距的灰度级,变换后的s值也只能选择最靠近的一个灰度级的值。因此,根据上述计算值可近似地选取:sO1/7,s1¨3/7,s2¨5/7,s36/7,s4¨6/7,s5¨1,s6¨l,s7¨1。可见,新图像将只有5个不同的灰度等级,于是我们可以重新定义其符号:s