基于混合混沌和Arnold变换的图像加密算法

文档序号:30583663发布日期:2022-06-29 14:03阅读:203来源:国知局
基于混合混沌和Arnold变换的图像加密算法
基于混合混沌和arnold变换的图像加密算法
技术领域
1.本发明涉及混沌图像加密技术领域,具体为基于混合混沌和arnold变换 的图像加密算法。


背景技术:

2.随着移动通信技术和网络技术的发展,人类进入了网络时代,智能手机、 平板电脑等移动终端的使用越来越普及。在这一大背景下,图像信息由于其 对事物描述的直观、生动、形象、明了等优点,已成为人们信息交流的主要 媒介。然而,图像数据往往涉及到人们的个人隐私,在网络这一开放的空间 里极易被人窃取篡改,人们的隐私信息面临巨大的安全隐患,因而迫切需要 一些图像加密技术对图像信息进行保护。
3.作为一种独特的非线性现象,混沌由于其初始值敏感性、非周期性、分 维性等特点,非常适合于图像加密。近年来,混沌加密技术已成为图像加密 领域的一个热点,取得了一些成果。然而,这些成果大多采用单一混沌系统 产生的伪随机序列来加密图像信息,但值得注意的是,同一混沌系统产生的 各伪随机序列之间通常具有关联性,且相对于多个混沌系统产生的伪随机序 列而言,其作为密钥的初始值和参数值数量较小,从而导致密钥空间较小, 这样势必会影响加密强度。为此,采用多个不同的混沌系统产生混合混沌伪 随机序列来对图像进行加密是一个不错的选择,但目前该方向的研究成果却 不多见。
4.在现有关于多个混沌系统的混合混沌图像加密的文献中,文献【米曾真, 朱革,张红民,等.基于复合混沌模型的高级加密标准图像加密算法.计量 学报,2016,37(2):138-142】提出了一种基于多个混沌系统的图像加密算法, 但该算法采用的混沌系统均是低维混沌系统,密钥空间小,导致安全性不高。 文献【张晓博,陈家慧,彭进业,等.基于复合混沌的图像加密方法.计算 机应用研究[j],2019,36(11):3396-3400】提出一种由sine混沌改变均匀 分布的logistic混沌排列次序形成复合混沌序列的图像加密方法,但此方法 使用的混沌系统维数较低,作为密钥的系统参数和初始值数量小,从而导致 密钥空间较小。文献【张雪锋,范九伦.一种改进的基于混沌系统的数字图 像加密算法[j].计算机应用研究,2007,24(4):184-186】提出使用logistic 和二维henon映射两种混沌系统,通过图像位置置乱和图像扩散两个步骤完 成加密,但上述方法使用的logistic混沌存在分布不均匀的特点,可能被攻 击者实行统计分析,导致密文的隐藏性存在不足。
[0005]
值得注意的是,现有采用多个混沌系统产生混合混沌伪随机系列进行图 像加密的成果可提高混沌图像加密的安全性,但仍存在一些值得改进之处, 具体如下:
[0006]
(1)部分文献用于产生混合混沌伪随机系列的混沌系统维数较低,容易 导致密钥空间较小。
[0007]
(2)部分文献用于产生混合混沌伪随机系列的多个混沌系统属性单一, 要么使用的都是离散混沌系统,要么均使用连续的混沌系统,未将离散混沌 系统与连续混沌系统相结合,从而未能充分结合离散混沌系统和连续混沌系 统的优良特性。
[0008]
(3)有些文献采用的置乱方式较为单一,并未使用多个混沌系统产生的 混沌伪随
机系列对置乱操作进行动态控制,密钥空间利用不够充分。
[0009]
因此,将其它置乱方式与混合混沌系统相互结合,并应用混合混沌对置 乱操作进行控制以充分利用密钥空间,无疑会增强图像加密性能,从而提升 图像加密的抗攻击性。
[0010]
arnold变换也称为猫映射,因为使用一张猫脸来演示变换过程而得名。 经典arnold变换是一个二维可逆映射,可表示为:
[0011][0012]
上式定义了矩阵a,注意到行列式|a|=1,因此arnold变换是一个保面 积映射(没有吸引子)。同时arnold变换是一个一一映射,单位矩阵内的每一 点唯一地变换到单位矩阵内的另一点。arnold变换是在[0,n-1]
×
[0,n-1]上的一 对一变换。
[0013]
对于图像加密中的置乱算法,一些学者在研究图像加密时,采用了许多 置乱方法,arnold变换是其中的一种。马在光等人在文献【马在光,丘水生. 基于广义猫映射的一种图像加密系统[j].通信学报,2003,24(2):51-57】 中将图像的像素坐标和灰度作为arnold变换的初始值,映射参数和迭代次数 作为密钥,对图像进行加密。文献【吴茂成.离散arnold变换改进及其在图 像置乱加密中应用.物理学报,2014,63(9):09054.】提出了离散arnold变 换的改进方法,并将其用于图像置乱。该方法利用现有离散标准映射的构造 思想,将传统离散二维arnold变换表达式中第一个变换表达式所对应的变换 结果非线性融入第二个变换表达式,实现经典离散二维arnold变换的非线 性去拟仿射化修改,以便快速改善图像置乱加密效果。陈宝文等人在文献【陈 宝文,陈彦安.基于arnold变换与混沌系统的位级图像加密.信息通信,2020, 214:36-39】中首先对原始图像分解成8幅二进制图像,并利用arnold变换 对每幅二进制图像进行像素位置置乱。然后把置乱后的8幅二进制图像重叠 一起并进行转换,从而得到置乱后的灰度图像,接着利用混沌系统产生的混 沌序列对置乱后的图像进行线性扩散与置乱。
[0014]
但值得注意的是,以上利用arnold变换的方法对图像进行置乱操作时, 置乱的密钥使用输入若干键的ascii码作为参数及迭代次数,且每次迭代均 采用同一种arnold变换进行多次迭代,这既导致迭代的次数少,且采用同一 种方法连续迭代,大大降低了图像的加密强度。


技术实现要素:

[0015]
(一)解决的技术问题
[0016]
针对现有技术的不足,本发明提供了基于混合混沌和arnold变换的图像 加密算法,解决了现有基于arnold变换加密算法固定使用一种迭代规则,导 致迭代规则单一的问题。
[0017]
(二)技术方案
[0018]
为实现以上目的,本发明通过以下技术方案予以实现:基于混合混沌和 arnold变换的图像加密算法,具体包括以下步骤:
[0019]
s1、先采用两个混沌系统产生的混合混沌伪随机序列作为参数对arnold 变换进行动态抽取,生成变换规则;
[0020]
s2、然后将图像像素矩阵与两个混沌系统产生的混合混沌伪随机序列矩 阵进行
异或运算生成扩散矩阵进行加密;
[0021]
s3、之后使用matlab软件对算法进行仿真,并通过密钥空间、直方图、 信息熵、相邻像素相关性等图像加密性能指标对该算法进行分析。
[0022]
优选的,所述步骤s1中对arnold变换进行动态抽取的置乱算法具体保 赔款以下步骤:
[0023]
t1、读取输入原始图像的像素值,得到像素矩阵a;
[0024]
t2、以给定的混沌序列为参数,确定p的值,选取一种变换矩阵,将像 素矩阵的a位置进行的arnold变换;
[0025]
t3、重复步骤t2过程n次;
[0026]
t4、经过上述步骤t1-t3,得到了一个置乱矩阵b。
[0027]
优选的,所述步骤t3中每次迭代,利用一个参数p∈{0,1,2,3}来选取其中 的一种变换方法,即动态选取以下四种变换矩阵之一:
[0028][0029]
在选择p值时,根据混合混沌系统或其他混沌系统产生的混沌伪随机序列, 经过取整、取模等处理后,动态地选择p值,进而动态地选择四种变换模式中 的一种进行置乱。
[0030]
优选的,所述步骤s2中采用混合混沌系统生成的混沌序列,重塑成混沌 矩阵,最后将置乱矩阵和混沌矩阵进行异或运算,实现最终的加密,通过采 用以下两个混沌系统进行加密:
[0031]
logistic混沌系统是二维成对logistic混沌系统:
[0032][0033]
式中λ1、λ1、λ1和λ1为系统参数,当2.75<λ1≤3.4,2.7<λ2≤3.45,0.15<γ1≤0.21, 0.13<γ2≤0.15时,该混沌系统为混沌映射,其中w(n),u(n)∈(0,1)。
[0034]
四维chen超混沌系统:
[0035][0036]
其中x,y,z,q为状态变量,a,b,c,d,k为系统参数,当这些参数取某些特定的值时, 系统呈现出混沌状态。
[0037]
优选的,所述步骤s2中加密算法的具体加密步骤如下:
[0038]
e1、读取原始图像,将其转化成一个二维像素值矩阵,若不能够进行整 除则对较短的边进行补“0”,形成一个n
×
n的矩阵;
[0039]
e2、输入二维logistic函数的参数,(λ1,λ2,γ1,γ2)的值分别取 (3.01,2.8,0.),状态变量的初始值w(1),u(1)为(3.01,2.8)代入离散logistic混 沌系统,去掉前400项,得到混沌实数混沌伪随机序列wi,ui;
[0040]
e3、输入四维chen超混沌系统的参数a=35,b=3,c=12,d=7,k=0.58,状态 变
量的初始值x,y,z,q分别取(0.1,0.001,0,0.1)代入chen超混沌系统,去掉前400 项,得到混沌实数混沌伪随机序列xi,yi,zi,qi;
[0041]
e4、由式
[0042]
kx=[|x
i-[xi]|]
×
10
15
,
[0043]
ky=[|y
i-[yi]|
×
10
15
]mod256,
[0044][0045][0046]
取混沌实数序列中元素小数点后15位,除kx序列外进行取整后取模256,转 化成(0,255)范围内的混沌伪随机序列,式中[
·
]为取整函数。六组序列中xi,yi为 单独的两组序列,zi,qi两组序列交叉排列wi,ui两组序列交叉排列,一共得到新 的四组序列;
[0047]
e5、将伪随机序列k、kz转换成二维矩阵h、hz,大小皆为n
×
n;
[0048]
e6、将序列kx对4取模,可以确定p值,作为arnold变换的参数选定 变换矩阵,进行一轮迭代,重复n次,得到图像a;
[0049]
e7、由式
[0050][0051]
将二维矩阵a、二维矩阵h和二维矩阵hz进行异或运算,得到加密矩阵m, 转化得到加密图像。
[0052]
优选的,与所述加密算法相对应的解密算法具体包括以下步骤:
[0053]
p1、取加密时的密钥,分别由logistic混沌系统和四维chen超混沌系 统得到混沌实数伪随机序列wi,ui和xi,yi,zi,qi,然后,由加密算法步骤e4中的 公式产生六组混沌序列,产生六组混沌序列,六组序列中xi,yi两组单独序列,zi,qi两组序列交叉排列,wi,ui两组序列交叉排列,一共得到新的三组序列;
[0054]
p2、将伪随机序列k、kz转换成二维矩阵h、hz,大小皆为n
×
n。
[0055]
p3、将密文矩阵与二维矩阵h、hz进行像素值异或运算,得到置乱矩阵a。
[0056]
p4、以图像a为对象,将序列kx对4取模,可以确定p值,作为arnold 变换的参数选定变换的方式,利用选定矩阵的逆矩阵,得到解密图像。
[0057]
(三)有益效果
[0058]
本发明提供了基于混合混沌和arnold变换的图像加密算法。与现有技术 相比具备以下有益效果:
[0059]
(1)、该基于混合混沌和arnold变换的图像加密算法,通过采用两个混 沌系统产生的混合混沌伪随机序列作为参数对arnold变换进行动态抽取生成 变换规则的置乱,保密强度高。
[0060]
(2)、该基于混合混沌和arnold变换的图像加密算法,其混沌伪随机系 列为两个混沌系统产生的混合混沌,作为密钥的参数和初始值较多,密钥空 间大。
附图说明
[0061]
图1为本发明实施例中加密过程示意图;
[0062]
图2为本发明实施例中解密过程示意图;
[0063]
图3为本发明加密仿真前的原图;
[0064]
图4为本发明加密仿真后的图像;
[0065]
图5为本发明加密仿真密钥错误解密后的图像;
[0066]
图6为本发明加密仿真密钥正确解密后的图像;
[0067]
图7为本发明加密仿真前的原直方图;
[0068]
图8为本发明加密仿真后的直方图;
[0069]
图9为本发明加密仿真前相邻像素的原相关性图;
[0070]
图10为本发明加密仿真前相邻像素的相关性图。
具体实施方式
[0071]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]
请参阅图1-10,本发明实施例提供一种技术方案:基于混合混沌和arnold 变换的图像加密算法,具体包括以下步骤:
[0073]
s1、先采用两个混沌系统产生的混合混沌伪随机序列作为参数对arnold 变换进行动态抽取,生成变换规则;
[0074]
s2、然后将图像像素矩阵与两个混沌系统产生的混合混沌伪随机序列矩 阵进行异或运算生成扩散矩阵进行加密;
[0075]
s3、之后使用matlab软件对算法进行仿真,并通过密钥空间、直方图、 信息熵、相邻像素相关性等图像加密性能指标对该算法进行分析,证明该算 法在图像加密中具有良好的效。
[0076]
本发明实施例,步骤s1中对arnold变换进行动态抽取的置乱算法具体 保赔款以下步骤:
[0077]
t1、读取输入原始图像的像素值,得到像素矩阵a;
[0078]
t2、以给定的混沌序列为参数,确定p的值,选取一种变换矩阵,将像 素矩阵的a位置进行的arnold变换;
[0079]
t3、重复步骤t2过程n次;
[0080]
t4、经过上述步骤t1-t3,得到了一个置乱矩阵b。
[0081]
本发明实施例,步骤t3中每次迭代,利用一个参数p∈{0,1,2,3}来选取其 中的一种变换方法,即动态选取以下四种变换矩阵之一:
[0082][0083]
在选择p值时,根据混合混沌系统或其他混沌系统产生的混沌伪随机序列, 经过取整、取模等处理后,动态地选择p值,进而动态地选择四种变换模式中 的一种进行置乱。
[0084]
改进的arnold变换利用了多种变换矩阵,使图像更加复杂,位置的关联 性更低,大大提高了图像的安全性。
[0085]
本发明实施例,步骤s2中采用混合混沌系统生成的混沌序列,重塑成混 沌矩阵,最后将置乱矩阵和混沌矩阵进行异或运算,实现最终的加密,通过 采用以下两个混沌系统进行加密:
[0086]
logistic混沌系统是美国生态学家r.may发现的二维成对logistic混 沌系统:
[0087][0088]
式中λ1、λ1、λ1和λ1为系统参数,当2.75<λ1≤3.4,2.7<λ2≤3.45,0.15<γ1≤0.21, 0.13<γ2≤0.15时,该混沌系统为混沌映射,其中w(n),u(n)∈(0,1)。
[0089]
四维chen超混沌系统:
[0090][0091]
其中x,y,z,q为状态变量,a,b,c,d,k为系统参数,当这些参数取某些特定的值时, 系统呈现出混沌状态。
[0092]
本发明实施例,步骤s2中加密算法的具体加密步骤如下:
[0093]
e1、读取原始图像,将其转化成一个二维像素值矩阵,若不能够进行整 除则对较短的边进行补“0”,形成一个n
×
n的矩阵;
[0094]
e2、输入二维logistic函数的参数,(λ1,λ2,γ1,γ2)的值分别取 (3.01,2.8,0.),状态变量的初始值w(1),u(1)为(3.01,2.8)代入离散logistic混 沌系统(1),去掉前400项,得到混沌实数混沌伪随机序列wi,ui;
[0095]
e3、输入四维chen超混沌系统的参数a=35,b=3,c=12,d=7,k=0.58,状态 变量的初始值x,y,z,q分别取(0.1,0.001,0,0.1)代入chen超混沌系统(2),去掉前 400项,得到混沌实数混沌伪随机序列xi,yi,zi,qi;
[0096]
e4、由式
[0097][0098]
取混沌实数序列中元素小数点后15位,除kx序列外进行取整后取模256,转 化成(0,255)范围内的混沌伪随机序列,式中[
·
]为取整函数。六组序列中xi,yi为 单独的两组序列,zi,qi两组序列交叉排列wi,ui两组序列交叉排列,一共得到新 的四组序列;
[0099]
e5、将伪随机序列k、kz转换成二维矩阵h、hz,大小皆为n
×
n;
[0100]
e6、将序列kx对4取模,可以确定p值,作为arnold变换的参数选定 变换矩阵,进行一轮迭代,重复n次,得到图像a;
[0101]
e7、由式
[0102][0103]
将二维矩阵a、二维矩阵h和二维矩阵hz进行异或运算,得到加密矩阵m, 转化得到加密图像,加密流程图如图1所示。
[0104]
本发明实施例中,与所述加密算法相对应的解密算法具体包括以下步骤:
[0105]
p1、取加密时的密钥,分别由logistic混沌系统(1)和四维chen超混沌 系统(2)得到混沌实数伪随机序列wi,ui和xi,yi,zi,qi,然后,由加密算法步骤e4 中的公式(3)产生六组混沌序列,产生六组混沌序列,六组序列中xi,yi两组单 独序列,zi,qi两组序列交叉排列,wi,ui两组序列交叉排列,一共得到新的三组 序列;
[0106]
p2、将伪随机序列k、kz转换成二维矩阵h、hz,大小皆为n
×
n。
[0107]
p3、将密文矩阵与二维矩阵h、hz进行像素值异或运算,得到置乱矩阵a。
[0108]
p4、以图像a为对象,将序列kx对4取模,可以确定p值,作为arnold 变换的参数选定变换的方式,利用选定矩阵的逆矩阵,得到解密图像,解密 过程如图2所示。
[0109]
仿真结果及性能分析
[0110]
本发明的仿真环境是intel(r)core(tm)i5-8300h cpu@2.30ghz,内 存为8gb的计算机,64位windows操作系统,matlab r2018b软件。仿真时 使用lena图像,采用本发明图像加密算法进行加密,利用状态变量w(1),u(1)的 初始值(3.01,2.8)代入离散logistic混沌系统(1),利用状态变量x(1),y(1),z(1),q(1) 的初始值(0.1,0.001,0,0.1)代入chen超混沌系统(2),产生伪随机序列,应用混 合混沌和arnold变换相结合置乱、再利用混合混沌系统产生的混沌伪随机系 列进行扩散,直观效果如图3和图4所示。
[0111]
从图3和图4中加密后的密文图像得不到任何与原图相关的信息,加密 后的图像是一个类似噪声的图像。
[0112]
若在解密过程,若将初值中的w0由3.01改成3.000009,解密方法不变, 对密文图像进行解密,仿真得出的结果如图5所示;而使用加密时的状态变 量初值对密文进行解密,得到的结果如图6所示。由此不难看出,混合混沌 系统对于初值的敏感性,一点轻微的改动,所得到的结果将会千差万别,如 果不知道初值,不可能恢复原始图像。这说明本发明的图像加密算法对密钥 (初始值)的敏感性较高,具有较好的加密性能。
[0113]
下面,通过密钥空间、直方图、信息熵、相邻像素等图像加密性能指标 来对该算法进行性能分析。
[0114]
(1)密钥空间分析
[0115]
本发明的密钥一共包括6个初始变量x0,y0,z0,q0,w0,u和9个参数量 λ1,λ2,γ1,γ2,a,b,c,d,k,其中x0,y0,z0,q0为四维chen超混沌系统的状态变量初始值, w0,u0为二维logistic混沌系统的状态变量初始值。伪随机序列取值到小数点 后15位,因此该算法的密钥空间约为(10
15
)6×
(10
15
)9=10
225
,整体密钥空间远大 于2
100
。可见该算法的密钥空间足够大,可有效地抵抗穷举攻击。
[0116]
(2)直方图分析
[0117]
从图7和图8的原图与加密图像的灰度值分布直方图可以看出,原图的 像素灰度值出现的频率极不均匀,最多的出现次数将近4000,而最少的几乎 为零,这将导致图像的特点容易被分析,而加密后图像的灰度值分布直方图8, 像素灰度值的出现频率差别不大,大致平均出现了600次左右,说明图像的 像素的灰度值出现频率较为均匀,能很好地抵抗相关攻击,加密性能较好。
[0118]
(3)信息熵分析
[0119]
信息熵指的是可能事件所带来信息量的期望,是衡量事物不确定性的标 准,信息熵的值越大,则表明随机性越强。通过如下信息熵的计算公式:
[0120][0121]
对于28的灰度值图像而言,如果信息熵理想值h(x)=8,那么加密后的图 像最为理想,其随机性最强,其中pi为图像灰度值i出现的概率。而经本发明 算法加密后的图像,经式(5)可计算得出信息熵为7.9883,十分接近8,表明 加密图像的随机性非常好,抗攻击能力较强,性能较好。
[0122]
(4)相邻像素相关性分析
[0123]
相邻像素相关性反映图像相邻位置像素值的相关程度。加密图像的一个 目的就是减小相邻像素相关性,相关性越小,就说明加密效果越好,安全性 越高。通过图7加密前后的相关性来看,原图相关性几乎全部聚集向中间靠 拢,说明像素点之间具有很强的相关性。通过加密后,图像的像素位置发生 了变换,使相关性发散,可以从图中看到相关性在一定范围内十分地分散和 均匀,密文图像像素的相关性都很低,因此该算法可以有效地防御统计攻击。
[0124]
同时本说明书中未作详细描述的内容均属于本领域技术人员公知的现有 技术。
[0125]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来 将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示 这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、
ꢀ“
包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系 列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明 确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有 的要素。
[0126]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而 言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行 多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限 定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1