一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于二维离散混沌映射与矩阵半张量积的图像加解密方法

2022-04-27 12:24:21 来源:中国专利 TAG:


1.本发明属于信息安全技术领域,尤其涉及基于二维离散混沌映射与矩阵半张量积的图像加解密方法。


背景技术:

2.随着互联网及计算机技术的高速发展,数字图像的生成与传输也变得方便快捷。同时,数字图像可承载大量的信息数据,在军事、医疗、教育、商业等领域均具有重要意义。因此,保证图像中隐私信息的安全已成为信息安全领域的重要问题之一。
3.与传统的文本信息相比,数字图像信息具有数据量大,冗余度高,像素间相关性高等特点,导致数据加密标准(data encryption standard,des)、高级加密标准(advanced encryption standard,aes)等经典文本加密方案无法满足图像加密的需求。20世纪初,气象学家lorenz首次提出混沌理论,经过近百年的发展,混沌理论目前已经成为了一个日趋成熟的理论体系。1998年,fridrich利用混沌系统的初值敏感性、遍历性、伪随机性等良好特性,首次设计了基于混沌系统的图像加密方案,并提出了经典的“混淆-扩散”的图像加密体系,奠定了现代数字图像加密的基础(参见文献[1]:fridrich j.symmetric ciphers based on two-dimensional chaotic maps[j].international journal of bifurcation&chaos,1998,8(6):1259-1284.)。该方案分为混淆与扩散两个阶段,图像混淆旨在通过改变图像中的像素点的位置降低自然图像中的相关性,达到隐藏明文图像位置信息的目的;而图像扩散则通过改变图像中的所有像素点的像素值,使其均匀分布在所有灰度值中。经典的混沌图像加密流程图如图1所示。
[0004]
安全散列算法(secure hash alogorithm,sha)旨在保护数据完整性的一系列哈希算法,由美国国家安全局研发(参见文献[2]:gilbert h,handschuh h.security analysis of sha-256and sisters[c]//international workshop on selected areas in cryptography.springer,berlin,heidelberg,2003:175-193.)。sha-256哈希算法可将任意长度的消息单向映射成一个256比特的摘要。对任意消息,即使原始消息发生极小的变动,经过sha映射出的消息摘要将会完全不同,这与图像加密中的明文敏感性异曲同工。在图像加密方案中,引入sha算法更新密钥,可提高混沌序列的明文敏感性,增强加密方案抵挡差分攻击的能力。
[0005]
矩阵半张量积是由程代展(参见文献[3]:cheng daizhan.analysis and control of boolean networks:a semi-tensor product approach[m].qi hongsheng,li zhiqiang.london springer london:2011.)所提出的一种新型矩阵运算方法,在一定程度上突破了矩阵乘法的维度限制,被广泛应用于布尔网络的求解中。王金铭等(参见文献[4]:王金铭,王杰,蒋燕君.基于半张量积的图像加密[j].中国图象图形学报,2016,21(03):282-296.)首次将其应用到图像加密中,利用低阶密钥矩阵实现了对大尺寸输入图像的有效加密,但其仅有图像扩散,不满足“混淆-扩散”原则,无法抵挡统计攻击。xingyuan wang等人利用lorenz混沌系统生成混沌序列与半张量积矩阵,结合排序混淆算法与矩阵半张量
积,使其满足“混淆-扩散”结构(参见文献[5]:xingyuan wang,suo gao.application of matrix semi-tensor product in chaotic image encryption[j].journal of the franklin institute,2019,356(18):11638-11667.)。但他们所采用的矩阵半张量积扩散算法未对明文图像预处理,对深色场景下的图像加密效果较差。
[0006]
基于上述分析,可以发现,一方面,现有的低维混沌系统如logistic、sine与henon混沌系统等,虽具有混沌特性,但其系统混沌映射构造简单,容易被攻击者所预测;而高维混沌系统如lorenz、chen混沌系统等,具有较好的安全性,但这类混沌系统生成混沌序列时需采用龙格库塔法求解微分方程,耗时极高。另一方面,现有的基于矩阵半张量积的图像加密算法虽具有高效、安全性,能够抵抗常见的攻击。然而,上述加密算法在扩散阶段均仅使用矩阵半张量积进行扩散,而对明文图像未做预处理,将导致密文图像的像素值分布不均,无法抵御选择明文攻击。


技术实现要素:

[0007]
基于现有技术存在的问题,本发明首先提出一种新型二维离散混沌系统,在拥有优良的混沌特性的同时,还保留了低维混沌系统的高效性;并将其与矩阵半张量积结合应用于图像加密方案中。采用sha-256哈希算法更新密钥以增强方案抵挡选择明文攻击的能力;进而,对明文图像进行像素级的多方向循环移位,去除相邻像素间的相关性;然后,利用异或运算对置乱图像进行预处理,使置乱图像中的像素值分布大致均匀,避免明文图像信息影响后续加密效果;最后,将混沌序列与置乱图像进行矩阵半张量积运算,得到像素值分布均匀的密文图像。本发明具有良好的抵御差分攻击性能,在提高鲁棒性的同时增强了安全性。
[0008]
本发明提供了一种基于二维离散混沌映射与矩阵半张量积的图像加解密方法以解决上述技术问题,并实现上述技术效果,具体如下:
[0009]
在本发明的第一方面,本发明提供了一种基于二维离散混沌映射与矩阵半张量积的图像加密方法,所述方法包括:
[0010]
输入明文图像,采用哈希算法对明文图像进行加密处理,得到明文图像的哈希值,并将明文图像的哈希值分为四段;
[0011]
根据明文图像的每一段哈希值分别对明文图像的初始密钥进行更新,生成真密钥;
[0012]
将四个真密钥作为二维离散混沌映射的初值条件,经过迭代计算得到四个混沌序列;
[0013]
将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
[0014]
采用所述第一混沌矩阵和所述第二混沌矩阵对所述明文图像进行多方向循环移位,输出置乱图像;
[0015]
将所述第三混沌矩阵和所述置乱图像进行异或运算,得到异或矩阵;将所述异或矩阵与第四混沌矩阵进行矩阵半张量积运算,输出矩阵半张量积结果;
[0016]
对所述矩阵半张量积结果进行处理,输出加密后的密文图像以及对应的解密密钥矩阵。
[0017]
在本发明的第二方面,本发明还提供了一种基于二维离散混沌映射与矩阵半张量积的图像解密方法,所述方法包括:
[0018]
输入密文图像,并同时输入解密密钥矩阵、初始密钥以及明文图像的哈希值;
[0019]
根据所述初始密钥和所述哈希值更新密钥,并得到真密钥;
[0020]
将所述真密钥输入到二维离散混沌映射中,经过迭代计算得到四个混沌序列;
[0021]
将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
[0022]
根据密文图像和解密密钥矩阵计算出矩阵半张量积结果;
[0023]
根据第三混沌矩阵和第四混沌矩阵,利用矩阵半张量积的逆运算,计算置乱图像;
[0024]
采用第一混沌矩阵和第二混沌矩阵,对置乱图像倒序进行多方向循环移位求得解密图像。
[0025]
本发明的有益效果具体来自以下三个方面:
[0026]
本发明可以利用sha-256哈希算法的不可逆性,基于明文图像的sha-256哈希值进行密钥更新以产生明文强相关的混沌序列。本发明对明文图像进行像素级的多方向循环移位,去除相邻像素间的相关性;将传统的两向循环移位置乱算法扩充至四方向,进一步提高了混淆效果,打破了置乱图像中的统计特性。本发明采用异或运算对置乱图像进行预处理,使置乱图像中的像素值分布大致均匀,避免明文图像信息影响后续加密效果;随后,将混沌序列与置乱图像进行矩阵半张量积运算,得到像素值分布均匀的密文图像。
附图说明
[0027]
图1是经典的混沌图像加密流程图;
[0028]
图2是本发明实施例的图像加密方法流程图;
[0029]
图3是本发明实施例中的混沌吸引子相图;
[0030]
图4是本发明实施例中的混沌系统的lyapunov指数谱;
[0031]
图5是本发明实施例中的混沌系统的分岔图;
[0032]
图6是本发明实施例的加密方案框图;
[0033]
图7是本发明实施例的图像解密方法流程图;
[0034]
图8是本发明实施例的解密方案框图。
具体实施方式
[0035]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
考虑到现有技术中的混沌系统和矩阵半张量积对于图像加密都存在一定缺陷,本发明提出一种新型二维离散混沌系统,在拥有优良的混沌特性的同时,还保留了低维混沌系统的高效性;并将其与矩阵半张量积结合应用于图像加密方案中。采用sha-256哈希算法更新密钥以增强了算法抵挡选择明文攻击的能力;进而,对明文图像进行像素级的多方向循环移位,去除相邻像素间的相关性;然后,利用异或运算对置乱图像进行预处理,使置乱
图像中的像素值分布大致均匀,避免明文图像信息影响后续加密效果;最后,将混沌序列与置乱图像进行矩阵半张量积运算,得到像素值分布均匀的密文图像。本方案具有良好的抵御差分攻击性能,在提高鲁棒性的同时增强了安全性。
[0037]
图2是本发明实施例的图像加密方法流程图,如图2所示,所述方法包括:
[0038]
101、输入明文图像,采用哈希算法对明文图像进行加密处理,得到明文图像的哈希值,并将明文图像的哈希值分为四段;
[0039]
在本发明实施例中,为提高加密过程中的明文相关性,可以利用sha-256哈希算法的不可逆性,生成明文图像的哈希值,具体的,可以根据sha-256哈希算法,求取明文图像p的哈希值hv,并将其均分为四段长度为64的十六进制字符串,记作hvi(i=1,2,3,4),则hvi的取值范围为[0,2
64-1]。令hv=2
64-1,则hvi∈[0,hv]。
[0040]
可以理解的是,也可以选择其他哈希算法,该哈希算法具有不可逆性,且能够将明文图像均分为四段相同长度的字符串。
[0041]
102、根据明文图像的每一段哈希值分别对明文图像的初始密钥进行更新,生成真密钥;
[0042]
在本发明实施例中,每一段哈希值均含有部分明文信息,因此可以将该部分明文信息转换为数值形式,并将数值叠加到初始密钥中,从而完成对初始密钥的更新,其中初始密钥可以是现有的任何一种设置所确定的密钥,本发明对初始密钥的来源不作具体的限制。
[0043]
在本发明实施例中,可以根据明文图像的sha-256哈希值对密钥进行更新得到兼具明文图像信息与密钥信息的新密钥。因此,根据新密钥所产生的混沌序列也将与明文图像与密钥密切相关,这将大幅度提升加密系统的安全性。
[0044]
具体的,对密钥x0′
,y0′
,z0′
,w0′
按下式更新,便可得到新密钥更新后的值x0,y0,z0,w0。
[0045][0046]
其中,x0,y0,z0,w0依次表示四个更新后的真密钥,即通过每段哈希值所更新的密钥,x0′
,y0′
,z0′
,w0′
依次表示四个初始密钥;hvi表示第i段哈希值,hvi∈[0,hv];hv表示每段哈希值的取值上界,hv=2
n/4-1;n表示每段哈希值的字符长度。
[0047]
103、将四个真密钥作为二维离散混沌映射的初值条件,经过迭代计算得到四个混沌序列;
[0048]
在本发明实施例中,提出了一种新型二维离散混沌映射,其数学表达如下式所示:
[0049][0050]
其中,n表示系统当前所处时刻;n 1表示系统在下一时刻的所处时刻;a,b为混沌映射的参数,x,y为系统的四个状态变量;xn表示在n时刻的第一系统状态变量;x
n 1
表示在n
1时刻的第一系统状态变量;yn表示在n时刻的第二系统状态变量;y
n 1
表示在n 1时刻的第二系统状态变量。给定混沌系统的初值[x0,y0]=[3.62,1.56]、系统参数a=6,b=1.5时,得到混沌系统的相图如图3所示。以a为控制参数,求得该混沌系统的lyapunov指数谱如图4所示。从图4中可以看出,当a∈(2,10)时,该混沌系统的两个lyapunov指数绝大多数时候均大于0,说明系统具有极好的混沌特性,表现出超混沌现象。同时,系统的分岔图如图5所示。可以看出,系统的周期窗口个数少,参数空间大。
[0051]
基于上述二维离散混沌系统,本发明将更新后的真密钥{x0,y0}与{z0,w0}分别作为混沌系统的初始条件代入,因此可以迭代求解出四个混沌序列x,y,z,w。
[0052]
其中,上述迭代求解的过程与传统混沌系统的迭代过程完全一致,本发明多次不作具体的说明,本领域技术人员可以根据传统混沌系统的迭代过程实现本技术中的迭代求解过程。
[0053]
104、将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
[0054]
在本发明实施例中,根据下式将x,y,z,w预处理为可用于加密的整数混沌矩阵。
[0055][0056]
其中,ics1表示第一混沌矩阵,ics2表示第二混沌矩阵,ics3表示第三混沌矩阵,ics4表示第四混沌矩阵,x表示第一混沌序列,y表示第二混沌序列,z表示第三混沌序列,w表示第四混沌序列,reshape表示重排;mod表示取余;it表示混沌序列中混沌数量,m表示明文图像的尺寸,m为m的因子中最接近的因子。
[0057]
上式中,为避免瞬态效应,舍去了混沌序列中的前it=1000个混沌数,且m为m的因子中最接近的因子,从而能够规避瞬态效应。
[0058]
105、采用所述第一混沌矩阵和所述第二混沌矩阵对所述明文图像进行多方向循环移位,输出置乱图像;
[0059]
在本发明实施例中,由于自然图像的相邻像素点间通常高度相关,因此加密算法需要对明文图像进行去相关处理,以抵挡统计攻击。本发明实施例提出一种通过多方向像素级循环移位对明文图像去相关的置乱算法,来完成对图像的置乱处理。置乱步骤如下:
[0060]
步骤s1:创建置乱图像c=p。
[0061]
步骤s2:令i=1,j=1;
[0062]
步骤s3:若第一混沌矩阵的元素值ics1(i,j)等于0,则将置乱图像c中第i行所有元素向右循环移第二混沌矩阵的元素值ics2(i,j)位;若第一混沌矩阵的元素值ics1(i,j)等于1,则将置乱图像c中第j列所有元素向下循环移第二混沌矩阵的元素值ics2(i,j)位;若第一混沌矩阵的元素值ics1(i,j)等于2,则将置乱图像c中(i,j)所在主对角线上所有元素沿主对角线方向循环移第二混沌矩阵的元素值ics2(i,j)位;若第一混沌矩阵的元素值
ics1(i,j)等于3,则将置乱图像c中(i,j)所在副对角线上所有元素沿副对角线方向循环移第二混沌矩阵的元素值ics2(i,j)位。
[0063]
步骤s4:当i等于m且j等于m时,执行步骤s7。否则,执行步骤s6。
[0064]
步骤s5:当j《m,则j=j 1;否则i=i 1,j=1。随后跳至步骤s4。
[0065]
步骤s6:输出混淆图像即置乱图像c。106、将所述第三混沌矩阵和所述置乱图像进行异或运算,得到异或矩阵;将所述异或矩阵与第四混沌矩阵进行矩阵半张量积运算,输出矩阵半张量积结果;
[0066]
在本发明实施例中,考虑到目前所有基于矩阵半张量积的图像扩散算法均简单使用混沌矩阵与混淆图像进行矩阵半张量积运算,得到密文图像,这种方式对于较暗的数字图像加密来说,其效果不佳。因此,本发明实施例在进行半张量积运算前,将置乱图像c与第三混沌矩阵ics3进行异或运算,使其像素值分布大致均匀,以修正原始图像信息所带来的影响。
[0067]
改进的扩散方案执行步骤如下:
[0068]
步骤s1:利用第三混沌矩阵ics3将置乱图像c中的所有元素以异或的形式进行预处理得到异或矩阵i,使其像素值分布大致均匀,以免原始图像中像素值过大或过小影响加密效果。
[0069]
步骤s2:将异或矩阵i与第四混沌矩阵ics4进行矩阵半张量积运算,其结果为a。
[0070]
107、对所述矩阵半张量积结果进行处理,输出加密后的密文图像以及对应的解密密钥矩阵。
[0071]
在本发明实施例中,对所述矩阵半张量积结果进行处理,输出加密后的密文图像以及对应的解密密钥矩阵包括令其中,d为密文图像,d1为解密密钥矩阵;a表示矩阵半张量积结果。
[0072]
在本发明实施例中,矩阵半张量积作为一种新型矩阵运算方法,突破了矩阵乘法的维度限制,被广泛应用于布尔网络求解中。半张量积的定义如下所示。
[0073]
定义1:假定a是一个k
×
l维的行向量,b是一个l维的列向量;将a分成l块,记作a1,a2,a3,

,a
l
,其中所有ai均为k维行向量。那么有:
[0074][0075]
式中,代表半张量积。
[0076]
定义2:假定ur×
l
与vs×
t
为两个矩阵,其中l可被s整除,则矩阵u与v的半张量积w
i,j
可定义如下式所示:
[0077][0078]
式中,ui代表矩阵u的第i行,vj代表矩阵v的第j列。
[0079]
定理1:给定矩阵xm×
np
与y
p
×q,有:
[0080][0081]
式中,代表张量积,in为n阶单位矩阵。
[0082]
定理2:设且那么有:
[0083][0084]
图6是本发明实施例的加密方案框图,如图6所示,本发明实施例采用经典的“置乱-扩散”结构对图像进行加密。所提出的加密方案针对分辨率为m
×
m的明文图像p设计,若p不满足此条件,可采用补0的方式对p进行预处理。
[0085]
图7是本发明实施例的图像解密方法流程图,如图7所示,所述方法包括:
[0086]
201、输入密文图像,并同时输入解密密钥矩阵、初始密钥以及明文图像的哈希值;
[0087]
在本发明实施例中,需要输入:密文图像d,解密密钥矩阵d1,密钥k,及明文图像的sha-256哈希值hv。
[0088]
202、根据所述初始密钥和所述哈希值更新密钥,并得到真密钥;
[0089]
在本发明实施例中,根据密钥k和哈希值hv更新密钥,得到真密钥k


[0090]
203、将所述真密钥输入到二维离散混沌映射中,经过迭代计算得到四个混沌序列;
[0091]
204、将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
[0092]
依次生成第一混沌序列、第二混沌序列、第三混沌序列和第四混沌序列,并将其重排并预处理为第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
[0093]
在本发明实施例中,将真密钥k

输入到本发明的二维离散混沌映射中,生成混沌序列x,y,z,w,将其重排并预处理为混沌矩阵ics1,ics2,ics3与ics4。
[0094]
205、根据密文图像和解密密钥矩阵计算出矩阵半张量积结果;
[0095]
在本发明实施例中,根据a=d1×
256 d计算半张量积的结果a。
[0096]
206、根据第三混沌矩阵和第四混沌矩阵,利用矩阵半张量积的逆运算,计算置乱图像;
[0097]
在本发明实施例中,利用ics3与ics4及矩阵半张量积的逆运算,计算置乱图像c。
[0098]
207、采用第一混沌矩阵和第二混沌矩阵,对置乱图像倒序进行多方向循环移位求得解密图像。
[0099]
在本发明实施例中,若第一混沌矩阵中ics1(i,j)元素值等于0,则将置乱图像中第i行所有元素向左循环移第二混沌矩阵的元素值ics2(i,j)位;若第一混沌矩阵的元素值ics1(i,j)等于1,则将置乱图像中第j列所有元素向上循环移第二混沌矩阵的元素值ics2(i,j)位;若置乱图像第一混沌矩阵的元素值ics1(i,j)等于2,则将置乱图像中(i,j)所在副对角线上所有元素沿副对角线方向循环移第二混沌矩阵的元素值ics2(i,j)位;若第一混沌矩阵的元素值ics1(i,j)等于3,则将置乱图像中元素(i,j)所在主对角线上所有元素沿主对角线方向循环移第二混沌矩阵的元素值ics2(i,j)位,其中,i∈[1,m1],j∈[1,m1],m1表示置乱图像的尺寸。
[0100]
可以理解的是,本发明实施例中步骤207中倒序进行多方向循环移位与步骤105的多方向循环移位的方式是相反方向,即若步骤105中向右移位,那么步骤207中则需要向左移位,若步骤105中向下移位,则步骤207中则需要向上移位,通过上述倒序多方向循环移位方式,即可求得置乱图像所对应的解密图像ep。
[0101]
图8是本发明实施例的解密方案框图,如图8所示,本发明实施例采用密钥更新和解密过程来完成图像解密,在本实施例中,将初始密钥进行更新以后能够得到真密钥,对真密钥输入到二维离散混沌映射中,分别得出各个混沌矩阵,将密文图像和密钥矩阵,利用第三混沌矩阵和第四混沌矩阵进行矩阵半张量积计算,得到置乱图像,将置乱图像与第一混沌矩阵和第二混沌矩阵,进行逆向循环移位得到解密图像。
[0102]
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0103]
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0104]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献