基于logistic的大密钥空间比特置乱混沌图像加密方法

文档序号:29857831发布日期:2022-04-30 09:53阅读:342来源:国知局
基于logistic的大密钥空间比特置乱混沌图像加密方法

1.本发明涉及图像加密技术,具体涉及一种基于logistic的大密钥空间比特置乱混沌图像加密方法。


背景技术:

2.在大数据时代,最有价值的就是信息,信息的便捷与强大功能有目共睹。密码学是信息安全研究领域的核心学科,主要是研究信息安全,解决传输存储等过程中的信息安全问题。图像是承载信息的一个重要载体,某些图像隐含的信息至关重要。因此必须保证数字图像的传输、存储、访问等过程安全可靠;图像加密是最有效的保护图像安全的途径之一。保障多媒体数据隐私和保密性的图像加密技术在许多应用中发挥着重要的作用,如军事图像数据库、付费电视、保密视频会议、健康管理系统、在线私人相册等等。
3.而当前图像加密热门方法为利用混沌系统加密,现有的混沌系统加密的方法有以下两类:一类是重点关注加密系统中的随机序列的生成方式;另一类是关注加密算法的结构设计。现有的许多混沌系统都具有控制参数范围受限,生成点分布不均匀,周期性较短的缺点。
4.现有的logistic混沌系统的参数范围在0-4之间,导致形成的密钥空间较小,容易受到穷举攻击,并且混沌映射对所有的参数所生成的序列均不能遍历整个状态空间,不具备分布均匀性。


技术实现要素:

5.发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于logistic的大密钥空间比特置乱混沌图像加密方法。
6.技术方案:本发明的一种基于logistic的大密钥空间比特置乱混沌图像加密方法,对一维logistic混沌系统进行改进生成新的混沌系统,然后图像进行加密,具体步骤如下:
7.步骤(1)、改进logistic混沌映射公式,即混沌映射公式(1)修改为式(2);
8.x
n+1
=u
×
xn×
(1-xn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
9.x
n+1
=rs(u
×
xn×
(1-xn))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
10.式(2)中u为控制参数且u≠0,函数rs(x)是一个右移函数,首先rs(x)函数会获取参数x的整数部分的位数n,然后对参数x进行运算x
×
10-n
,返回运算结果,使得0≤rs(u
×
xn×
(1-xn))《1即0≤x
n+1
《1从而使控制参数u不再限制于0到4之间,并且使得控制产生的序列处于混沌状态,这样就可以扩大系统的混沌区域,可选择的密钥数量也得到了增加;通过式(2)生成的序列处于混沌状态(且序列分布均匀参数不受限);
11.步骤(2)、确定加密密钥
12.设定7个密钥:x1、r1、x2、r2、n、z、s;其中前四个密钥(x1、r1、x2、r2)为两对改进后logistic混沌系统的控制参数和初始值(x1、r1)(x2、r2),n为序列值转化为二进制形式时小
数点后所取的位数,z为明文相关量由加密公式(3)得出;
[0013][0014]
f(x,y)表示输入的明文图像,大小为m
×
l;z是经过式(3)计算后得到的明文相关量,s为每次取得xn数据时其序列变异的位数(也即是步骤(2.2)每次所反转的位数);
[0015]
步骤(3)、对生成的序列进行一步随机选取反转,使得生成的序列具有更好的混沌特性;具体步骤如下:
[0016]
步骤1:首先设置控制参数u和循环变量i,设初始值i=0;设置xi序列初始值x0(0《x0《1);然后将xi代入到式(2)中得到x
i+1
,接着将x
i+1
移位,使得x
i+1
《1,再将x
i+1
转换为二进制形式(x
i+1
)b;
[0017]
选取一个正整数n,(例如n可以取值为9)对(xi)b的前n位随机选取位进行取反操作,操作是下取整,,取反操作即将二进制0变为1,1变为0;假设xi=0.625,则将0.625

0.101000000,假设选取到的位数为2,4,6,则0.101000000

0.111101000。
[0018]
步骤3:将变换完的(x
i+1
)b再次转换为十进制,0.111101000

0.953125,然后将得到的十进制小数代入迭代式(2)中进行下一次迭代,得到下一次值;
[0019]
重复步骤1-3,且每轮反转的位数不同,直到i=m
×
l,迭代结束后,得到一个长度为n的混沌序列{x1,

,xn},n=m
×
l;将记载反转位数的s作为密钥用于图像的还原;读取加密图像的大小后,创建n个同样大小的空白图像,每个图像的每个像素代表生成的混沌序列转化为矩阵后的相应像素的1到n位,如果第x位发生反转则第x个图像相应像素值为1,否则为0,最后将n个图像拼接起来作为密钥s;
[0020]
步骤(4)、应用改进后的logistic混沌系统对图像进行加密;
[0021]
先使用密钥x1、r1、n和z利用改进后的logistics加密算法迭代z次渡过过渡态,然后再迭代m
×
l次,生成长度为m
×
l的混沌序列k1;明文图像f大小为m
×
l;将混沌序列k1转化为与明文图像相同大小的初步加密矩阵f1作为加密矩阵;将初步加密矩阵f1与明文图像f行比特异或操作进行初次加密,得到新的图像接着进行分块操作将f分成大小均等的四个部分,每个块大小为m/2
×
l/2,再将每块分别进行置乱-扩散操作;将置乱-扩散后的图像重新拼接为一块,逆时针旋转90
°
后,再重复上述置乱-扩散操作得到最终加密图像fh。
[0022]
为降低明文图像与密文图像的相关性,扩散像素点,使得任一像素点的信息隐藏在尽可能多的密文像素点中,进一步对分块后的图像进行置乱-扩散操作,具体方法为:
[0023]
步骤i、产生两个待置换的位置d1和d2;位置d1为顺序位置m,m从第一个位置开始顺序往后取);位置d2步骤(1)所得混沌系统及式(4)计算得到:
[0024]
首先利用密钥x2、r2、n、z在改进后logistic系统中迭代z次得到d,d为利用混沌系统获取位置d1,d2的中间值,计算位置d2如下;
[0025]
d=mod(floor(d
×
10n),m/2
×
l/2)+1;
[0026]
d1=m;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0027]
d2=mod(d

d1,m/2
×
l/2)+1;
[0028]
步骤ii、判断位置d1和d2是否被重复选取;如果d1已经被选取则顺序选取下一个位置作为m,同样当位置d2已经被选取时,顺序选择下一个位置作为d2;
[0029]
步骤iii、利用比特奇偶重排和动态异或操作来扩散位置d1,d2处的像素值pcd1和pcd2,进而分别得到新的像素ncd1和ncd2:比特奇偶重排和动态异或;
[0030]
步骤iv、交换d1,d2位置处的像素值;
[0031]
利用下式生成新的初始值x2,带入改进后的logistic混沌系统生成新的d值,再代入公式(4),生成新的d2位置,d1位置顺序加1变为d1=m+1;
[0032]
x2=mod(d
×
d2,1)。
[0033]
进一步地,所述比特奇偶重排是指将位置d1和位置d2对应的像素值pcd1和pcd2,均化为8位的二进制数字,接着依次将奇数位比特值放在前半部分,偶数位比特值放在后半部分,生成一个新的像素值;
[0034]
动态异或操作是指生成的d1和d2两个位置运用下式生成y;
[0035]
y=mod((d1
×
d2)+z-d,256);
[0036]
最后,将灰度值pcd1和pcd2与y进行动态异或生成新的像素ncd1和ncd2。
[0037]
有益效果:与现有技术相比,本发明具有以下优点:
[0038]
(1)本发明解决了控制参数范围受到限制的问题,增加密钥空间,从而有效的抵抗穷举攻击,还可以保留更多的原信息,并且因为利用了混沌系统对初值极端敏感,以及非线性,伪随机性等性质,使得此种加密方式有效的提高图像抵抗攻击的能力。
[0039]
(2)本发明基于现有logistic混沌系统,并在其基础上针对混沌序列分布不均以及密钥数量受限等问题做出改进,使得经过将本发明logistic混沌系统加密后的图像,在安全性等方面有长足的进步,推动了混沌系统对图像加密方面的研究进程。
附图说明
[0040]
图1为本发明的整体流程图;
[0041]
图2为本发明中置乱-扩散操作的整体流程图;
[0042]
图3为实施例中二叉图对比示意图;
[0043]
图4为实施例中lyapunov指数分析对比示意图;
[0044]
图5为实施例中对lena图像与plane图像进行实验效果对比图。
具体实施方式
[0045]
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
[0046]
如图1所示,本发明的一种基于logistic的大密钥空间比特置乱混沌图像加密方法,对一维logistic混沌系统进行改进生成新的混沌系统,然后图像进行加密,具体步骤如下:
[0047]
步骤(1)、改进logistic混沌映射公式,即混沌映射公式(1)修改为式(2);
[0048]
x
n+1
=u
×
xn×
(1-xn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0049]
x
n+1
=rs(u
×
xn×
(1-xn))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0050]
在这个式子中u为控制参数,且u≠0,函数rs(x)是一个右移函数,首先rs(x)函数
会获取参数x的整数部分的位数n,然后对参数x进行运算x
×
10-n
,返回运算结果。使得0≤rs(u
×
xn×
(1-xn))《1即0≤x
n+1
《1从而使控制参数u不再限制于0到4之间,并且使得控制产生的序列处于混沌状态,这样就可以扩大系统的混沌区域,可选择的密钥数量也得到了增加;通过式(2)生成的序列处于混沌状态(且序列分布均匀参数不受限);
[0051]
步骤(2)、确定加密密钥
[0052]
设定7个密钥:x1、r1、x2、r2、n、z、s,前四个密钥:x1、r1、x2、r2为两对改进后logistic混沌系统的控制参数和初始值(x1、r1)(x2、r2),n为序列值转化为二进制形式时小数点后所取的位数,z为明文相关量,由公式(3)得出,s为记载的步骤(2.2)每次所反转的位数;
[0053]
加密方法如式(3):
[0054]
f(x,y)表示输入的明文图像,大小为m
×
l;z是经过式(3)计算后得到的明文相关量,s为每次取得xn数据时其序列变异的位数;
[0055]
接下来本文又对生成的序列进行了一步随机选取反转,使得生成的序列具有更好的混沌特性。
[0056]
步骤(3)、对生成的序列进行一步随机选取反转,使得生成的序列具有更好的混沌特性;具体步骤如下:
[0057]
步骤1:首先设置控制参数u和循环变量i,设初始值i=0;设置xi序列初始值x0(0《x0《1);然后将xi代入到式(2)中得到x
i+1
,接着将x
i+1
移位,使得x
i+1
《1,再将x
i+1
转换为二进制形式(x
i+1
)b;
[0058]
步骤2:选取一个正整数n,(例如n可以取值为9)对(xi)b的前n位随机选取位进行取反操作,操作是下取整,,取反操作即将二进制0变为1,1变为0;假设xi=0.625,则将0.625

0.101000000,假设选取到的位数为2,4,6,则0.101000000

0.111101000。
[0059]
步骤3:将变换完的(x
i+1
)b再次转换为十进制,0.111101000

0.953125,然后将得到的十进制小数代入迭代式(2)中进行下一次迭代,得到下一次值;重复步骤1-3,且每轮反转的位数不同,直到i=m
×
l,迭代结束后,得到一个长度为n的混沌序列{x1,

,xn},n=m
×
l;
[0060]
而记载反转位数的s将作为一种图片密钥参与图像的还原,读取加密图像的大小后,创建n个同样大小的空白图像,每个图像的每个像素代表生成的混沌序列转化为矩阵后的相应像素的1到n位,如果第x位发生反转则第x个图像相应像素值为1,否则为0,最后将n个图像拼接起来作为密钥s。
[0061]
步骤(4)、应用改进后的的logistics混沌系统对图像进行加密;
[0062]
先使用密钥x1、r1、n和z利用改进后的logistics加密算法迭代z次渡过过渡态,然后再迭代m
×
l次,生成长度为m
×
l的混沌序列k1;明文图像f大小为m
×
l;将混沌序列k1转化为与明文图像相同大小的初步加密矩阵f1作为加密矩阵;将初步加密矩阵f1与明文图像f进行比特异或操作进行初次加密,得到新的图像f:f=f

f1;接着进行分块操作将f分成大小均等的四个部分,每个块大小为m/2
×
l/2,再将每块分别进行置乱-扩散操作;将置乱-扩散后的图像重新拼接为一块,逆时针旋转90
°
后,再重复上述置乱-扩散操作得到最终加密图像fh。
[0063]
如图2所示,本实施例的置乱-扩散操作具体方法为:
[0064]
步骤i、产生两个待置换的位置d1和d2;位置d1为顺序位置m,m从第一个位置开始顺序往后取);位置d2步骤(1)所得混沌系统及式(4)计算得到:
[0065]
首先利用密钥x2,r2,n,z在改进后logistic系统中迭代z次得到d,d为利用混沌系统获取位置d1,d2的中间值,计算位置d2如下;
[0066]
d=mod(floor(d
×
10n),m/2
×
l/2)+1;
[0067]
d1=m;
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0068]
d2=mod(d

d1,m/2
×
l/2)+1;
[0069]
步骤ii、判断位置d1和d2是否被重复选取;如果d1已经被选取则顺序选取下一个位置作为m,同样当位置d2已经被选取时,顺序选择下一个位置作为d2;
[0070]
步骤iii、利用比特奇偶重排和动态异或操作来扩散位置d1,d2处的像素值pcd1和pcd2,进而分别得到新的像素ncd1和ncd2:比特奇偶重排和动态异或;
[0071]
步骤iv、交换d1,d2位置处的像素值;
[0072]
利用下式生成新的初始值x2,带入改进后的logistic混沌系统生成新的d值,再代入公式(4),生成新的d2位置,d1位置顺序加1变为d1=m+1;
[0073]
x2=mod(d
×
d2,1)。
[0074]
本实施例中比特奇偶重排是指将位置d1和位置d2对应的像素值pcd1和pcd2,均化为8位的二进制数字,接着依次将奇数位比特值放在前半部分,偶数位比特值放在后半部分,生成一个新的像素值;
[0075]
动态异或操作是指生成的d1和d2两个位置运用下式生成y;
[0076]
y=mod((d1
×
d2)+z-d,256);
[0077]
最后,将灰度值pcd1和pcd2与y进行动态异或生成新的像素ncd1和ncd2。
[0078]
通过上述实施例过程可以看出本发明对现有logistic映射增加移位运算,同时引入随机数因素进行比特运算;利用生成的灰度矩阵与明文图像进行异或预加密;随后使用比特重排以及置乱扩散对预处理图像进行进一步加密得到最终的加密图像。
[0079]
下面通过分岔图和lyapunov指数这两个指标来分析本发明效果。
[0080]
(a)分叉图分析。
[0081]
对二进制xn进行随机选取反转有着提升序列混沌性能的优势,当系统初值和控制参数法微小改变时,在刚开始的混沌过渡态中的两个轨道的点差别十分小,过渡态中的序列值变化不大,会大概率产生相同的整数。对差异较小的序列进行随机选取反转可以增大差异,使得生成的混沌序列有着更好的混沌特性。图3(a)和图3(b)分别为logistic映射和改进后的logistic映射的分叉图,经过比较后我们发现改进后的大密钥空间比特置乱混沌logistic映射,有着更大的混沌参数范围,并且新的加密系统在(0,4]的范围内有更好的混沌特性.
[0082]
(b)lyapunov指数分析。
[0083]
通过lyapunov指数判断非线性时间序列是否为混沌系统并且显示其混沌性能。如果混沌系统的lyapunov指数的值越大,则其混沌性越好,图4(a)和图4b)分别为logistic映射的lyapunov指数图和改进后的logistic映射的lyapunov指数图,本实施例经过对比分析可以看出图4(b)的lyapunov指数呈递增状态,且大部分数值为正,证明其具有混沌特性,且
混沌特性不断增强。
[0084]
实施例1:
[0085]
为对本发明的加密方式安全性进行验证,本实施例采用256
×
256的lena图像与plane图像进行实验,加密系统的密钥设置如下:x1=0.76,r1=17.92,x2=0.21,r2=0.35,n=9。
[0086]
lena图像的加密结果如图5(a)和图5(b)所示,分别为lena明文和密文图像以及其像素的直方图。
[0087]
图5(c)和图5(d)所示分别为plane明文和密文图像以及其像素的直方图。
[0088]
图5(e)和图5(f)所示分别为village明文和密文图像以及其像素的直方图。
[0089]
图5(g)和图5(h)所示分别为arab girls明文和密文图像以及其像素的直方图。
[0090]
a、密钥空间大小分析
[0091]
本实施例的密钥包括x1、x2、r1、r2、n、z和s。
[0092]
x1和x2的取值范围设定为0到1之间,而u1和u2为任意一个非负整数,此处设定密钥x1,x2,r1和r2的步长均为10-12
,本实施例的密钥空间超过10
48
,极大地扩展密钥空间。
[0093]
b、密文统计特性分析
[0094]
通过上述直方图进行分析,将图像的像素直方图画出之后可以明显地看出该图像像素值的分布特征,通过观察实验得出的密文直方图,可以发现密文图像的像素值近似均匀分布,说明本发明加密方法对图片信息加密的效果很好,并且很好地隐藏了原始图像的统计特性,能够有效地抵御基于图像像素值的统计攻击,达到了图像加密的效果。
[0095]
c、相邻像素相关性分析
[0096]
本实施例为测试密文图像的相邻像素相关性,在密文图像各个方向上随机选取2000个相邻像素值,通过公式(7)-(10)进行计算相邻像素相关性系数,计算结果如表1所示。由相关系数计算结果可知明文图像在各个方向上的相邻像素相关性很强,而密文图像在各个方向上的相关性则很弱。
[0097]
本发明与相关现有技术的结果做了对比,结果显示本发明加密算法可以更好降低相邻像素的相关性。
[0098][0099][0100][0101][0102]
表1
[0103][0104]
d、信息熵分析
[0105]
信息熵是用来反映图像的随机性或不确定性的一个标准。如果一幅图像随机性越强,那么它的信息熵越接近于数学理论值[10]。
[0106]
信息熵的计算公式为式(11)。
[0107][0108]
其中,t是灰度等级数,p(i)表示灰度值i出现的概率。对于t=256的灰度随机图像来说,h的理论值为8,各个明文图像和密文图像的信息熵的结果如表2所示,密文图像的信息熵接近于理想值。对于现有技术,本发明具有更好的信息熵结果,可以更好地抵御信息熵攻击。
[0109]
表2
[0110][0111]
综上所述,本发明对现有logistic混沌映射算法进行了改进,使用了二进制移位和比特翻转的操作,解决了传统logistic映射混沌序列分布不均以及参数受限的问题。在使用改进后算法进行初次加密后,采用置乱-扩散操作利用比特奇偶重排和动态异或使明文像素点的信息尽可能多的隐藏在密文像素点中,增强密文图像的安全性和鲁棒性。
[0112]
经过安全性测试之后可以得知本文中所使用的图像加密算法具有良好的安全性,能够抵抗暴力攻击、信息熵攻击、统计攻击等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1