替换、扩散结构和变量控制参数改进图像加密算法 |
2013-06-07 08:31 作者:赵一瑾 来源:《硅谷》杂志-硅谷网 HV: 编辑: 【搜索试试】
|
|
硅谷网文 据《硅谷》杂志2012年第23期刊文称,提出一种基于改进的替换-扩散结构和变量控制参数的图像加密算法。首先使用传统的Arnold变换进行图像位置置乱,再利用Logistic映射产生混沌序列改变图像的灰度值,从而构造出一个位置置乱和像素值改变相结合的图像加密算法。最后使用Matlab进行实验仿真,结果表明该算法能够取得很好的加密效果,且具有算法简单,密钥空间大,密钥敏感性强等特点。基本满足图像加密的有效性和安全性要求。
0引言
随着计算机网络和通信技术的发展和应用,网络信息安全问题越来越突出。数字图像作为信息的一种,它的安全性研究同样得到了人们越来越广泛的关注。因为图像数据的特点,如数据量大、数据的二维空间分布、能量的不均匀分布、原始图像数据存在大量的冗余等,使得传统的通用加密算法并不是非常适合数字图像加密[1]。混沌密码技术的出现,为数字图像加密技术的发展提供了新的思路。
本文利用图像置乱变换和灰度值的改变相结合的方式对数字图像进行加密。而且本文采用了两个混沌系统相结合的方式,先采用Arnold映射进行图像位置的变换,然后再进一步使用logistic混沌系统进行了灰度值的改变。
1混沌动力系统
1.1广义猫映射(二维Arnold混沌变换)[2~3]
(1)
其中,mod1表示只取小数部分,因此(xn,yn)的相空间限制在单位正方形[0,1]*[0,1]内,将(1)式表示成矩阵形式为:
(2)
其中,|C|=1,因此,猫映射是一个保面映射(没有吸引子),同时也是一个一一映射,为了能将以上定义的猫映射应用于图像加密,需要将其扩展到N*N矩阵内进行离散化处理,相应的广义猫映射定义如下:
(3)
其中,|C|=
相空间为[0,1,2,…,N-1]×[0,1,2…,N-1]其逆映射为:
(4)
可以在N×N的二维空间进行保面映射,置换对各系数均为整数,运算不引入误差。
加密时,可以从以下4个矩阵,,,中选一种作为C对矩阵进行充分置换。
1.2Logistic混沌系统[4~5]
是一个非常简单却被广泛研究并应用的一维离散时间非线性动力系统定义如下:
(1)
其中,∈V(k=0,1,2,…),称为状态;而f:V→V是一个映射,
将当前状态xn映射到下一个状态xn+1。μ是参数,若选择参数的范围在[1,4]区间内是,则式(2.2.1)将是从线段I=[0,1]到它本身的一个非线性映射。
因为μ参数的不确定性,也就直接决定了该系统的不确定性。我们需要的是一个确定的logistic系统。研究表明:混沌动力系统的研究工作指出,当3.5699456…<μ≤4时,Logistic映射工作于混沌态[5]。也就是说,由初始条件x0在Logistic映射的作用下所产生的序列{xn},n=0,1,2,…是非周期的、不收敛的并对初始值非常敏感。
2基于混沌系统的加密/解密算法
混沌和密码学之间之间具有的天然的联系和结构上的某种相似性,启示着人们将混沌应用于密码学领域。对于数字图像由于其巨大的数据量和自相关性,我们既可以在空间上对其进行加密,也可在变换域空间对其进行加密。Arnold由于是最简单的一种像素置乱方法而得到采用,但由于其迭代不能增加置乱加密过程的安全性,所以在以下加密算法中又结合Logistic对像素值进行了改变,从而增强了加密安全性。
2.1加密算法
Step1:读取一个数字图像文件I(I,j),其中i=0,1,…,M;j=0,1...N;如果M≠N,则进行边缘填充,填充时,可使用数值0或255,使M=N。
Step2:输入密钥(k1,k2,a,b,μ,x0)其中k是迭代次数,a,b是Arnold映射的伴随矩阵的两元素,μ,x0分别是Logistic的系统参数和初始值。
Step3:利用μ,x0与K2使Logistic迭代K2次,生成序列x(t)。Logistic迭代若干次后,在使用生成的值,可以更好的掩盖原始情况,使雪崩效应扩大,具有更好的安全性。
Step4:将序列x(t),通过x=mod(256*x,256)转换到[0,255]之间。
Step5:对图像的位置利用Arnold混沌系统进行k1位置的置乱。并保留当前置乱结果,等待对其进行Logistic加密。
Step6:从x(t)中顺序取出i个与图像的第一列I(:,1)进行异或运算,将结果与后一列再进行异或,以此类推,一直到最后一列。I(:,1)=bitxor(x(t),I(:,1))
I(:,i)=bitxor(I(:,i-1),I(:,i))。
Step7:与上一步类似,对其从行的角度再一次进行异或运算。I(1,:)=bitxor(x(t),I(1,:))
I(i,:)=bitxor(I(i-1,:),I(i,:))。
Step8:判断一位数字图像的加密是否完成。完成进入第9步;否则返回第2步在进行新一轮加密。
Step9:加密完成,保存并输出加密后图像。
2.2解密算法
由于矩阵的可逆性,对于位置置乱的恢复只要将Arnold映射的伴随矩阵C变成逆阵即采用(4)式进行,对于像素值的复原因为进行的是异或运算,由异或的特性知道,对某一值连续两次使用同一异或将恢复到原值。
3改进的交替结构图像分组加密算法
加密操作首先对图像数据进行规格化(分割或合并),使每个被处理单元具有N×2N个像素(处理单元大小视应用场合而定)。
3.1加密过程
1)(Plaintext)N×2N→N×N(L0,R0);
2)SubkeyK1→N×N(V1),V1⊕L0;
3)Subkey(18bit)K1*→Catmap*(V1⊕L0);
4)R0⊕Catmap*(V1⊕L0)→L1, V1⊕L0→R1;
5)Repeat2)-4)ntimes.Swap(Ln,Rn),
SubkeyKn+1→Vn+1,Ln⊕Vn+1→Rn+1,
SubkeyKn+2→Vn+2,Ln⊕Vn+1→Ln+1;
N×N(Ln+1,Rn+1)→(Ciphertext)N×2N。
3.2子密钥产生
1)32-bitKeyi→EP→LUT→50bits;
2)18bits→Ki*,32bits→OCML→Vi。
3.3解密过程
伪代码:
解密算法的结构与加密结构是相同的,而不是加密的逆过程。
4仿真实验与算法分析
4.1仿真实验
利用MATLAB7.8.0软件,结合上述算法,对“ruirui2.jpg”图像进行了加/解密的仿真实验,密钥选取为:K=(50,500,1,2,4,0.3561),结果如图1、图2、图3和图4。
图1原图像图2加密后图像
图3解密后图像图4错解密图像
图中,图像“加密后的ruirui2.jpg”为图像“ruirui2原图像”的加密结果,显然已看不出图像“ruirui2原图像”的任何信息,加密取得了较好的效果;图像“解密后的ruirui2.jpg”为对图像“加密后的ruirui2.jpg”的解密结果,通过比较得知,两个图像的像素值完全相同,说明文中提出的加密算法没有任何信息丢失;图像“错解密后的ruirui2.jpg”为x0=0.3567时的解密结果,显然,对于x0仅仅相差0.0001时,由解密结果得不到图像“ruirui2.jpg”的任何信息,说明该算法对x0具有高度x0的敏感性。
在实验过程中,分别输入迭代K1=5,10,30,50发现加密效果分别如下:
图1K1=5图2K1=10
图3K1=30图4K1=50
从图中可以看出,当加密迭代次数K1=5时,扩散效果和混乱效果较差,而当迭代次数K2=50时扩散效果和混乱效果明显有所改善,已达到了较好的加密效果。
4.2算法分析
1)混乱和扩散。密文的小错误就能够转变成明文很大的错误,这种现象叫做错误扩散(errorextension)。在使用Logistic系统加密时,采用行列先后变换像素值以及对第一行(列)与x(t)进行异或,然后再与后续行(列)进行异或加大了像素值的扩散性,也进一步加大了错误扩散性,如果在加密过程中一行(列)的错误将导致整个图像不能正确解密,进一步增强了图像的加密效果。
2)密钥空间分析。初始密钥的强度是保证一个密码算法安全的一个重要方面。该算法的密钥为K=(k1,k2,a,b,μ,x0),可以取值于(0,1)之间的任何值,其密钥空间无穷大,μ、k1、k2、a、b的不确定,更极大地增加了密钥空间,从而,对密钥K的穷举攻击变得不可行。
3)算法中灰度值变换的使用,极大地改变了图像的直方图,较好地增强了图像加密效果,置换对攻击者来说是未知的,故它具有较强的抗差分攻击和抗线性攻击的能力,从而较好地增强了整个算法的安全性;图像位置置换和灰度值变换的先后使用,使得整个加密算法既有较好的加密效果,又有较强的安全性。
4.3灰度直方图分析
对大小为224×224像素的ruirui2.jpg图像在密钥为K1=50,K2=500,μ=4,a=1,b=2,x0=0.3561时,图像在加密前后的灰度直方图进行分析,发现仅对图像进行位置置乱虽然能够取得很好的置乱效果,但是位置置乱并不能改变图像的灰度直方图,所以本文提出的算法中加入了Logistic的图像灰度置乱,使得原来像素点集中分布在某些灰度上的原始图像的像素值均匀分布在整个灰度值空间,从而说明该加密方法具有很好的灰度均匀分布特性,可以抵抗一定程度的统计分析攻击。
4.4密钥敏感性分析
在加密算法中,密文对于密钥的敏感依赖性也极大的关系着加密算法加密效果。如果密文对初始密钥不能敏感的反映出来,我们就称密文对于初始密钥的敏感性很弱。其导致的后果就是给密码分析者极大地可乘之机,利用多个仅有微小差别的初始密钥所生成的密文,通过选择密文攻击手段就可以分析出初始密钥和相应的明文。该算法中将混沌映射的系统参数μ和初值x0作为密钥,而Logistic映射对混沌态初始值是很敏感的,也确保了此加密方案对密钥的敏感性。这里对ruirui2图像以K1=50,K2=500,μ=4,X0=0.3561为密钥,对图像进行加密,稍微改变密钥X0的值,则解密后图像完全不可识别。可见该算法对密钥有很强的敏感性。
5结束语
文章利用Arnold和Logistic双混沌映射给出了一种彩色数字图像加密算法,通过仿真实验和分析表明,该算法具有较好的加密效果和较强的安全性。在时空效率上充分体现了它的优势。
《基金项目:2011年云南省教育厅教科研项目“多级混沌数字图像加密算法研究”(项目编号2012Y046)资助》
作者简介:
赵一瑾(1976-),女,汉族,云南昆明人,硕士,讲师,研究方向:计算机软件应用、高等职业教育。 |
|
|
|
【对“替换、扩散结构和变量控制参数改进图像加密算法”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|