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

一种新的基于Rucklidge和压缩感知的图像加密算法

2022-06-01 01:08:39 来源:中国专利 TAG:

一种新的基于rucklidge和压缩感知的图像加密算法
技术领域
1.本发明涉及信息安全领域,具体是图像加密领域,是一种新颖的基于rucklidge和压缩感知相结合图像加密技术。


背景技术:

2.在互联网时代众多的信息传输载体中,图像是最受欢迎的多媒体形式之一。然而,由于互联网的开放性和带宽资源的稀缺性,图像的安全性和传输效率问题也备受关注。因此,在传输过程中对图像进行加密和压缩就显得尤为重要。图像加密技术可以保护图像信息不被泄露和篡改,而图像压缩可以有效减少图像的冗余信息,从而减小图像的存储空间以及提高其在网络中的传输效率。由于压缩感知技术(compressive sensing,cs)可以用于同时压缩和加密图像,因此许多基于压缩感知的图像加密技术被提出。
3.cs技术是将高维稀疏的信号通过随机采样生成低维信号的一个过程。使用cs理论对图像加密的原理是将明文图像作为信号输入,测量矩阵作为加密密钥,密文图像作为低维信号输出。学术界已经论证了基于cs的加密算法的安全性和鲁棒性,并指出了基于cs的加密是计算安全的。但是cs在处理图像时本质上是一种线性测量和压缩,容易遭受已知明文攻击和选择明文攻击,为了更好的保证图像传输的安全性,通常会将cs和一些图像加密算法结合起来使用。基于cs的图像加密算法在对图像二次加密时,本质上是对中间图像进行加密,但是这些算法没有将中间图像与密钥进行关联。
4.为了解决这些问题,在本文中,我们提出了一种新的基于rucklidge和cs的图像加密算法。为了解决cs的线性测量的安全问题,使用rucklidge混沌系统对中间密文图像进行二次加密。为了加强算法与明文关联,本文使用明文图像关联密钥流,让算法在对明文图像施加压缩感知前后,使用sha-256哈希函数分别计算明文图像和中间图像的哈希值,使用两者的哈希值共同生成加密系统的密钥流。并且针对置乱阶段,本文提出一种和明文强关联的分块置换算法,针对扩散阶段,本文选用与明文相关的加取模运算。本文加强了明文、密文和密钥流的相关性,这大大提升了承受选择明文攻击和已知明文攻击的能力,提升了图像加密算法的安全性。


技术实现要素:

5.本发明提出一种新的基于rucklidge和压缩感知的图像加密算法,为了提高图像加密速度,使用压缩感知技术将图像快速压缩,并且压缩感知技术可以在图像压缩时同时对图像进行加密,这些优点大幅度提升图像加密速度。传统的压缩感知技术进行图像加密时,使用随机测量矩阵作为密钥,这使得密钥过于庞大臃肿。由于低维混沌系统优越的迭代速度,本发明将使用logistic混沌系统生成随机测量矩阵,这样可以使用混沌系统的初始值作为密钥进行传输,而不用使用整个随机测量矩阵作为密钥,大幅减小密钥传输带宽,并且有效减小图像在互联网中的传输成本。
6.rucklidge混沌系统是基于实际应用建立的一个数学模型,是一个典型非线性动
力系统,该系统对初值敏感,其混沌图像有着复杂的非线性运动轨迹,证明了其优秀的混沌特性。因为压缩感知技术加密图像本质上是一种线性的行为,容易被破解,为了提高秘密图像的安全等级,本发明会使用rucklidge混沌系统控制密文图像进行二次加密。
7.对图像进行二次加密本质上是对中间过渡图像的加密,然而现有的大多数算法在明文关联密钥时仅仅只是关联明文图像,从而忽略了中间图像。因此本发明提出的一个亮点明文图像和算法过程中生成的中间图像结合起来,将两者的哈希函数值共同作为rucklidge混沌系统的初始值,并且提出一种明文关联的分块置乱算法,这样做会增加明文的关联性,即明文图像有一点变化,最终的密文图像将会发生巨大变化。因此本发明能够更好的抵抗已知明文攻击和选择明文攻击。
8.本发明提出的明文关联的分块置乱算法如下:
9.步骤1:给定一个m
×
n的矩阵a,将矩阵a由竖直方向划分分为两块,得到两个大小为m
×
n/2的矩阵b和矩阵c,令m=m,n=n/2。
10.步骤2:给定矩阵b中任意一个像素坐标点(i,j),i∈[1,n/2],计算矩阵b中第i行(除去b(i,j))的和,记为hi。计算矩阵b中第j列(除去b(i,j))的和,记为lj。根据下式计算i'和j'的值:
[0011][0012]
其中,矩阵d和e为给定的随机矩阵。计算出新坐标后,交换矩阵b(i,j)和矩阵c(i',j').的值。
[0013]
步骤3:按从左至右、从上至下的扫描方式遍历矩阵b,依次循环执行步骤2,实现由矩阵b向矩阵c置乱。
[0014]
步骤4:将矩阵b和矩阵c位置对调,由矩阵c向矩阵b进行置乱,并给定两个新的随机矩阵f、j替换d和e,重复步骤2和步骤3。
[0015]
步骤5:将大小为m
×
n/2矩阵b和矩阵c重组为m
×
n的新矩阵i,i即为置乱后的新图像。
[0016]
本发明是通过以下技术方案实现的:一种基于rucklidge和压缩感知的图像加密方法,其方法包括以下内容:
[0017]
a.图像加密阶段
[0018]
a)压缩感知阶段,对图像进行压缩处理,且对图像进行第一次加密。
[0019]
i.将明文图像使用二维离散小波变换技术(dwt)变换到小波域。
[0020]
ii.使用zigzag技术对变换后的图像进行置乱。
[0021]
iii.使用一维混沌系统生成随机测量矩阵。
[0022]
iv.使用生成的随机测量矩阵对步骤ii得到的图像进行测量。
[0023]
v.得到中间图像。
[0024]
b)二次加密阶段,对步骤a)产生的中间图像进行二次加密处理。
[0025]
i.使用rucklidge混沌系统生成四个随机序列。
[0026]
ii.使用其中的两个随机序列生成四个随机矩阵。
[0027]
iii.将中间图像分成大小相同的两块。
[0028]
iv.针对每个块分别使用随机矩阵控制的明文关联置换算法。
[0029]
v.将置乱过的两块重组为一个图像,并使用扩散算法对其进一步加密。
[0030]
b.图像解密阶段
[0031]
a)一次解密
[0032]
i.使用rucklidge混沌系统生成随机序列。
[0033]
ii.使用扩散算法的逆运算进行变换。
[0034]
iii.使用随机序列生成四个随机矩阵。
[0035]
iv.结合随机矩阵和明文关联的置乱算法进行逆置乱。
[0036]
b)二次解密
[0037]
i.使用一维混沌系统生成随机测量矩阵。
[0038]
ii.结合随机测量矩阵和压缩感知的重构算法对中间图像进行重构。
[0039]
iii.使用zigzag反变换得到明文图像。
附图说明
[0040]
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征、优势将会更加明显。
[0041]
本发明提出的算法共有两个阶段:加密阶段和解密阶段。
[0042]
图1示出了该算法基于rucklidge和压缩感知技术的加密流程图。
[0043]
图2示出了该算法相应的解密流程图。
具体实施方式
[0044]
下面将参照附图更详细的描述本发明,使本发明的目的、技术方案以及优点更加清楚明白。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0045]
参考图1,如图1所示的是基于rucklidge和压缩感知图像加密技术的加密阶段流程图。
[0046]
可以从图1明显看出,该算法大致有以下流程:
[0047]
(1)首先将原始图像应用哈希函数进行运算,生成一维混沌系统的初始值。
[0048]
(2)接下来对原始图像进行预处理,即使用离散小波变换将图像变换为稀疏系数矩阵。因为使用压缩感知对二维矩阵测量本质上还是对一维向量依次测量,但是由于稀疏稀疏矩阵的稀疏性是针对整个矩阵而不是单个列向量,这就造成了单列向量的0聚集问题,最终导致压缩感知测量效果不佳。为了解决系数矩阵的0聚集问题,对该系数矩阵使用zigzag技术扰乱,最终使原始图像变换为能够满足压缩感知技术要求的稀疏矩阵。
[0049]
(3)使用一维混沌系统生成随机测量矩阵,并使用随机测量矩阵对稀疏矩阵进行测量。将得到的矩阵的值量化到[0-255]区间,进而得到中间图像。
[0050]
(4)对中间图像进行哈希运算得到函数值,并将函数值和步骤(1)的哈希函数值共同生成rucklidge混沌系统的初始值,使用rucklidge混沌系统生成四个随机矩阵,并根据随机矩阵对中间图像进行分块置乱。
[0051]
(5)最终对图像使用扩散算法扰乱像素位置,得到秘密图像。
[0052]
下面结合图1详细说明根据本发明的基于rucklidge和压缩感知图像加密技术加密阶段具体步骤:
[0053]
步骤1:设输入图像为p,且大小设为m
×
n。
[0054]
步骤2:计算图像p的sha-256哈希函数值得到序列k={k1,k2,...,k
32
},并且使用下式得到logistic混沌系统初始值lx0。
[0055][0056]
其中,lxt是指定值。
[0057]
步骤3:将图像p变换到离散小波域,得到系数矩阵p1,矩阵大小与原图像一致。
[0058]
步骤4:对系数矩阵p1使用zigzag置乱,得到p2。
[0059]
步骤5:使用logistic混沌系统和其初值lx0、步长d=10的初始参数,生成100 m
×
n长度的混沌序列s。首先为了更好的随机性舍弃前100个值,其次将大小范围为[0,1]的序列s使用下式变换到[-1,1],最终使用按列优先方式将s重塑成大小为m行n列的随机测量矩阵φ,其中n=n,m=cr
×
m,cr为压缩比率。
[0060]
si=1-si×
2,i∈[1,m
×
n]
[0061]
步骤6:使用φ对p2进行测量,得到测量值矩阵p3,其大小为m
×
n。
[0062]
步骤7:使用下式将p3量化到[0-255]范围,得到中间图像p4,式中min和max分别为p3的最小值和最大值。
[0063][0064]
步骤8:计算中间图像p4的sha-256函数值得到序列k',将步骤2计算的k和k'使用下式得到k”。
[0065][0066]
步骤9:结合步骤8生成的序列k”,使用下式计算rucklidge混沌系统初始值cx0、cy0、cz0,并生成长度为1000 m
×
n的4条混沌序列h1,h2,h3,h4,为避免瞬态效应,均舍弃前1000项值,其中cxt、cyt、czt为指定值。
[0067][0068]
步骤10:将长度为m
×
n的随机序列h1拆分为两个长度为m
×
n/2的随机序列,并将其按列优先方式重塑为两个m行n/2列的随机矩阵d、e,同理,拆分h2为两个m行n/2列的随机矩阵f、j,使用四个随机矩阵和上文描述的置乱算法,对p4进行置乱操作,得到p5。
[0069]
步骤11:分别使用h3、h4作为扩散算法的正向扩散和逆向扩散混沌序列,对p5使用下式的扩散算法对图像进一步扰乱得到p6,即最终的秘密图像c。
[0070][0071]
式中,p为给定的待扩散明文图像,s为给定的指导扩散的混沌序列,c为扩散后的密文图像。两个公式分别为正向扩散算法和逆向扩散算法。
[0072]
图2所示的是本发明算法的解密步骤,可以看出,解密算法大致包含以下步骤:使用密钥来得到rucklidge混沌系统的初始值,进一步得到混沌序列,然后通过混沌序列的指引对秘密图像进行逆扩散和逆置乱,得到中间图像,且将中间图像逆量化,接下来使用一维混沌系统生成随机测量矩阵,且使用该矩阵和压缩感知重构算法将图像还原,最终分别使用zigzag反变换和离散小波反变换得到明文图像。
[0073]
下面结合图2详细说明解密阶段具体步骤:
[0074]
步骤1:读取秘密图像c,记为p6,设大小为m
×
n。
[0075]
步骤2:使用rucklidge混沌系统按照接收到的密钥生成长度为1000 m
×
n的混沌序列h1、h2、h3、h4,丢弃前1000项。
[0076]
步骤3:使用h3和h4序列对p6使用如下公式进行扩散的还原操作,得到p5。
[0077][0078]
式中,c为给定的待解密密文图像,s为给定的指导扩散的混沌序列,p为明文图像。两个公式分别为正向扩散还原算法和逆向扩散还原算法。
[0079]
步骤4:使用h1和h2序列生成四个随机矩阵d、e、f、j,并使用置乱算法逆运算将p5还原为p4,置乱算法和上文提出的置乱算法大致相同,只是运算顺序更换。
[0080]
步骤5:使用以下公式将图像p4进行逆量化,得到p3。
[0081][0082]
步骤6:使用logistic混沌系统生成长度为100 m
×
n的混沌序列,将其塑造为m行n列的随机测量矩阵φ,使用φ和重构算法对p3进行重构,得到p2。
[0083]
步骤7:对p2进行zigzag逆变换得到p1。
[0084]
步骤8:对p1使用离散小波逆变换,得到明文图像p。
再多了解一些

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

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

相关文献