【技术实现步骤摘要】
基于中心法则和三维位平面的图像加密方法
[0001]本专利技术涉及一种信息加密技术,特别是涉及一种图像加密方法。
技术介绍
[0002]近年来,人们对网络和信息系统的安全问题越来越重视,图像已成为人们日常生活中重要的信息载体。它可直观、生动地传递大量的信息,广泛应用于通信、军事和医疗领域。然而,由于互联网的开放性,信息在网络传输过程中容易被截获或泄露。数据隐藏和图像加密是保持图像安全的常用方法,但前者由于没有足够的嵌入能力而受到一些限制,相比之下,图像加密可有效地保护图像。因此,如何有效和安全地加密图像就变得非常重要。
[0003]因为图像具有数据容量大、像素与数据冗余相关性高的特点,所以传统的数据加密算法无法加密数字图像。近年来,基于混沌的各种加密方法被提出,如基于混沌的图像加密、基于压缩感知的图像加密、基于遗传算法的图像加密。随着大数据时代的到来,网络信息传输能力也得到了提高,对加密方法的效率和安全性的要求也进一步提升。
[0004]为了保护图像信息不被窃取,提高网络传输过程中加密的安全性和效率,提出了一 ...
【技术保护点】
【技术特征摘要】
1.基于中心法则和三维位平面的图像加密方法,其特征在于,包括如下步骤:步骤1:构建三维矩阵:令交互图像为I,大小为m
×
n,将I中每个像素值都转换为8位二进制值,通过补零操作,可将I构建成一个大小为d
×
d
×
d的三维矩阵C=[c
ij
],c
ij
=0或1,其中d为正整数,满足d3≥8mn,且d取值最小;步骤2:生成密钥:利用SHA
‑
256安全散列算法,计算I的256位哈希值K,将其按照每8位划分成块,可得K=k1, k2,
…
, k
32
,并随机选取c1, c2, c3, c4, c5, c6作为外部密钥输入,利用公式(1)
‑
(3)所示的密钥生成器,计算公式(4)所示的二维Logistic调整正弦映射(Two Dimension Logistic
‑
Adjusted
‑
Sine Map,2D
‑
LASM)的初始值u0,v0和控制参数μ,以及公式(5)所示的三维Sine混沌系统的初始值x0, y0, z0和控制参数a, b, c;u0, v0,μ, x0, y0, z0, a, b, c为密钥;,
ꢀꢀꢀꢀ
(1)其中,
⊕
表示异或运算;,
ꢀꢀꢀꢀꢀꢀ
(2),
ꢀꢀꢀꢀꢀ
(3)其中,mod(
•
)表示取模运算;,
ꢀꢀꢀꢀꢀꢀꢀ
(4)其中,μ∈[0, 1]为控制参数,u0, v0∈(0, 1)为初始值;
,
ꢀꢀꢀꢀ
(5)其中,a, b, c∈[1, 4]为控制参数,x0, y0, z0∈[0, 1]为初始值;步骤3:生成混沌序列:根据初始值x0, y0, z0和控制参数a, b, c迭代公式(5)所示的三维Sine混沌系统1000+d次,舍弃前1000次迭代值,可产生3个长度均为d的混沌序列X,Y和Z;根据初始值u0,v0和控制参数μ,迭代公式(4)所示的2D
‑
LASM1000+d3/2次,舍弃前1000次迭代值,可产生2个长度均为d3/2的混沌序列U和V;步骤4:三维位平面置乱:利用X,Y和Z,分别置乱C的三维位平面集,包括X位平面集P
x
={p
x
(i)},Y位平面集P
y
={p
y
(i)}和Z位平面集P
z
={p
z
(i)},最终可得三维置乱矩阵P6;具体操作为:利用X和公式(6)
‑
(9),旋转和置乱P
x
={p
x
(i)},[X1, S1]=sort(x(i)),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀ
(6)T1=mod(floor(x(i)
×
10
16
), 4)
×
90,
ꢀꢀꢀꢀꢀꢀ
(7)其中,sort(
•
)是升序排序函数,floor(
•
)是向下取整函数,x(i)∈X,X1为排序后的新序列,S1是X1的索引值;P1(i, :, :)=imrotate(C(i, :, :), t1(i)),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀ
(8)其中,imrotatet(
•
)是旋转函数,C(i, :, :)为C的第i个X位平面,t1(i)∈T1为位平面的旋转角度值,t1(i)取值为0
°
,90
°
,180
°
或270
°
,P1(i, :, :)为三维矩阵P1的第i个X位平面;P2(i, :, :)=P1(s1(i), :, :),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀꢀ
(9)其中,s1(i)∈S1,P2(i, :, :)为三维矩阵P2的第i个X位平面;利用Y和公式(10)
‑
(13),旋转和置乱P
y
={p
y
(i)},[Y1, S2]=sort(y(i)),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀ
(10)T2=mod(floor(y(i)
×
10
16
), 4)
×
90,
ꢀꢀꢀꢀ
(11)其中,y(i)∈Y,Y1为排序后的新序列,S2是Y1的索引值;P3(:, i, :)=imrotate(P2(:, i, :), t2(i)),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀ
(12)其中,P2(:, i, :)为三维矩阵P2的第i个Y位平面,t2(i)∈T2,P3(:, i, :)为三维矩阵P3的第i个Y位平面;P4(:, i, :)=P3(:, s2(i), :),i=1, 2,
…
, d,
ꢀꢀꢀꢀꢀ
(13)其中,s2(i)∈S2,P4(:, i, :)为三维矩阵P4的第i个Y位平面;利用Z和公式(14)
‑
(17),旋转和置乱P
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。