随着网络和计算机技术的发展,多媒体安全的研究成为了人们的热点,特别是利用混沌的优点来保护数字图像被认为是图像加密中很有希望的研究领域之一。有专家提出了一种基于高维混沌的图像加密算法,其过程包括两个阶段:首先是利用Arnold猫映射对原图像像素的位置进行置乱,其次是利用Lorenz混沌系统产生的值来加密置乱后的像素值,最后,通过以上两个部分可以得到密文图像。
但是这种图像加密算法在图像安全性上有许多优点包括密钥敏感性和大密钥空间等,同时也存在着一些能够被攻击者利用的缺陷,那么我们今天就针对这种高维混沌图像加密算法做一些列改进,让它更有利于图像文件加密。
一、基于高维混沌图像加密算法所隐含的缺点
基于高维混沌图像加密算法存在两个缺陷:
1)(0,0)像素位置没能被改变同时位置的置乱和灰度值的替换之间缺少联系。
由于Arnold猫映射固有的缺点,所以原算法无论经过多少轮的迭代,原图像(0,0)像素位置始终没有被改变,即如果(x0,y0)=(0,0),经过n轮迭代,(xn0,yn0)=(0,0)。同时,位置的置乱和像素的替换是逐个像素单独进行,而在两个像素之间却缺少关联。因此,由于该加密算法对加密图像缺少必要的扩散效果,这样对于选择明文攻击来说是可行的,攻击者可以利用一些特殊的图像(例如两幅只有一个像素不同的图像)来进行算法的分析,从而找出该图像加密算法中像素置乱的规则。图1说明了当两幅明文图像中有一个像素点有变化时,用原算法进行加密得到的密文图像也只有一个像素有变化。其中明文图像为标准Girl灰度图像,系统参数和初始条件如下:对于Arnold猫映射:p=25,q=5,迭代次数M=7,对于Lorenz混沌系统:x0=1.8552,y0=1.2254,z0=1.2545。
2)所产生的加密数据流仅依赖于Lorenz混沌系统的初始条件而与明文没有关联。
原算法所产生的加密数据流{bx,by,bz}仅依赖于Lorenz混沌系统的初始条件x0,y0,z0,而与图像明文没有任何关联。这样,当混沌系统的初始条件没有改变,所对应的加密数据流{bx,by,bz}也不会发生变化。这对于抵抗已知明文攻击来说非常脆弱。例如,一个攻击者可以利用大量已知的明文和密文对(di,ci)(注:这些明文和密文对分别来自于d={d1,d2,......,dN×N}和c={c1,c2,......,cN×N},其中d是图像像素经过置乱后由图像像素值所排列成的二进制序列流,c是密文序列流)来产生加密所需要的数据流,从而可以解密用此密钥加密的密文图像。其数据流恢复的过程如下:
首先,把原加密算法中图像像素值替换公式进行等价变换。
可以注意到,经过上面的变换,等式左边的运算结果是一致的。
第二,把式(1)中的结果再进行以下等价变换,就可以得到解密用的密钥数据流(其中i=1,2,......代表对Lorenz混沌系统进行第i次迭代):
如果利用选择明文攻击的特点来考虑这个缺陷,当两幅图像用相同的密钥进行加密(其置乱规则已知),我们就可以充分利用其中一幅图像的明文和密文对异或后产生的数据流by⊕bx,bz⊕by,bx⊕bz来恢复另一幅明文图像。其原因在于当攻击者得到数据流by⊕bx,bz⊕by,bx⊕bz之后,就等于得到了原算法的密钥。图2给出了利用选择明文攻击的例子(加密密钥同上对第一个缺陷的分析),可以得出,当用相同的密钥加密两幅不同的图像时(标准Lena和Girl灰度图像),如果从一幅图像中得到了数据流by⊕bx,bz⊕by,bx⊕bz,则另一幅图像就可以完全恢复出来。
二、对原算法的安全性和效率的改进
1、安全性改进设计
根据前面我们介绍的内容,为了解决原算法在安全性上的缺陷,我们提出了以下4点改进方法:
1)由于Arnold猫映射在进行图像置乱中对于(0,0)位置上的像素不起任何作用,因此,可把(0,0)位置上的像素和一个固定位置(i,j)(0<i≤N,0<j≤N)的像素在每轮迭代过程后进行交换。这样,前一轮(0,0)位置的像素就可以在下一轮迭代中被置乱。其中(i,j)可以被看作密钥进行控制。
2)针对原算法中像素位置置乱和像素值替换之间缺少关联的缺点,对原算法中两个加密步骤统一进行多轮迭代,即每一轮迭代都会进行位置置乱和像素值的替代。
3)由于原算法中加密数据流{bx,by,bz}的产生只是简单地依赖于Lorenz混沌系统的初始条件,这样很有可能被攻击者所利用,因此,应使数据流不但依赖于Lorenz混沌系统,同时也与明文相关。
4)对于加密数据流{bx,by,bz},在改进设计中,它的产生应该以一个链式结构递推进行,即在任意两个像素之间都应该有关联。这样,经过多轮迭代之后,就能取得较好的置乱和扩散效果。
2、加密速度改进设计
对于原算法,如果只进行以上的改进,则安全性将得到很大程度的提高。但是,要想取得较为满意的置乱和扩散效果,则需要进行多轮(轮数n>42)加密,这显然不符合实际应用中图像加密的需要,其原因就在于此算法的置乱效果只依赖于置乱阶段,而扩散效果也只依赖于扩散阶段。
为了在较少的加密轮数就能取得令人满意的加密效果,我们可以通过在算法框架结构中添加一些简单的运算操作(如查表操作,异或操作)来实现。在本加密算法的改进中,两个简单的异或操作(XOR)被分别引入到了置乱阶段的前面和后面,而其他的操作步骤没有发生变化。这样,在第一个阶段,像素位置的置乱和像素值的替换是同时进行的,而第二个阶段的像素变换也增加了扩散的效果。这样改进的结果是扩散效果不单是依赖于扩散阶段,而且还与置乱阶段有联系。因此,在较少的加密轮数下就能取得同样的加密效果,而加密速度却得到了很大的提高。对于这两个异或操作来说,第一个异或操作是把前一个被处理后的像素值和当前的明文像素值进行运算(顺序是按行从上到下,从左到右进行),其中第一个像素要和一个固定的密钥值进行异或,而最后一个处理后的像素要和(2,2)像素进行异或运算。对于第二个异或操作,运算步骤基本相同,只是像素值是按列从左到右,从上到下逐像素进行。式(3)给出了两个异或运算的基本结构:
其中pri,j是当前明文像素,vri,j是经过第一次XOR处理后的像素值,vci,j是经过置乱和第二次XOR处理后的像素值,S和S*是两个用户控制的密钥固定值,Per[x]是在第二次XOR处理前的置乱操作,v*2,2是(2,2)点经过处理后的最终像素值(其中0<i≤N,0<j≤N)。以上的简单XOR操作能有效的改变图像中每个像素加密后的像素值,达到很好的扩散效果。因此,这样的结构非常有利于实现图像的加密。
三、改进后的加密和解密算法
根据前面对原算法在安全性和速度上进行的有效改进设计,本节列出了改进算法中每一轮的加解密具体步骤,其中密钥包括Arnold猫映射的系统参数p,q,两次异或操作的初始值S,S*,Lorenz混沌系统的系统初始值x0,y0,z0,(0,0)像素交换位置(i,j)以及迭代轮数M。关于改进加密算法,其基本的加密结构如图3。
1、加密算法
步骤1、输入原始明文图像K(大小N×N)和密钥,并进行第一个XOR运算,得到变换后的图像。接着把变换图像运用Arnold猫映射进行一次置乱,并交换(0,0)位置和(i,j)位置的像素。然后完成第二个XOR运算,得到图像D。
步骤2、把图像D排列成一维向量Z={Z1,Z2,Z3,......,ZN×N},其中每个元素是十进制的像素值。
步骤3、连续迭代Lorenz混沌系统(首先进行初始迭代,迭代次数大于某个正整数),得到三个运算值xi,yi,zi,i=1,2,......,然后把其运用于式(4),并结合向量Z来求得加密数据流{bx,by,bz},则所得加密数据流不仅依赖于Lorenz混沌系统,而且还与图像D有关联,其中前两个值Z-1和Z0可设置为Z-1=127,Z0=255,n=4,abs(*)代表取绝对值,round(*)代表四舍五入进行取整,mod(*)为取模运算。
步骤4、图像D与加密数据流{bx,by,bz}按式(5)进行异或运算,其中i=1,2,......代表对Lorenz混沌系统进行第i次迭代,bitxor(*)返回两数异或后得到的结果。Lorenz混沌系统对向量Z中每个元素都产生对应的运算值xi,yi,zi,i=1,2,......。经过以上操作从而可以得到对应的密文向量c={c1,c2,c3,......,cN×N}。
步骤5、重复以上步骤,直到加密迭代轮数到M为止,此时所输出的图像就是密文图像。
2、解密算法
本图像改进加密算法的解密过程即为加密过程的逆过程,其中首先需要将密文图像转变为一维向量,然后利用连续迭代Lorenz混沌系统所产生的值来恢复向量Z={Z1,Z2,Z3,......,ZN×N}。其过程可以用式(6)表示:
最后再进行反向的两个XOR运算和置乱运算,这样如此多轮迭代,便可得到最终的明文图像。
本文提出了不同情形下的基于双线性映射的身份认证方案,实现用户与用户之间的身份认证,在用户认证过程中并不需要KGC的介入,而且第二种情形可以用于在不同KGC注册的用户之间进行身份认证识别,使得该方案非常适合于现代战机敌我识别等需要在个体间进行认证的应用领域。与已有方案相比,本文的方案需要更少计算量和通信次数,具有更好的效率。所提出的认证方案在椭圆曲线离散对数问题不可解的假设下,能有效抵抗假冒用户攻击,冒充攻击和重放攻击,具有很好的安全性能。
小知识之线性映射
在数学中,线性映射(也叫做线性变换或线性算子)是在两个向量空间之间的函数,它保持向量加法和标量乘法的运算。术语“线性变换”特别常用,尤其是对从向量空间到自身的线性映射(自同态)。
实操指南:如何监控聊天中的敏感信息?这款秘籍软件,轻松掌握微信聊天动态
电影《摩登时代》里,流水线工人就连在吃饭时都要用“自动喂食机”提高效率,这样才能挤出更多时间投入工作。虽然现在打工人不至于此,但有些老板仍然放心不下……像企业聊天记录往往蕴含着大量的敏感信息。为了确保信息安全,监控聊天中的敏感信息成为了一项必要且重要的工作。以下是一款秘籍软件,帮助你轻松掌握微信聊天动态,确保信息安全。...
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过员工上班在干什么?摸鱼?打游戏?老板该怎么管理?如何才能监视怎么监控员工上班情况?监控员工上班情况可以通过多种方式实现,但重要的是要确保这些措施既合法又合规,同时尊重员工的隐私权。以下是一些建议的方法:一、制定明确的行为规范与奖惩制度1、制定行为规范: 企...
怎么监控员工上班情况?快速监控员工状态
怎么监控员工上班情况?快速监控员工状态在企业管理中,如何有效监控员工上班情况,确保工作效率与团队协作,是每位老板都需面对的课题。本文为您揭秘五招快速监控员工状态的实用技巧,不仅能帮助您实时掌握员工动态,还能提升整体管理效率。作为老板,掌握这些技巧,将让您在企业管理中游刃有余,轻松应对各种挑战。一、使用安企神软件实时监控...
安企神桌管软件:提升企业管理效率的全能助力
安企神桌管软件:提升企业管理效率的全能助力在当今竞争激烈的商业环境中,企业必须不断优化管理和运营流程,以提高效率和盈利能力。安企神桌管软件正是这样一款面向中小企业的管理工具,能够帮助企业在多方面提升综合管理水平。本文将详细探讨安企神桌管软件给企业带来的多重价值。一、全方位的管理功能安企神桌管软件是一款集成了多种管理功能...
安企神:揭开终端安全管理软件的神秘面纱
安企神:揭开终端安全管理软件的神秘面纱在数字化日益普及的今天,企业的网络安全问题愈发显得重要。数据泄露、网络攻击等事件层出不穷,如何保障企业内部信息的安全性成为众多企业关心的焦点。安企神终端安全管理软件应运而生,作为一款专业的安全管理工具,它的功能与优势备受关注。本文将全面揭秘安企神软件的核心功能、应用场景及其在终端安...