基于动态密钥的彩图像扩散加密算法

2021年5月计算机工程与设计May2021第42卷第5期COMPUTER ENGINEERING AND DESIGN Vol.42No5
基于动态密钥的彩图像扩散加密算法
董小雨】,冯秀芳2+
(1.太原理工大学信息与计算机学院,山西晋中030600;
2.太原理工大学软件学院,山西晋中030600)
摘要:为提高图像加密算法的安全性,提出一种基于动态密钥的彩图像扩散加密算法。对彩图像的三通道图像采用Hilbert曲线和Arnold矩阵对每一像素点进行随机置乱,计算与加密密钥关联的待加密图像特征值,调整扩散序列,扰动扩散过程,实现可变控制参数的图像加密,有效解决同一加密系统中不同图像加密时加密过程中参数不变的规律性问题。实验结果表明,该算法具有较高的安全性和明文敏感性。
关键词:动态密钥;彩图像加密;扩散算法;混沌系统;明文敏感性
中图法分类号:TP309文献标识号:A文章编号:1000-7024(2021)051382-09
doi:10.16208,/j.issnl000-7024.202105.026
Color image diffusion encryption algorithm based on dynamic key
DONG Xiao-yu1,FENG Xiu-fang2+
(1.College of Information and Compuler,Taiyuan University of Technology,Jinzhong030600,Chim;
2.Co l egeofSoftware,TaiyuanUniversityofTechnology,Jinzhong030600,China)
Abstract:To improve the security of image encryption algorithm,a color image diffusion encryption algorithm based on dynamic key was proposed.Each pixel of a threechannel image of a color image was randomly permuated using the Hilbert curve and Arnold matrix.The image feature value to be encrypted was calculated and it was associated with the encryption key to achieve the adjustment of the diffusion sequence.The diffusion process was disturbed to realize the image encryption of the variable con­trol parameters.The regularity of the encryption process parameters was solved effectively when different images were encrypted in the same encryption system.Experimental results show that the proposed algorithm is highly safe with plain-text sensitivity. Keywords:dynamic key;color image encryption;diffusion algorithm;chaotic system;plain-text sensitivity
0引言
对图像的加密算法的研究成为图像加密[14领域的研究热点,彩图像加密L58」、多图像加密、混沌图像加密[12」等图像加密方法被学者所提出。当前,图像加密算法中普遍使用置乱、扩散两个阶段对图像进行加密。在加密算法中,有学者提岀异或、加取模、移位等循环扩散加密方法。例如,多次异或运算实现对图像的扩散操作[13」。有学者提岀增加对像素值的不同数学运算操作,例如,将超混沌系统与移位密码结合对像素位置加密、扩散和混淆像素值14」。也有学者提岀在对图像置乱的同时实现扩散的加密方法。例如,在传统图像加密算法基础上,增加置乱和扩散的耦合性,实现多混沌结合的快速图像加密[5。
近年来,学者们提岀的通过循环数学运算、增加新的操作或多种操作的融合提高加密算法的复杂度。但从为建立各像素值之间关联的角度,传统的扩散算法一般使用当前明文像素值、与当前明文像素相邻的密文像素值、混沌序列之间进行相互运算,加密过程中参数不变,有限次加密得到的加密图像之间具有较强的规律性,抗攻击能力较差。为处理这些问题,本文提岀一种基于动态密钥的加取模扩散加密算法,进行可变控制参数的图像加密。在置乱阶段,首先使用Hilbert曲线置乱图像,将相邻像素进行重新组合,减少图像中不动点数量;其次使用Arnold随机矩阵对图像每一像素进行选择性置乱。在扩散阶段使用基于动态密钥的加取模扩散算法,将图像之间的差异程度对扩散过程中混沌序列的初始参数、扩散初始值、扩散序列等
收稿日期:2(1912-03;修订日期:2020-0512
基金项目:虚拟现实技术与系统国家重点实验室(北京航空航天大学)开放基金项目(VRLAB2019A05)
作者简介:董小雨(1996-),男,山西吕梁人,硕士研究生,研究方向为图像加密;+通讯作者:冯秀芳(966-),女,山西太原人,博士,教授,硕士生导师,CCF高级会员,研究方向为虚拟现实、人工智能等。E-mail:1497683788®cq..
•1384•计算机工程与设计2021年
参数进行调整,实现扩散加密过程参数的改变。通过该加
密方法,加密任意两幅图像使用的密钥,加密过程中的参
数都不相同,可有效提高明文敏感性。
1系统模型及相关概念
在本文的加密系统中,使用Hilbert曲线置乱、Arnold
置乱等置乱方法,结合提出的基于动态密钥的加取模扩散
算法对图像进行加密。本节介绍Hilbert曲线置乱、Arnold
变换、基于动态密钥的加取模扩散的基本思路。
1.1Hilbert曲线置乱
二维Hilbert曲线可以描述为,将一个正方形以一定的规则进行遍历,可得到一条填满整个正方形的曲线。在本文中,按二维Hilbert曲线遍历的顺序对二维图像的像素点进行扫描存储,按列排列得到Hilbert曲线置乱图像,实现图像置乱处理。加密算法中使用Hilbert曲线遍历图像以减少不动点的数目。Hilbert置乱加密过程如图1所示。
Hilbert置乱
Hilbert置乱图像
图1Hilbert置乱加密过程
1.2Arnold变换
Arnold置乱是基于矩阵变换的算法。首先对像素点做轴方向的变换,再做》轴方向的变换,最后做取模运算,将图像内的离散像素点进行重新排列。
Arnold变换公式如式(1)所示
[J=R[;[mC[+1()
Arnold变换通过使用2X2的矩阵R,对原图像像素点的坐标位置(如,》0)进行变换,得到变换后图像像素点的坐标位置(Q,J丄),M、N表示图像矩阵大小。
Arnold矩阵R如式(2)所示
「1a(i,
R=1(2)
b(i,a(i,X b(i,+1」
矩阵R中a(ij-、b(i,表示Arnold变换参数。本文中a(i,、b(i,的取值为混沌系统得到的随机序列X值。对图像中每一像素使用Arnold矩阵R进行变换,对(,)位置的像素点进行置乱使用的参数为a矩阵中的(i,
点的随机序列值和b矩阵中的(,-点的随机序列值。使用Arnold变换进行置乱的矩阵a、b如图2所示。
矩阵a矩阵6
12MxN MxN+1MxN+2…2xMx/V
密钥序列X\ /、/、a(l,l)a(l,2)a(l,AQ6(1,1)b(l,2)b(l,N)
a(2,1)6(2,1)
a(M,1)a(M,N)b(M,1)b(M,N)
图2随机矩阵a,b转换
Arnold置乱加密算法见表1,Arnold置乱解密算法见表2。
表1置乱加密算法
置乱算法算法过程
置乱算法
输入:明文图像A
伪随机矩阵a,a=reshape(X(:M X N),M, N);
伪随机矩阵b,b=reshape(X(M X N+1:2X M X N),M,N);
输出:Arnold置乱加密图像
算法:
%从左至右、从上至下扫描明文图像A,借助Arnold
矩阵对图像A进行置乱
for i=1:M
加密过程for,=1:N
备注
%由坐标(i,)计算新的坐标位置向量b
k=mod(1a(i,j—b(i,j)a(i,j-X bij)+ 1]X[z;7],MN]]+[1;1];
%将坐标(,,处的元素与(()k(2))处的元素交换。
t=A(,j);Ai,=A((1—k();A((1—k())=t;
end
end
1对混沌系统得到的混沌序列进行取整,由混沌序
列X转换成a和b矩阵,大小均为M X N o
1.3基于动态密钥的加取模扩散
在图像扩散加密中,通过改变像素点的灰度值使得任一像素点的像素值信息影响尽可能多的其它像素点的像素值。设明文图像为8bit的图像,基于动态密钥的加密模扩散算法如式(3)所示
C=(C—+S z+P z+&X V]mod256(3)在基于动态密钥的加取模扩散算法中,明文图像被展开成一维向量,记为P,i=1,2,…,MN;相应的密文也为一维向量,记为C i i=12「…MN;初始值C。来自密钥; S,K
为密码向量,i=12,,…,MN;V为图像的一个特征值F p与衡量图像的差异值E之差,作为扩散算法的初始值和参数。
第42卷第5期董小雨,冯秀芳:基于动态密钥的彩图像扩散加密算法・1385・
表2置乱解密算法表4扩散解密算法
置乱算法算法过程
输入:Arnod置乱加密图像B
伪随机矩阵a,cz=reshaie(X(1:M X N),M,N);
伪随机矩阵乩d=reshape(X(M X N+1:2X
M X N),M,N);
输出:解密图像
算法:
%从右至左、从下至上扫描加密图像B,再次借助Ar
nl1矩阵还原图像B矩阵
for i=M:1:1
置乱算法fo j=N:1:1
解密过程%由坐标(i j计算新的坐标位置向量怡
k=mod(1a(i,);b(ij)a(i,)X b(i,)+
1」X[i j,
[M;N」)+[1;1」;
%将坐标(i j处的元素与(k(1)k())处的
元素交换。
t=B(ij;B(ij=B(、k(、1)l k(2));
B((1)k⑵)=t
end
end
1在图像加密中,置乱算法是可逆的。本文置乱算
备注法的逆过程仍使用Arnold矩阵,通过使用该方法,
备汪任意随机矩阵,包括行列不等的矩阵,奇异矩阵都可
以用于Arnold置乱。
在基于动态密钥的加取模扩散算法中,扩散阶段使用
混沌序列K与扩散阶段初始值V的乘积作为扩散阶段的一
个参数对扩散过程进行调整,同时将图像之间的差异值E
对扩散阶段中的混沌序列K的初始参数K={x y,0,w}
进行调整,扩大图像差异对扩散过程的影响,提高明文敏
感性。采用式(,所示的运算进行扩散处理,其扩散加密
算法,解密算法见表3,表4。
表3扩散加密算法
扩散算法算法过程
输入:明文图像向量P i密码向量S i K i i=1
2,…MN;密文向量初始值V
输出:扩散加密图像D
算法:
%正向扩散算法(按i从1到MN)
P1=image(:);C0=V;C,=mod(C0+S+P]+
K1X V,256);
扩散算法加密过程
for i=2:M X N
C1=mod(C i i+S,+P,+K'X V,256);
end
%逆向扩散算法(按<;从MN到1)
D=V;D m x n=mod(D(i+S m x n+C m x n+K m x n X V, 256);
for i=M X N1:1:1
=mod(D11+S[+C+K i X V,256);
end
D=reshape(D t(1:M X N),M,N);
1明文图像一次正向扩散效果是有限的。将得到的
备注向量进行一次逆向扩散,每个明文像素点的信息都扩散到密文的每个像素点中。
扩散算法算法过程
输入:扩散加密图像D,密码向量S i K s i=1,2,
…,MN;密文向量初始值V
输出:解密图像F
算法:
%逆向扩散算法的逆算法(按2从MN到1)
Di=D(:, ;D(i=V E m x n=modC256X2+D m x n—
D(;—S m x n—K m x n X V,256);
扩散算法
解密过程
forz=M X N-1:1:1
Ei=mod(256X2+D〔一D t1—S t—K X V,256);
end
%正向扩散算法的逆算法(按i从1到MN),
E(=V;F l=mod(256X2+E1—E(i—S i—K i X V,
256);
forz=2:M X N
F t=mod(256X2+E—E1—S t—K i X V,56);
end
F=reshape(F(1:M X N),M,N);
1在图像加密中,扩散算法是可逆的。本文扩散算备注法的逆过程首先进行逆向扩散的解密,其次进行正向扩散的解密。
2加密算法
2.1加密算法的过程
本文提岀的加密算法中,使用Hilbert曲线和Arnold 随机矩阵对图像进行置乱。在扩散阶段使用基于动态密钥的加取模扩散算法进行加密。加密算法的过程如图3所示,解密过程为加密算法的逆过程。
2.2基于动态密钥的加取模扩散加密算法
以彩Lena图像为例,扩散加密流程如下列步骤所示:
(,将彩图像分解为红,绿,蓝这3个通道的图像,分别为PR,P-G,P-B{
(,将红,绿,蓝这3个通道的图像PR,PG,P-B 进行Hilbert置乱,使用二维Hilbert曲线遍历图像得到P-Rl,PG1,P-B1{
(3)使用超混沌Lorenz系统的初始值作为密钥,通过超混沌Lorenz系统得到随机序列X,将随机序列X转换为两个M X N大小矩阵P l、Q i作为Arnold置乱的初始矩阵参数a、b矩阵,Arnold置乱矩阵R中的a(ij)和bij,分别为P,(j、Q,(j,使用式⑴对Hilbert置乱3个通道的图像PR1PG1,P-B1进行Arnold置乱得到PR2,PG2,P-B2{
(,使用式(,计算,将彩图像每一通道的图像的像素值Pij)累加和对256取余得到的值F p分别作为图像三通道的特征值R-F p,GF P,B-F p,使用式⑸以该特征值与常数T(密钥)之间的差作为不同图像之间的差异程度RE,GE,B-E,使用式(,将特征值F p与差异程度E的差值作为扩散阶段的初始值R-V,G-V,B-V
• 1386 •
计算机工程与设计
2021 年
Lena-RGB Hilbert 置乱L ena-R  Arnold 置乱L ena-R  加取模扩散L ena-R
Lena-R 密文L ena-RGB
Lena-G
Lena-B
dllHI  J
Hilbert 置乱L ena-B  Arnold 置乱L ena-B  加取模扩散L ena-B
图3加密算法的过程
F p  = m o d ( yy (P P j ) ,256)
(4)
i  = 1 j  = 1
E =T -
F p
(5 )V  = F p -E
(6)
(5) 超混沌Lorenz 系统的初始值S  = {x 0 ,y 0 ,0 ,w 0}
作为密钥,通过超混沌Lorenz 系统得到随机序列S ,,=
12,…,MN 。将图像之间的差异值E 对扩散阶段中的混沌
序列的初始参数K  = {x o , y o , z,w o }以式(7)进行调整, 通过超混沌Lorenz 系统得到随机序列K , ,= 1,2 ,,…,MN 。 实现对扩散阶段密钥的调整
x 0 = x 0 + E  X  10一10
y 0 = y 0 + E  X  10-10
z 0 = z  + E  X  10一10w 0 = w 0 + E X  10—10 (7)
(6) 对Arnold 置乱3个通道的图像P-R 2, P-G2, P-B2分别展开成一维向量,记为P , i  = 1,2,…,MN 。
使用本文提出的扩散算法进行加取模正向、逆向扩散操 作得到图像PR 3, P-G 3, PB 3。实现对扩散过程参数
的调整。
(7)将置乱、扩散加密处理的3个通道的图像P-R 3,
P-G 3, P-B 3混合为彩图像得到加密彩图像。
以彩Lena 图像的红通道图像Lena-R 为例,基于
动态密钥的加取模扩散加密算法流程如图4所示。
2.3基于动态密钥的加取模扩散解密算法
解密算法与加密算法的过程相反,对彩图像的每个 通道的图像先进行加取模扩散的还原,再进行Arnold 置乱
和Hilbert 置乱的还原。在接收方接收到密文和密钥进行图 像解密时,加取模扩散、Arnold 置乱和Hilbert 置乱解密的
过程如下:
O )使用式(5)以密钥中衡量图像变化程度的常数T
与彩图像三通道的特征值RF p , G-F p , B-F p 分别进行
差值计算 得 到 3 个 通 道 图 像 之 间 的 差 异 程 度 R -E , G -E ,
B-E,使用式(6)将彩图像三通道的特征值R-F p , G-F p , B-F p 与差异程度R-E, G-E, BE 的差值作为逆向
加取模扩散的初始值RV , GV, BV 。
(2)使用密钥中超混沌Lorenz 系统的初始值S  =
混沌系统得到K
Cj  =(C i _1+S i +P i +K i x  V ) mod  256
正向算法(按:从倒MV )
G  =(G+i+S 汁mod  256
逆向算法(按,从MV 到1)
Lena-R
Hilbert 置乱L ena-R Arnol d 置乱L ena-R
P-R
P-Ri P-R.
P-R3
图4
基于动态密钥的加取模扩散加密算法流程
第42卷第5期
董小雨,冯秀芳:基于动态密钥的彩图像扩散加密算法
・1387・
[x 0,y 0 ,z 0 , w 0},通过超混沌Lorenz 系统得到随机序列S  , i  = 12 ,,…,MNo 将图像之间的差异值E 对扩散阶段中的混
沌序列的初始参数K  = {x 0,y 0, z 0, w (}以式(7)进行调 整,通过超混沌Lorenz 系统得到随机序列K  , i  = 12 ,,…,
MNo 实现对逆向扩散阶段密钥的调整。
(3)分别取加密图像3个通道的图像PR 3, P-G 3, P-B3, 将其展开成一维向量,记为P  , i  = 1,2 ,…,MNo 使用本文
提出的扩散算法进行加取模正向、逆向的反向扩散操作得到 图像P-R 4, P-G 4, P-B4o 实现对扩散逆过程参数的调整。
(]使用超混沌Lorenz 系统的初始值作为密钥,通过
超混沌Lorenz 系统得到随机序列X ,将随机序列X 转换为 两个M X N 大小矩阵P l 、Q 作为Arnold 置乱的初始矩阵
参数a 和b 矩阵,Arnold 矩阵A 中的a  (i ,和b (,,分别 为P i (i,、Q i (i,,使用式(1)对逆向扩散解密3个通
道的图像P-R4, P-G4, P-B4进行Arnold 置乱还原得到
P-R 5 , P-G5, P-B5o
(]将Arnold 置乱还原得到的红,绿,蓝这3个通道
的图像PR 5 , P-G5, PB 5进行Hilbert 置乱还原,使用二 维Hilbert 曲线逆向遍历图像得到P-R6, P-G6, PB 6。
(]将二维Hilbert 曲线逆向遍历图像得到P-R 6,
P-G6, PB 6图像作为红,绿,蓝这3个通道的图像,将三
通道图像融合得到彩图像。以彩Lena 图像的红通道
图像Lena-R 为例,基于动态密钥的加取模扩散解密算法流 程如图5 所示。
Constant  T
FjmodC^PQJ, 256)
Extent  E=T-F p  _►Initial  V=F  -E
加密Lena-R
P-R 3
Pi  = (2x256+G_i —G_S 厂KxF) mod  256
正向逆算法(按:从1到MV)
Pi  = (2x256+G+i-G  -S-K^V) mod  256
逆向逆算法(按:从MV 到1)
x 0 = x 0 + E'xlO -10
y o  = y o +^xlO"10
z 0 = z 0 + E'xlO -10
w 0 = w 0+ E'xlO - ] 混沌系统得到K K  = {%,To,勺,矶}
Arnold 置乱还原
Lena-R
P-R 5
加取模扩散还原
Lena-R
P-R 4
Hilbert 置乱还原
Lena-R
P-R 6
图5基于动态密钥的加取模扩散解密算法流程
在传统的图像加密算法中,通过像素改变率(number
of  pixels  change  rate  , NPCR ]和归一化像素值平均改变强
度(unified  average  changing  intensity , UACI ]的值来衡量 明文图像像素值的微小改变对加密图像的影响。本文提出 的扩散加密算法与传统的扩散加密算法相比,加密任意两
幅图像,即使相差一个比特值的两幅图像,使用的加密密 钥,加密过程中的参数都不相同。实验结果表明对原始图
像进行微小的改变,通过一次加密,加密图像会在大范围 内改变,UACI 、NPCR 即可达到理论值,可有效抵抗选择
明文攻击,使加密系统具有较强的明文敏感性,提高了加 密的安全性。
3加密效果分析
本节对加密算法的性能进行分析,在实验中采用图像 直方图分析、相关性分析、明文敏感性、密钥敏感性、信 息熵和鲁棒性分析对Lena 的红、绿、蓝这3个通道图像加
密效果进行分析, 采用 NPCR 、UACI  等对图像加密效果进 行定量分析。
3.1实验结果
图6 (a)、 图6 (b)、 图6 (c) 显示了 Lena  彩图像 加密、解密结果。直观上可以看到密文图像变得模糊不清,
在解密后可以无损还原图像。
(a) Lena 彩图像 (b) Lena 彩加密图像 (c) Lena 彩解密图像
图6加密,
解密图像

本文发布于:2024-09-21 10:43:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/90990.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   扩散   加密   置乱
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议