一种基于Arnold和Logistic双混沌系统的数字图像加密算法
2022-04-28
来源:步旅网
到N×N矩阵内进行离散化处理,相应的广义猫映 射定义如下: = ・ 。…c ㈤ 其中, = 相空间为[0,l,2,…,N-1】X【0,1,2…,N-1]其 逆映射为: [ 恻 Ⅳ ㈥ 可以在N×N的二维空间进行保面映射,置换 对各系数均为整数,运算不引入误差。 加密时,可以从以下四个矩阵l 1 l, 『 [ ]中选一种 作为C对矩阵进行充分置换。 2。2 Logistic混沌系统 是一个非常简单却被广泛研究并应用的一维离 散时间非线性动力系统定义如下: Xn =, ( )= (1 )It∈[L41 Xn o,11 (5) 其中, ∈r (”=0,1…2)∈V(k一0,l,2 …),称为状 态;而f:V V是一个映射,将当前状态X 映 射到下一个状态X 是参数,若选择参数的范 围在[1,4】区间内,则式(5)将是从线段I 0,l】到 它本身的一个非线性映射。 因为, 参数的不确定性,也就直接决定 了该系统的不确定性。我们需要的是一个确定的 logistic系统。研究表明:混沌动力系统的研究工 作指出,当3.5699456…< ≤4时,Logiaic映 射工作于混沌态 。也就是说,由初始条件X 在 Logistic映射的作用下所产生的序列{X },n=0,1, 2,…是非周期的、不收敛的,并对初始值非常敏感。 3基于混沌系统的加密/解密算法 混沌和密码学具有的天然的联系和结构上的某 11 固E 圉2 0 1 1.0 5 WWW nsc org cn 种相似性,启示着人们将混沌应用于密码学领域。 对于数字图像由于其巨大的数据量和自相关性,我 们既可以在空间上对其进行加密,也可在变换域空 间对其进行加密。Arnold由于是最简单的一种像 素置乱方法而得到采用,但由于其迭代不能增加置 乱加密过程的安全性,所以在以下加密算法中又结 合Logistic对像素值进行了改变,从而增强了加密 安全性。 3.1加密算法 Stepl读取一个数字图像文件I(I,j),其中 i=0,1,…,M;J--0,l…,N;如果M≠N,则进 行边缘填充,填充时,可使用数值0或255,使 M=N。 Step2输入密钥(k1,k2,a,b,“,X ),其中k是 迭代次数,a,b是Arnold映射的伴随矩阵的两元素, ,X 分别是Logistic的系统参数和初始值。 Step3利用 ,X 与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判断一位数字图像的加密是否完成。完