【技术实现步骤摘要】
基于深度学习的压缩感知与混沌系统的新型图像加密方法
[0001]本专利技术属于图像加密领域,涉及一种基于深度学习的压缩感知与混沌系统的新型图像加密方法。
技术介绍
[0002]随着互联网及其相关技术的发展,大数据在银行、医疗、能源、技术、消费和制造业等各个行业都有越来越广泛的应用。由于大数据在多种业务中的应用如此广泛,使现有的与大数据相关的两大挑战显得十分的重要,即高效数据共享和数据隐私安全。上述挑战的可能解决方案包括压缩感知(CS)和原始信息加密。在CS技术中,信号在其原始域或某些变换域中被压缩以有效利用带宽。CS也可以定义为一种测量技术,它可以从极少量的数据测量中重建图像和信号。此外,一些基于CS的方法对原始信号进行稀疏处理,以便高效地获取和重建大数据。近年来,针对图像恢复问题,人们提出了一些基于深度学习的方法。经典深度网络直接将压缩样本映射为输入,将估计值映射为输出。这些网络由堆叠的非线性操作层组成,如自动编码器,卷积神经网络(CNNs),生成性对抗网络(GANs)等。它们的参数可以通过常见的反向传播算法进行训练,与迭 ...
【技术保护点】
【技术特征摘要】
1.一种基于深度学习的压缩感知与混沌系统的新型图像加密方法,其特征在于:包括以下步骤:S1:初始化阶段,在训练前的设置AMP
‑
Net深度展开模型中的可训练参数,设置四维超混沌系统参数;S2:采样压缩,在采样模型中使用分割函数使原始图像X分割为一系列非重叠的图像块,然后通过矢量化函数对每个图像块进行矢量化操作,再使用采样矩阵A对图像进行采样压缩;S3:置乱操作,基于混沌系统产生的混沌序列与外部密钥对测量值Y进行行置乱与列置乱;S4:扩散操作,置乱操作后得到的测量值Y
′
与混沌序列进行扩散操作;S5:图像解密,按照扩散与置乱的逆操作对加密图片进行解密;S6:设计图像重建模型,包括初始化模块与重建模块,所述初始化模块用于生成合理的初始估计,并且将迭代去噪过程映射到深度网络来得到重建模块,所述重建模块包含对图像进行去噪处理的去噪模块以及用于消除块效应的去块模块。2.根据权利要求1所述的基于深度学习的压缩感知与混沌系统的新型图像加密方法,其特征在于:在步骤S1中,所述可训练参数包括测量矩阵A、初始化矩阵B、控制参数S
α
={α1,α2,...,α
k
}、η(
·
)和β(
·
),其中α
k
是控制噪声和模块重构能力的一个参数,η(
·
)和β(
·
)是非线性的适应函数;在训练前,将A随机初始化为高斯矩阵,并对其行进行正交化;控制参数α
K
初始化为1,B初始化为A
T
,其他可训练参数随机初始化;四维超混沌系统的表现形式为:其中a,b,c,m,k是混沌系统的实参数。3.根据权利要求1所述的基于深度学习的压缩感知与混沌系统的新型图像加密方法,其特征在于:在步骤S2中,采用逐块采样图像的方法,利用θ(X,n)表示为一个分割函数,将灰度图像X∈R
l
×
p
分割为一系列非重叠图像块,每个图像块表示为X
i
∈R
n
×
n
,i∈{1,2,...,I}并且L
·
P=I
·
n2;vec(
·
)是一个矢量化函数,用于把图像块矢量化为矢量,并且满足采样模型的采样过程表示为:Y=A vec(θ(X,n))其中,是图像块的采样矩阵,Y∈R
M
×
I
是测量值,Y的每一列都是图像块的矢量化度量。4.根据权利要求1所述的基于深度学习的压缩感知与混沌系统的新型图像加密方法,其特征在于:在步骤S3中,假设普通灰度图像的大小为L
×
P,置乱步骤如下:S31:密钥由原始图像的哈希值、外部密钥、混沌系统参数和初始值组成;
S32:迭代混沌系统1000次,避免瞬态效应,后续迭代次数由SHA
‑
512得到的原始图像哈希值每个十六进制字符转化为十进制相加后得到,表示为Sum
512
,迭代后得到4个混沌序列X,Y,Z,W;S33:选择两个混沌序列作为行置乱和列置乱的索引序列,将4个混沌序列分为12组,即Λ1=(X,Y),Λ2=(X,Z),Λ3=(X,W),Λ4=(Y,Z),Λ5=(Y,W),Λ6=(Z,W),以及它们每组的反序,即Λ7=(Y,X),Λ8=(Z,X),Λ9=(W,X),Λ
10
=(Z,Y),Λ
11
=(W,Y),Λ
12
=(W,Z);选择公式如下:C
group
(R1,R2)=mod(Sum
512
+G1,12)+1其中,R1,R2为选择的索引序列,G1为外部任意密钥;S34:定义两个向量D
row
和D
column
,对两个索引序列进行如下处理:输入:R1,R2fori>1;L
×
P
‑
1D
row
(i)=mod(floor(R1(i)+G1)
×
10
20
,L
×
P
‑
i+1)+1D
column
(i)=mod(floor(R2(i)+G1)
×
10
20
,L
×
P
‑
i+1)+1输出:D
row
,D
column
;S35:将测量值Y展开成一维数组P
row
,按照Knuth
‑
Durstenfeld洗牌算法进行行置乱:输入:D
row
,P
row
for i=1 to L
×
P
‑
1temp=P
row
(L
×
P
‑
i+1)P
row
(L
×
P
‑
i+1)=P
row
(D
row
(i))P
row
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。