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

基于RNA和像素深度的图像加密方法与流程

2021-11-05 19:59:00 来源:中国专利 TAG:

基于rna和像素深度的图像加密方法
技术领域
1.本方法涉及一种信息加密技术,特别是涉及一种图像加密方法。


背景技术:

2.随着网络技术的发展,通信方式发生了很大的变化,大量的数字图像通过网络传输,但是网络系统的开放性和网络协议存在缺陷,使得图像信息泄露事件时有发生;基于此,研究者们已提出多种图像加密方法,目前这些方法中存在加密安全性弱或效率低等问题;结合rna理论、二维改进型逻辑斯蒂调整正弦映射(improved logistic

adjusted

sine map,ilasm)混沌、像素深度和四维chen 超混沌等技术,为提高图像加密方法的安全性和效率,保证图像内容安全高效传输,设计了一种基于rna和像素深度的图像加密方法;该方法利用了混沌系统良好的随机性和复杂性,可有效保护交互图像网络传输和存储安全。


技术实现要素:

3.本发明的目的:针对当前大多图像加密算法不具有普适性,不能应用于不同像素深度的图像,无法做到一图一密、一次一密,安全性能较低等问题,提出一种基于rna和像素深度的图像加密方法。
4.本发明的技术方案:为实现上述发明目的,采用的技术方案为基于rna和像素深度的图像加密方法。
5.加密步骤如下:步骤1:密钥生成:令明文图像为i
m
×
n
,像素深度为d,随机选取x
'0
, y
'0
, z
'0
, u
'0
, v
'0
, w
'0

'
, e', t
'
作为用户密钥输入,利用密钥生成器计算二维ilasm、四维chen超混沌的初值x0, y0, z0, u0, v0, w0和控制参数μ, e,以及三维自适应arnold变换的迭代次数t与控制参数q1, q2;步骤2:混沌序列和矩阵生成:根据初值x0, y0与控制参数μ产生2个二维ilasm混沌序列x
m
×
n
×
d/2
和y
m
×
n
×
d/2
;根据初值z0, u0, v0, w0与控制参数e产生4个四维chen超混沌矩阵z
m
×
n
, u
m
×
n
, v
m
×
n
和w
m
×
n
;步骤3:编码规则的产生:rna的8种编解码如图1所示,根据混沌的初值x0, y0, z0, u0, v0, w0和像素深度d进行一定的运算产生r1, r2, r3, r4, r5, r6六种编解码规则;步骤4:三维rna立方块生成:利用rna编码规则r1对i
m
×
n
进行rna编码得到i
3d
,按一个rna码为厚度对i
3d
进行分层,得rna分层图像i
jr
(j=1, 2,
ꢀ…
, d/2);利用混沌序列x对i
jr
(j=1, 2,
ꢀ…
, d/2)进行层间置乱可得d/2个大小为m
×
n的平面i
j1 (j=1, 2,
ꢀ…
, d/2);将每一个平面i
j1
转化为对应的一维向量v
j1
并首尾相连得到一个大的一维向量v1,利用混沌序列y对v1进行整体置乱得到v2;将v2转化为l
×
l
×
l的三维rna立方块i
3dc
;步骤5:自适应立体置乱:对i
3dc
进行三维自适应arnold变换得置乱后的rna立方块i
3da
,将三维i
3da
转换为一维rna序列v3,删除多余零码后,利用r2对v3进行rna解码再转换为大小m
×
n的二维置乱图像i2;
步骤6:定义rna运算规则:定义rna加法(+)、减法(-)、异或(

)和同或(

)运算规则:步骤7:运算符选取:分别选取i2中4个顶点,根据编码规则r3,对其像素值的高六位进行rna编码,根据编码结果在氨基酸序列生成表中的分布情况,选取运算符+,-,



;步骤8:混沌矩阵选取:根据d/8的计算结果确定选取规则,选择混沌矩阵z, u, v, w中的若干矩阵参与运算;步骤9:选择性扩散:将置乱图像i2每8 bit变成图像i
i2
(i=1, 2,
ꢀ…
, d/8),利用r4对i
i2
(i=1, 2,
ꢀ…
, d/8)进行rna编码得i
i3
(i=1, 2,
ꢀ…
, d/8);利用r5对z, u, v和w进行rna编码得z1, u1, v1和w1,接着根据步骤7选取的运算符对两者进行扩散运算得到分层加密图像i
1e
, i
2e
, i
3e
和i
4e
,将i
1e
, i
2e
, i
3e
和i
4e
合并,可得加密rna图像i
e
;最后,使用r6对i
e
进行rna解码得密文图像i
c

6.进一步地,所述步骤1中,二维ilasm指,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,控制参数μ∈[0, 1],状态值x
i
, y
i
∈[0, 0.2]。
[0007]
进一步地,所述步骤1中,四维chen超混沌指,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
其中,当控制参数a=35,b=3,c=12,d=7且e∈[0.085, 0.798]时,系统处于超混沌状态。
[0008]
进一步地,所述步骤1中,为产生密钥,利用sha

256,分别计算明文图像i
m
×
n
和当前系统时间对应的256 bit哈希值h1=j1, j2,
ꢀ…
, j
256
和h2=k1, k2,
ꢀ…
, k
256
,将h1与h2分别取前128 bit依次连接为一个长度为256 bit的哈希码h=j1, j2,
ꢀ…
, j
128
, k1, k2,
ꢀ…
, k
128
,并将h按照每8 bit划分成块得h=h1, h2,
ꢀ…
, h
32

[0009] 进一步地,所述步骤1中,计算二维ilasm、四维chen超混沌的初值x0, y0, z0, u0, v0, w0与控制参数μ, e,以及三维自适应arnold变换的迭代次数t与控制参数q1, q2:,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,mod(

) 表示取模运算,floor(

) 表示向下取整函数,bin2dec(

) 表示二进制转换十进制函数,

表示同或运算。
[0010]
进一步地,所述步骤2中,根据初值x0, y0与控制参数μ,迭代二维ilasm混沌1000 m
×
n
×
d/2次,舍弃前1000次迭代值,产生2个混沌序列x
m
×
n
×
d/2
和y
m
×
n
×
d/2
;根据初值z0, u0, v0, w0与控制参数e,迭代四维chen超混沌1000 m
×
n次,舍弃前1000次迭代值,产生4个混沌矩阵z
m
×
n
, u
m
×
n
, v
m
×
n
和w
m
×
n

[0011]
进一步地,所述步骤3中六种编解码规则指:r1=mod(d floor(x0×
10
14
), 8) 1,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)r2=mod(d floor(y0×
10
14
), 8) 1,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)r3=mod(d floor(z0×
10
14
), 8) 1,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)r4=mod(d floor(u0×
10
14
), 8) 1,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)r5=mod(d floor(v0×
10
14
), 8) 1,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
r6=mod(d floor(w0×
10
14
), 8) 1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)。
[0012]
进一步地,所述步骤4中,层间置乱指:使用sort(

) 函数对x进行排序得到新序列x '
以及索引值序列p1:[x '
, p1]=sort(x(j)), j=1, 2,
ꢀ…
, d/2,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)利用索引值p1对i
3d
进行置乱得i
j1
:i
j1
=i
p1(j)r
, j=1, 2,
ꢀ…
, d/2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)。
[0013]
进一步地,所述步骤4中,整体置乱指:使用sort(

) 函数对y进行排序得到新序列y '
以及索引值序列p2:[y '
, p2]=sort(y(k)),k=1, 2,
ꢀ…
, m
×
n
×
d/2,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)将每一个层间置乱后的平面i
j1
转化为对应的一维向量v
j1
,并首尾相连得到一个大的一维向量v1:v1=v
11
v
21

v
j1

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)再利用索引值p2对v1进行置乱得到v2:v2(k)=v1(p2(k)),k=1, 2,
ꢀ…
, m
×
n
×
d/2,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)将v2转化为l
×
l
×
l的三维rna立方块i
3dc
,若无法整开三次方,则在末尾补零码至符合整开三次方的长度:,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)其中,ceil (

) 表示向上取整函数。
[0014]
进一步地,所述步骤5中,三维自适应arnold变换指:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)。
[0015]
进一步地,所述步骤8中,选取规则为:若d/8=1,则选择第一个混沌矩阵z参与运算;若d/8=2,则选择前两个混沌矩阵z和u参与运算;若d/8=3,则选择前三个混沌矩阵z, u和v参与运算;若d/8=4,则选择所有四个混沌矩阵z, u, v和w参与运算;。
[0016]
进一步地,所述步骤9中,扩散操作指:, (19)其中operator1,operator2,operator3和operator4代表四种运算符+,-,



其中之一。
[0017]
在解密过程中,利用相同的混沌序列和对应的rna编码方式对密文图像进行处理,可恢复出原始图像,解密过程是加密的逆过程。
[0018]
有益效果:针对当前部分图像加密算法不具有普适性,不能应用于不同像素深度的图像,无法做到一图一密、一次一密,安全性能较低等问题,提出基于rna和像素深度的图
像加密方法;主要贡献有:(1)为改变像素位置,结合rna加密和混沌理论,构建适用于不同像素深度图像的置乱方法;(2)为改变像素值,结合rna加密,混沌理论和像素深度相关理论,设计适用于不同像素深度图像的扩散方法;(3)该方法利用二维ilasm混沌系统和四维chen 超混沌良好的随机性和复杂性,提高了加密效果;因此,该方法具有高效、安全和加密效果良好的特征,可有效保护交互图像网络传输和存储的安全性。
附图说明
[0019]
图1:rna序列的8种编/解码规则;图2:rna运算规则;图3:氨基酸种类与运算符对应表;图4:氨基酸密码子表;图5:基于rna和像素深度的图像加密方法流程图;图6:明文图像;图7:密文图像。
具体实施方式
[0020]
下面结合具体附图和实例对本发明的实施过程进一步详细说明。
[0021]
图5是本方法的加密流程图。
[0022] 采用的编程软件为matlab r2016a,选取图6所示的大小为512
×
512的8bpp (bit per pixel)lena 灰度图像作为实验对象。
[0023]
步骤1:利用sha

256,分别计算明文图像和当前系统时间的哈希值h1和h2;将h1与h2分别取前128 bit整合为1个长度为256 bit的哈希码h=9390454675d1f5e55b046d30f05a8ea1532c6b269a303ac19d3d0a906bb5e250;并结合选取的x
'0
=0.9865, y
'0
=1.4335, z
'0
=1.4977, u
'0=
0.5501, v
'0
=2.5159, w
'0
=1.3714, μ’=1.6686, e
'
=0.2759, t
'
=2.5568,按照公式(3)

(5),计算二维ilasm、四维chen超混沌的初值x0, y0, z0, u0, v0, w0与控制参数μ, e,以及三维自适应arnold变换的迭代次数t与控制参数q1, q2。
[0024]
步骤2:根据初值x0, y0与控制参数μ,迭代二维ilasm混沌1000 512
×
512
×
4次,舍弃前1000次迭代值,产生2个混沌序列x, y;根据初值z0, u0, v0, w0与控制参数e,迭代四维chen超混沌1000 512
×
512次,舍弃前1000次迭代值,产生4个混沌矩阵z, u, v, w。
[0025]
步骤3:编码规则的产生:根据混沌的初值x0, y0, z0, u0, v0, w0和像素深度d=8进行一定的运算产生r1, r2, r3, r4, r5, r6六种编解码规则。
[0026]
步骤4:三维rna立方块生成:利用编码规则r1对i进行rna编码,得到一个大小为512
×
512
×
4的三维rna编码矩阵i
3d
;令每一层为一个层厚,利用混沌序列x对i
3d
层间进行置乱可得4个大小为512
×
512的平面i
j1
(j=1, 2,
ꢀ…
, 4);将每一个平面i
j1
转化为对应的一维向量v
j1
并首尾相连得到一个大的一维向量v1,利用混沌序列y对v1进行置乱得到v2;补零码之后将v2转化为大小为102
×
102
×
102的三维rna立方块i
3dc

[0027]
步骤5:自适应立体置乱:对i
3dc
进行三维自适应arnold变换得置乱后的rna立方块i
3da
,将三维i
3da
转换为一维rna序列v3,删除多余零码后,利用r2对v3进行rna解码再转换为大小512
×
512的二维置乱图像i2。
[0028]
步骤6:定义rna运算规则:定义rna加法、减法、异或和同或运算规则。
[0029]
步骤7:运算符选取:分别选取i2中4个顶点,并将其像素值的高六位进行规则r3的rna编码,根据编码结果在氨基酸序列生成表中的分布情况,选取对应的运算符。
[0030]
步骤8:混沌矩阵选取:根据d/8=1,选择第一个混沌矩阵z参与运算。
[0031]
步骤9:选择性扩散:将i2中每8 bit变成图像i
i2 (i=1),利用r4对其进行rna编码得i
i3
;利用r5对参与运算的混沌矩阵进行rna编码得z1,接着根据步骤7选取的运算符对两者进行相应的扩散运算得到分层加密图像i
1e
,即加密rna图像i
e
;最后,使用r6对i
e
进行rna解码,可得如图7所示的密文图像i
c

[0032]
按照解密流程,利用相同密钥,相同索引及相同混沌对密文图像进行解密可得解密结果,同图6所示。
再多了解一些

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

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

相关文献