首页 / 专利库 / 电脑图像 / 触觉反馈 / 力反馈 / 基于H分形结构和动态自可逆矩阵的图像加密方法

基于H分形结构和动态自可逆矩阵的图像加密方法

阅读:1发布:2022-06-11

专利汇可以提供基于H分形结构和动态自可逆矩阵的图像加密方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种基于H分形结构和动态自可逆矩阵的图像加密方法,步骤如下:将原始灰度图像转化为图像矩阵I;利用SHA-256 算法 生成Hash散列值并运算,得到混沌系统的初始值;代入Lorenz超混沌系统并 迭代 ,得到四个序列;使用序列对图像矩阵I进行全局置乱并重组;使用序列和素数生成自可逆矩阵并加密;使用序列进行全局置乱并重组;使用H分形扩散方法进行加密;使用序列进行全局置乱并重组;进行密文前向反馈操作得到密文图像。本发明使密文图像和明文图像紧密联系起来,增强了加密图像的安全性;丰富了数字图像加密的手段,易于实现,密钥空间大、敏感性强,可以抵抗穷举攻击和统计学攻击,在数据丢失时具有一定的恢复能 力 。,下面是基于H分形结构和动态自可逆矩阵的图像加密方法专利的具体信息内容。

1.一种基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,其步骤如下:
步骤一:将大小为M×N的原始灰度图像转化为大小为M×N的图像矩阵I;
步骤二:使用SHA-256算法对图像矩阵I进行处理,得到256位二进制的Hash散列值H,对Hash散列值H进行运算,得到混沌系统的初始值x0,y0,z0,w0;
步骤三:将初始值x0,y0,z0,w0代入Lorenz超混沌系统并迭代,舍弃前800次迭代的值,得到四个长度为M×N的序列X、序列Y、序列Z和序列W;
步骤四:使用序列X对图像矩阵I进行全局置乱并重组,得到密文图像I1;
步骤五:使用序列Y和与M、N互质的素数k生成动态的自可逆矩阵,通过自可逆矩阵对密文图像I1加密,得到密文图像I2;
步骤六:使用序列Z对密文图像I2进行全局置乱并重组,得到密文图像I3;
步骤七:使用H分形扩散方法对密文图像I3进行加密,得到密文图像I4;
步骤八:使用序列W对密文图像I4进行全局置乱并重组,得到密文图像I5;
步骤九:对密文图像I5进行密文前向反馈操作,得到密文图像I′。
2.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述初始值x0,y0,z0,w0的计算方法为:将原始灰度图像的图像矩阵I输入到SHA-256函数,得到256位二进制的Hash散列值H;然后将Hash散列值H等分为32个8位二进制数h1,h2……h32,混沌系统的初始值x0,y0,z0,w0计算为:
3.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述序列X、序列Y、序列Z和序列W的获取方法为:所述Lorenz超混沌系统为四维的Lorenz超混沌系统,Lorenz超混沌系统描述为:
其中,x、y、z和w分别表示Lorenz超混沌系统的状态变量, 和 分别表示状态变量x、y、z和w的倒数,a、b、c、r是Lorenz超混沌系统的四个参数,当参数a=10,b=8/3,c=
28,-1.52≤r≤0.06时,Lorenz超混沌系统处于超混沌状态;
选择Lorenz超混沌系统的迭代次数为M×N+800,将初始值x0,y0,z0,w0带入Lorenz超混沌系统,迭代Lorenz超混沌系统,舍弃前800次迭代的值,去除暂态效应,得到4个长度为M×N的伪随机序列即为序列X、序列Y、序列Z和序列W。
4.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述步骤四中的全局置乱的操作方法为:将密文图像展开为一维像素序列P1{1,2,
3……,M×N},并将像素序列P1{1,2,3……,M×N}中像素的位置和给定密钥的伪随机序列S{1,2,3……,M×N}中元素的位置一一对应;升序排列伪随机序列S,得到索引序列S′;按照将伪随机序列S中的元素映射到索引序列S′中的规则,把像素序列P1{1,2,3……M×N}映射到新的像素序列P1′{1,2,3……M×N}中,像素序列P1′{1,2,3……M×N}为全局置乱后的像素序列;所述重组是将像素序列P1′{1,2,3……M×N}转化为M×N的图像矩阵,即可得到密文图像。
5.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述步骤五中使用动态自可逆矩阵对密文图像I1进行加密的方法的步骤为:
1)把密文图像I1切割成M×N/16个4×4的矩阵,分别标号为矩阵PMi,其中,i=1,2,……M×N/16;
2 2 10
2)将序列Y进行运算:YM=reshape(mod(floor((Y(:)*10 -floor(Y(:)*10))*10 ),
256),M,N),得到大小为M×N的伪随机的矩阵YM;其中,reshape()表示列优先的矩阵重组函数,mod()表示取余函数,floor()表示向下取整函数、Y(:)表示整个序列Y中所有的元素;
3)把矩阵YM切割成M×N/16个4×4的矩阵,标号为YMi;
4)把4×4的矩阵YMi等分成4个2×2的矩阵,并保留左上的2×2矩阵,得到矩阵Y′Mi;
5)确定一个与M和N均互质的素数k,用自可逆矩阵的构造方法把2×2的矩阵Y′Mi转化为自可逆矩阵Ki;
6)计算密文矩阵Ci,其中Ci=KiPMi;
7)用密文矩阵Ci按照行优先的顺序组成密文图像I2。
6.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述自可逆矩阵Ki的构造方法为:设4×4的自可逆矩阵 子矩阵Ki11、
Ki12、Ki21和Ki22均为2×2的矩阵,Ki-1Ki(mod R)=E,E表示单位矩阵,R为密文图像I1的值域;
令子矩阵Ki22=Y′Mi,则:
则k为给定的与值域R互质的素数。
7.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述步骤七中利用H分形扩散方法进行加密的方法是:以密文图像I3左上角第一个像素为顶点开始构建H分形然后进行扩散,密文图像I3中H分形覆盖不到的像素点不做运算;所述H分形进行扩散的方法是:把一阶H分形端点两个像素的中间像素作为控制字,对H分形上端点的两个像素进行交叉运算。
8.根据权利要求7所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述交叉运算的方法为:当控制字E中的像素二进制控制位的值为1时,使端点B和端点D像素中与控制位对应位置的二进制字符进行交换操作;当控制字E中的像素二进制控制位的值为0时,端点B和端点D像素中与控制位对应位置的二进制字符不进行操作。
9.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述密文前向反馈方法是:将M×N的密文图像I5重新排列成像素序列P{1,2,3……,M×N};对像素序列P{1,2,3……,M×N}进行运算:
其中,bitxor()表示按位异或运算;得到扩散后的序列P′{1,2,3……,M×N},使像素序列P{1,2,3……,M×N}中位置靠前的像素影响到位置靠后的像素;将序列P′{1,2,3……,M×N}转化为大小为M×N矩阵得到密文图像I′。

说明书全文

基于H分形结构和动态自可逆矩阵的图像加密方法

技术领域

[0001] 本发明涉及图像加密的技术领域,尤其涉及一种基于H分形结构和动态自可逆矩阵的图像加密方法。

背景技术

[0002] 在现代社会中,网络信息的主要形式为文本和图像等。传统的加密算法如DES、RSA等在文本加密中有着广泛的应用,但是随着多媒体技术的发展,图像所承载的信息量越来越多,使用传统的加密算法不足以满足对图像等信息加密的时效性和安全性的要求。因此,如何快速有效的对图像信息进行加密,成为人们研究的热点。
[0003] 在图像加密算法中,图像的加密方法主要有两类:置乱和扩散。置乱是通过变换像素位置进行实现。变换像素的位置,可以打破相邻像素间的相关性,实现加密的效果。例如,Jolfaei A和Mirghadri A提出了基于Henon混沌置乱的加密方案,使用了基于混沌映射的排序变换对图像进行加密;Bourbakis N,Alexopoulos提出了基于SCAN模式的加密方法,用扫描的方式对图像进行加密。扩散是通过改变像素的灰度值进行加密,扩散加密可以增强密文图像的随机性,打破密文的直方图统计规律,实现良好的加密效果。例如,El-Zoghdy等使用了DES加密图像的方法;Acharya等提出了基于Hill矩阵加密的方案,使用可逆矩阵对图像进行加密。近年来,一些混合加密的图像加密算法也被提出来。例如,Guan等提出了基于Arnold-Chen混沌序列的加密算法,将基于Arnold映射的置乱方法和基于Chen混沌映射的扩散方法结合使用;Tong和Cui提出了将循环移位和序列加密结合的加密方法;Zhu等提出了位平面置乱的加密方法;Gehani等提出了使用DNA串的加密方法,将DNA编码应用到图像加密中。

发明内容

[0004] 针对现有图像加密方法安全性差,计算度复杂的技术问题,本发明提出一种基于H分形结构和动态自可逆矩阵的图像加密方法,结合使用了置乱和扩散的加密方法,融入基于图形学H分形的扩散算法和基于动态自可逆矩阵的扩散算法,分析结果表明,具有良好的安全性,可以在图像加密领域应用。
[0005] 为了达到上述目的,本发明的技术方案是这样实现的:一种基于H分形结构和动态自可逆矩阵的图像加密方法,其步骤如下:
[0006] 步骤一:将大小为M×N的原始灰度图像转化为大小为M×N的图像矩阵I;
[0007] 步骤二:使用SHA-256算法对图像矩阵I进行处理,得到256位二进制的Hash散列值H,对Hash散列值H进行运算,得到混沌系统的初始值x0,y0,z0,w0;
[0008] 步骤三:将初始值x0,y0,z0,w0代入Lorenz超混沌系统并迭代,舍弃前800次迭代的值,得到四个长度为M×N的序列X、序列Y、序列Z和序列W;
[0009] 步骤四:使用序列X对图像矩阵I进行全局置乱并重组,得到密文图像I1;
[0010] 步骤五:使用序列Y和与M、N互质的素数k生成动态的自可逆矩阵,通过自可逆矩阵对密文图像I1加密,得到密文图像I2;
[0011] 步骤六:使用序列Z对密文图像I2进行全局置乱并重组,得到密文图像I3;
[0012] 步骤七:使用H分形扩散方法对密文图像I3进行加密,得到密文图像I4;
[0013] 步骤八:使用序列W对密文图像I4进行全局置乱并重组,得到密文图像I5;
[0014] 步骤九:对密文图像I5进行密文前向反馈操作,得到密文图像I′。
[0015] 所述初始值x0,y0,z0,w0的计算方法为:将原始灰度图像的图像矩阵I输入到SHA-256函数,得到256位二进制的Hash散列值H;然后将Hash散列值H等分为32个8位二进制数h1,h2……h32,混沌系统的初始值x0,y0,z0,w0计算为:
[0016]
[0017] 所述序列X、序列Y、序列Z和序列W的获取方法为:所述Lorenz超混沌系统为四维的Lorenz超混沌系统,Lorenz超混沌系统描述为:
[0018]
[0019] 其中,x、y、z和w分别表示Lorenz超混沌系统的状态变量, 和 分别表示状态变量x、y、z和w的倒数,a、b、c、r是Lorenz超混沌系统的四个参数,当参数a=10,b=8/3,c=28,-1.52≤r≤0.06时,Lorenz超混沌系统处于超混沌状态;
[0020] 选择Lorenz超混沌系统的迭代次数为M×N+800,将初始值x0,y0,z0,w0带入Lorenz超混沌系统,迭代Lorenz超混沌系统,舍弃前800次迭代的值,去除暂态效应,得到4个长度为M×N的伪随机序列即为序列X、序列Y、序列Z和序列W。
[0021] 所述步骤四中的全局置乱的操作方法为:将密文图像展开为一维像素序列P1{1,2,3……,M×N},并将像素序列P1{1,2,3……,M×N}中像素的位置和给定密钥的伪随机序列S{1,2,3……,M×N}中元素的位置一一对应;升序排列伪随机序列S,得到索引序列S′;按照将伪随机序列S中的元素映射到索引序列S′中的规则,把像素序列P1{1,2,3……M×N}映射到新的像素序列P1′{1,2,3……M×N}中,像素序列P1′{1,2,3……M×N}为全局置乱后的像素序列;所述重组是将像素序列P1′{1,2,3……M×N}转化为M×N的图像矩阵,即可得到密文图像。
[0022] 所述步骤五中使用动态自可逆矩阵对密文图像I1进行加密的方法的步骤为:
[0023] 1)把密文图像I1切割成M×N/16个4×4的矩阵,分别标号为矩阵PMi,其中,[0024] i=1,2,……M×N/16;
[0025] 2)将序列Y进行运算:YM=reshape(mod(floor((Y(:)*102-floor(Y(:)*102))*1010),256),M,N),得到大小为M×N的伪随机的矩阵YM;其中,reshape()表示列优先的矩阵重组函数,mod()表示取余函数,floor()表示向下取整函数、Y(:)表示整个序列Y中所有的元素;
[0026] 3)把矩阵YM切割成M×N/16个4×4的矩阵,标号为YMi;
[0027] 4)把4×4的矩阵YMi等分成4个2×2的矩阵,并保留左上的2×2矩阵,得到矩阵Y′Mi;
[0028] 5)确定一个与M和N均互质的素数k,用自可逆矩阵的构造方法把2×2的矩阵Y′Mi转化为自可逆矩阵Ki;
[0029] 6)计算密文矩阵Ci,其中Ci=KiPMi;
[0030] 7)用密文矩阵Ci按照行优先的顺序组成密文图像I2。
[0031] 10.根据权利要求1所述的基于H分形结构和动态自可逆矩阵的图像加密方法,其特征在于,所述自可逆矩阵Ki的构造方法为:设4×4的自可逆矩阵 子矩阵-1
Ki11、Ki12、Ki21和Ki22均为2×2的矩阵,KI Ki(mod R)=E,E表示单位矩阵,R为密文图像I1的值域;令子矩阵Ki22=Y′Mi,则:
[0032]
[0033] 则k为给定的与值域R互质的素数。
[0034] 所述步骤七中利用H分形扩散方法进行加密的方法是:以密文图像I3左上角第一个像素为顶点开始构建H分形然后进行扩散,密文图像I3中H分形覆盖不到的像素点不做运算;所述H分形进行扩散的方法是:把一阶H分形端点两个像素的中间像素作为控制字,对H分形上端点的两个像素进行交叉运算。
[0035] 所述交叉运算的方法为:当控制字E中的像素二进制控制位的值为1时,使端点B和端点D像素中与控制位对应位置的二进制字符进行交换操作;当控制字E中的像素二进制控制位的值为0时,端点B和端点D像素中与控制位对应位置的二进制字符不进行操作。
[0036] 所述密文前向反馈方法是:将M×N的密文图像I5重新排列成像素序列P{1,2,3……,M×N};对像素序列P{1,2,3……,M×N}进行运算:
[0037]
[0038] 其中,bitxor()表示按位异或运算;得到扩散后的序列P′{1,2,3……,M×N},使像素序列P{1,2,3……,M×N}中位置靠前的像素影响到位置靠后的像素;将序列P′{1,2,3……,M×N}转化为大小为M×N矩阵得到密文图像I′。
[0039] 本发明的有益效果:使用SHA-256算法产生的Hash散列值和一个与256互质的素数作为密钥,通过Lorenz超混沌系统产生的4个伪随机序列用于像素位置置乱和自可逆矩阵的构造,以实现对图像进行置乱和扩散操作。本发明Lorenz超混沌系统的初始值由明文图像决定,使密文图像和明文图像紧密联系起来,增强了加密图像的安全性;基于图形学H分形结构的交叉扩散操作首次被应用,丰富了数字图像加密的手段,同时具有很高的安全性,易于实现,密钥空间大、敏感性强,可以抵抗穷举攻击和统计学攻击,而且在数据丢失时具有一定的恢复能,可以被用来保护数字图像的安全。附图说明
[0040] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1为本发明的流程图
[0042] 图2为Lorenz超混沌系统的相轨图。
[0043] 图3为H分形的结构示意图。
[0044] 图4为基于H分形的扩散过程的示意图。
[0045] 图5为基于H分形的交叉运算过程的示意图。
[0046] 图6为被H分形覆盖的大小为256×256图像的示意图。
[0047] 图7为本发明的原始图像和加密图像,其中,(a)为Lena原始图像,(b)为Lena密文图像,(c)为Cameraman原始图像,(d)为Cameraman密文图像,(e)为Peppers原始图像,(f)为Peppers密文图像,(g)为Baboon原始图像,(h)为Baboon密文图像,(i)为Boat原始图像,(j)为Boat密文图像。
[0048] 图8为本发明密钥发生微小改变时的解密图像,其中,(a)为Lena原始图像,b)为正确的解密图像,(c)为x0改变10-13后的解密图像,(d)为y0改变10-13后的解密图像,(e)为z0改变10-13后的解密图像,(f)为w0改变10-13后的解密图像,(g)为k=5时的解密图像。
[0049] 图9为原始图像和密文图像的直方图,其中,(a)为Lena明文的直方图,(b)为Lena密文的直方图,(c)为Cameraman明文直方图,(d)为Cameraman密文直方图,(e)为Peppers明文直方图,(f)为Peppers密文直方图。
[0050] 图10为随机选取Lena图像中10000个像素点及相邻像素点的值的分布图,其中,(a)为明文平方向,(b)为明文垂直方向,(c)为明文对角线方向,(d)为密文水平方向,(e)为密文垂直方向,(f)为密文对角线方向。
[0051] 图11为被裁减的密文图像和对应的解密图像,其中,(a)为裁剪面积为0,(b)为裁剪面积为1/256,(c)为裁剪面积为1/64,(d)为裁剪面积为1/16,(e)为正确的解密图像,(f)为裁剪面积为1/256的解密图像,(g)为裁剪面积为1/64的解密图像,(h)为裁剪面积为1/16的解密图像。

具体实施方式

[0052] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053] 如图1所示,一种基于H分形结构和动态自可逆矩阵的图像加密方法,其步骤如下:
[0054] 步骤一:将大小为M×N的原始灰度图像转化为大小为M×N的图像矩阵I。
[0055] 将原始灰度图像转化为大小相同的二维图像矩阵I,图像矩阵I中的元素为原始灰度图像的像素值,方便后续数字化处理。本发明处理的原始灰度图像的大小为256×256。
[0056] 步骤二:使用SHA-256算法对图像矩阵I进行处理,得到256位二进制的Hash散列值H,对Hash散列值H进行运算,得到混沌系统的初始值x0,y0,z0,w0。
[0057] 本发明使用SHA-256算法产生的Hash序列和构建自可逆矩阵所使用的素数k作为密钥。Lorenz超混沌系统的初始值x0,y0,z0,w0由原始灰度图像产生。将原始灰度图像输入到SHA-256函数,得到256位的二进制Hash散列值H,然后将Hash散列值H等分为32个8位二进制数h1,h2……h32,超混沌系统的初始值x0,y0,z0,w0通过公式(1)计算得到:
[0058]
[0059] 步骤三:将初始值x0,y0,z0,w0代入Lorenz超混沌系统并迭代,舍弃前800次迭代的值,得到四个长度为65536的序列X、序列Y、序列Z和序列W。
[0060] 混沌系统以其初始值敏感性、参数敏感性、状态遍历性、混合和相似随机性的特点,在信息加密领域中被大量应用。低维的混沌系统密钥空间小,伪随机性弱,因此,有很多学者对低维的混沌系统做了改进工作,使混沌系统向更高的维度发展。这些被改进后的高维度混沌系统被称作超混沌系统。为了产生本发明所需的四个伪随机序列,将四维的Lorenz超混沌系统应用到加密系统中,Lorenz超混沌系统描述为:
[0061]
[0062] 其中,x、y、z和w分别表示Lorenz超混沌系统的状态变量, 和 分别表示状态变量x、y、z和w的倒数,a、b、c、r是Lorenz超混沌系统的四个参数,当参数a=10,b=8/3,c=28,-1.52≤r≤0.06时,Lorenz超混沌系统处于超混沌状态。当r=-1时,使用龙格-库塔法对该Lorenz混沌系统进行迭代,仿真结果如图2所示。
[0063] 得到超混沌系统的初始值x0,y0,z0,w0后,根据原始灰度图像的大小选择Lorenz超混沌系统的迭代次数,假设原始灰度图像的大小为M×N,则需迭代M×N+800次。迭代Lorenz超混沌系统,舍弃前800次迭代的值,去除暂态效应,得到4个长度为M×N的伪随机序列X、Y、Z和W。
[0064] 步骤四:使用序列X对图像矩阵I进行全局置乱并重组,得到密文图像I1。
[0065] 使用Lorenz超混沌系统产生的伪随机序列X,Z,W对密文图像进行置乱操作。假设给定密钥为伪随机序列S{1,2,3……,M×N},则全局置乱操作可以描述为:首先将密文图像展开为一维像素序列P1{1,2,3……,M×N},并将像素序列P1{1,2,3……,M×N}中像素的位置和伪随机序列S{1,2,3……,M×N}中元素的位置一一对应;然后,升序排列伪随机序列S,得到索引序列S′。最后,按照将伪随机序列S中的元素映射到索引序列S′中的规则,把像素序列P1{1,2,3……M×N}映射到新的像素序列P1′{1,2,3……M×N}中,像素序列P1′{1,2,3……M×N}为全局置乱后的像素序列。重组是按照将密文图像展开为一维像素序列P1{1,
2,3……,M×N}的逆操作将全局置乱后的像素序列P1′{1,2,3……M×N}转化为M×N的图像矩阵。全局置乱并重组的解密过程是上述加密过程的逆过程,因此这里不再赘述。
[0066] 步骤五:使用序列Y和与256互质的素数k生成动态的自可逆矩阵,通过自可逆矩阵对密文图像I1加密,得到密文图像I2。
[0067] 1929年Hill提出了采用可逆矩阵的加密算法,该加密算法的基本思想是使用矩阵对明文做线性变换,将明文转化为密文,密钥是矩阵本身。该加密方法描述为:
[0068] C=Kpm(ModR)  (3)
[0069] 其中,PM代表明文矩阵,C表示密文矩阵,R为明文的值域,矩阵K代表加密密钥,矩阵K必须是可逆矩阵。在图像加密过程中,R=256。Hill加密算法是无压缩的,假设明文矩阵和密文矩阵的长度为l,加密公式还可以表示为:
[0070]
[0071] 其中,密文矩阵 明文矩阵 矩阵
[0072] Hill算法的解密过程是加密过程的逆运算,解密过程描述为:
[0073] pM=K-1C(modR)  (5)
[0074] 为了保证矩阵K-1的存在,本发明使用自可逆矩阵的构造方法,把矩阵K构造成4×4的自可逆矩阵,使K-1K(mod R)=E,E表示单位矩阵,则解密过程便可简化为:
[0075] PM=K-1C(modR)=KC(modR)  (6)。
[0076] 以下为自可逆矩阵的计算方法,假设矩阵A为4×4的自可逆矩阵,则A-1A(mod R)=E,设 子矩阵A11…A22均为2×2的矩阵,可以推导出:
[0077]
[0078] 将公式(7)展开可得:
[0079]
[0080] 为了方便构造自可逆矩阵,子矩阵A12被构造成(E-A11)的一个因子,子矩阵A21被构造成(E+A11)的一个因子。当A12≠0时,给定与值域R互质的素数k,则可推导出:
[0081]
[0082] 通过给定的子矩阵A22,便可计算得到自可逆矩阵A。以子矩阵 k=3,R=256为例,为了计算自可逆矩阵A,首先计算子矩阵A11。因为A11=-A22(mod R),所以:
[0083]
[0084] 然后计算子矩阵A12,A12=k(E-A11)(mod R),所以:
[0085]
[0086] 最后计算子矩阵A21,A21=(E+A11)/k(mod R),所以:
[0087]
[0088] 即自逆矩阵 经过验证,A-1A(mod 256)=E。
[0089] 迭代Lorenz超混沌系统,舍弃前800次迭代的值去除暂态效应,得到4个伪随机序列X、Y、Z、W,选择序列Y产生像素置换所使用的自可逆矩阵。使用动态自可逆矩阵对M×N的密文图像I1进行加密,加密过程可描述为如下步骤:
[0090] 1)把密文图像I1切割成M×N/16个4×4的矩阵,分别标号为矩阵PMi,其中,[0091] i=1,2,……M×N/16;
[0092] 2)将序列Y进行运算:YM=reshape(mod(floor((Y(:)*102-floor(Y(:)*102))*10
10 ),256),256,256),得到大小为256×256伪随机的矩阵YM;其中,reshape()表示列优先的矩阵重组函数,mod()表示取余函数,floor()表示向下取整函数、Y(:)表示整个序列Y中所有的元素。
[0093] 3)把矩阵YM切割成M×N/16个4×4的矩阵,标号为YMi;
[0094] 4)把4×4的矩阵YMi等分成4个2×2的矩阵,并保留左上角的2×2矩阵,得到矩阵Y′Mi;
[0095] 5)确定一个与256互质的素数k,用自可逆矩阵的构造方法把2×2的矩阵Y′Mi转化为自可逆矩阵Ki;
[0096] 所述自可逆矩阵Ki的构造方法为:设4×4的自可逆矩阵 子矩阵Ki11、Ki12、Ki21和Ki22均为2×2的矩阵,Ki-1Ki(mod R)=E,E表示单位矩阵,R为密文图像I1的值域;令子矩阵Ki22=Y′Mi,则:
[0097]
[0098] 则k为给定的与值域R互质的素数。
[0099] 6)计算密文矩阵Ci,其中Ci=KiPMi。
[0100] 7)用密文矩阵Ci(i=1,2,3……M×N/16)按照行优先重组组成密文图像I2。
[0101] 使用动态自可逆矩阵解密的过程是加密过程的逆过程,因此不再赘述。
[0102] 步骤六:使用序列Z对密文图像I2进行全局置乱并重组,得到密文图像I3。
[0103] 该步骤中的全局置乱并重组的方法与步骤四中的处理方法相同。
[0104] 步骤七:使用H分形扩散方法对密文图像I3进行加密,得到密文图像I4。
[0105] 1967年,Mandelbrot在美国《Science》杂志上发表题目为《英国的海岸线有多长》的划时代论文,使用分形一词描述自然界中传统欧几里德几何学所不能描述的一大类复杂无规则的几何对象,标志着其分形思想萌芽的出现。分形是一个数学术语,也是一套以分形特征为研究主题的数学理论。常见的几何分形有:Koch曲线、H分形、Sierpinski三角、Vivsek三角等。分形理论既是非线性科学的前沿和重要分支,又是一新兴的横断学科,是研究一类现象特征的新的数学分科,相对于其几何形态,它与微分方程与动力系统理论的联系更为显著。分形的自相似特征可以是统计自相似,构成分形也不限于几何形式,时间和过程也可以构成分形。分形作为一种新的概念和方法,正在许多领域开展应用探索。近年来,分形敏感度,尤其是Mandelbrot集和Julia集对初始值的敏感度,在图像加密中也得到了广泛应用。H分形是分形的一种,H分形如图3所示。分形图形可以用于信息的加密和防伪,本发明使用1阶的H分形对密文图像进行加密。
[0106] 本发明提出的基于H分形的交叉扩散方法,是把一阶H分形端点两个像素的中间像素作为算子,对H分形上端点的两个像素进行交叉操作完成扩散。以一个3×3的区域为例,基于H分形的扩散过程如图4所示,扩散的步骤是:首先把像素2作为控制字,控制像素1和像素3做交叉运算;然后把第8个像素作为控制字,控制像素7和像素9做交叉运算;最后把像素5作为控制字,控制像素2和像素8做交叉运算。交叉运算的方法如图5所示,其中E为控制字,B、D为端点像素的二进制,B′、D′为交叉运算后的像素的二进制。交叉运算可描述为当控制字E中的像素二进制控制位的值为1时,使端点B和端点D像素中与控制位对应位置的二进制字符进行交换操作;当E中的像素二进制控制位的值为0时,端点B和端点D像素中与控制位对应位置的二进制字符不进行操作。解密过程是上述扩散过程的逆运算,因此这里不再赘述。
[0107] 以256×256的图像为例,被H分形覆盖后的图像如图6所示。使用基于H分形的交叉扩散方法处理图像,是以图像左上角第一个像素为顶点开始构建H分形然后进行交叉运算,图像中H分形覆盖不到的像素点不做运算。
[0108] 步骤八:使用序列W对密文图像I4进行全局置乱并重组,得到密文图像I5。
[0109] 该步骤中全局置乱并重组的方法与步骤四中的处理方法相同。
[0110] 步骤九:对密文图像I5进行密文前向反馈操作,得到密文图像I′。
[0111] 本发明使用了一种密文前向反馈的方法增强扩散的效果,使相邻像素之间互相影响。密文前向反馈是为了使像素序列中位置靠前的像素影响到位置靠后的像素。假设密文图像的大小为M×N,密文前向反馈的具体过程可描述为:首先将M×N的密文图像I5重新排列成像素序列P{1,2,3……,M×N};然后使用公式(11)对像素序列P{1,2,3……,M×N}进行运算,
[0112]
[0113] 得到扩散后的序列P′{1,2,3……,M×N};将序列P′{1,2,3……,M×N}转化为大小为M×N矩阵得到密文图像I′。
[0114] 密文图像I′的解密过程是上述加密方法的逆过程,这里不再赘述。
[0115] 为了验证算法的有效性,对一些常见的图像进行加密,包括Lena图像、Cameraman图像、Peppers图像、Baboon图像和Boat图像,结果如图7所示。本发明提出的图像加密方法是无损的,所以对加密图像进行还原,得到的解密图像和原始图像完全相同,不会破坏原始图像的特征。
[0116] 本发明提出的加密方法使用SHA-256算法产生的256位Hash散列值和与256互质的素数k作为密钥,其中256位Hash散列值的密钥空间是2128。所以该算法的密钥空间很大,足以抵抗对密钥的穷举攻击。Lorenz超混沌系统的初始值由Hash散列值产生,当Hash散列值发生微小的改变,超混沌系统的初始值也会随之变化。本发明对这些初始值的变化十分敏感,当这些初始值微小变动10-13时,加密图像就不能被解密,如图8(c)-(f)所示。当加密使用的素数k=3时,正确的解密图像如图8(b)所示,当用素数k=5时解密图像如图8(g)所示,完全解密不出原来的图像。图8(c)-(f)同时列举了当混沌系统初始值发生了微小变化后的解密图像,通过对比可以看出,本发明对密钥十分敏感,足以抵抗对密钥的攻击。
[0117] 当明文发生微小改变,密文会发生很大的改变,这种现象说明加密方法对明文的变化十分敏感。明文的敏感性越高,加密方法抵御差分攻击的能力越强。这里用NPCR(像素改变的比率)和UACI(归一化平均改变强度)这两个指标去衡量加密方法的抗差分攻击能力。NPCR、UACI的计算方法如公式(12)所描述:
[0118]
[0119] 其中,P1表示密文图像,P2表示明文发生微小改变后的密文图像,M和N分别表示图像的长和宽;(i,j)表示像素点,Sign表示符号函数,计算方法如公式(13)所描述:
[0120]
[0121] NPCR的最大理论值为100%,UACI的理想值为33.4635%。NPCR越大,证明像素改变的越多。对原始图像改变1bit后,当k=3时,NPCR和UACI的值如表1所示,通过对比可知,本发明对明文十分敏感,可以很好的抵抗差分攻击。
[0122] 表1.NPCR和UACI
[0123]
[0124]
[0125] 信息熵是香农提出的对信息进行量化的概念,通常用H(s)表示。信息熵的计算方法如公式(14)所描述:
[0126]
[0127] 其中,p(m)表示第m种情况出现的概率,n表示所有可能出现的情况的总数。信息熵可以用来衡量信息的随机性,信息熵越接近于理想值,信息的随机性越强。灰度图像中的像素在区间[0,255]中,当图像完全随机时,每个像素的值出现的概率为1/256,所以,一副完全随机的灰度图像的信息熵为8。表2中列举了一些原始图像和密文图像的信息熵,通过对比可以看出,使用本发明加密的密文图像接近于随机状态。
[0128] 表2.原始图像和密文图像的信息熵
[0129]
[0130] 直方图统计分析属于统计攻击的一种,直方图可以对图像进行表征。原始图像的直方图中像素分布不均匀,不利于抵抗统计攻击。一个好的加密算法,可以使密文图像直方图中的像素分布更均匀,从而抵御已知明文攻击和选择明文攻击。图9中列举了当k=3时大小为256×256的Lena、Camera、Peppers原始图像和加密图像的直方图,通过对比可以看出,本发明能够破坏原始图像的直方图统计规律,实现很好的加密效果。
[0131] 图10中(a)、(b)和(c)中分别是Lena原始图像中随机选取的10000个像素点和这些像素点水平方向、垂直方向和对角线方向相邻像素点的值的分布图。通过分析可知,相邻的像素间具有很强的相关性。一个好的加密算法,可以打破相邻像素间的相关性,从而增强抵抗统计攻击分析的能力。使用本发明的加密方法加密Lena原始图像,在加密图像中随机选取的10000个像素点,这些像素点和其水平方向、垂直方向和对角线方向相邻像素点的值分布图如图10中(d)、(e)、(f)所示。通过对比可以看出,本发明可以打破相邻像素间的相关性。
[0132] 相关系数可以作为衡量相邻像素间相关性强弱的指标,计算方法如公式(15)所示,其中,N为选取的像素点的总数,E(x)表示选取的像素点的均值,D(x)表示选取的像素的方差,cov(x)表示选取的像素的协方差,r表示相关系数。相关系数的绝对值接近于1说明数据的相关性很强,相关系数的绝对值接近于0说明数据几乎没有相关性。原始图像和加密图像的相关系数如表3所示,通过对比可以看出,本发明加密的图像相关性几乎为0,可以打破相邻像素间的相关性。
[0133]
[0134] 表3.各方向上相邻像素间的相关系数
[0135]
[0136] 加密方法的抗裁减攻击能力可以反应出当加密图像数据丢失时系统对原始图像的恢复程度。在未经全局置乱的加密系统中,当密文图像经过裁剪之后,其解密图像可能丢失原始图像中一些重要的特征。在本发明提出的加密方法中,分别将Lena密文图像裁剪去左上角其面积的0、1/256、1/64、1/16,对应的解密图像如图11(e)-(h)所示。由图11可知,即使很小的裁剪面积对解密图像都有很大的影响。
[0137] 表4.经过裁减攻击后的解密图像的NPCR、UACI的值和相关系数
[0138]
[0139] 表4中列举了原始图像和经过裁减攻击后的解密图像间的NPCR、UACI的值和相关系数,通过数据间的对比,证明了本发明具有良好的抗裁剪攻击能力。
[0140] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈