《武汉工程大学学报》  2025年02期 194-201   出版日期:2025-05-09   ISSN:1674-2869   CN:42-1779/TQ
基于二维帐篷正弦逻辑映射系统的彩色图像加密算法



随着互联网的快速发展,保证数字图像安全传输、防止黑客窃取信息是一个严峻而紧迫的挑战。Fridrich[1]首次将混沌系统引入图像加密,之后Wang等[2]使用基于logistic映射的一维混沌系统对图像进行加密,唐传华等[3]设计了一种logistic-sine映射的一维混沌系统。但一维混沌映射密钥生成空间小,安全性低,而高维的超混沌系统[4-6]控制参数多,计算复杂度高,因此出现了大量关于二维混沌系统的研究。例如Hua等[7]提出了二维正弦逻辑调制映射 (two-dimensional sine logistic modulation map, 2D-SLMM)系统, Zhu等[8]提出了一种二维逻辑调制正弦耦合逻辑 (two-dimensional logistic-modulated-sine-coupling-logistic, 2D-LSMCL)系统,但这些系统的混沌范围依然有限。针对这一缺陷,Hua等[9-11]又陆续提出了二维逻辑调整正弦映射(two-dimensional logistic-adjusted-sine map, 2D-LASM)系统、二维逻辑正弦耦合映射(two-dimensional logistic-sine-coupling map, 2D-LSCM)系统以及二维逻辑正弦映射(two-dimensional logistic-sine map, 2D-LSM)系统,并基于这些混沌系统分别设计了图像加密算法。三通道的彩色图像比灰度图像含有更多的数据,为了扰乱这些数据之间的相关性,Kaur等[12]使用了更复杂的辅助序列,Zhou等[13]对图像的行列制定随机的移位顺序。这些算法虽然提高了图像的安全性,但都没有充分利用彩色图像独特的三通道特性。Ouyang等[14]针对这一缺陷,对每个通道设计了不同的扩散过程,但仍然没有使置乱和扩散这两个加密的关键步骤从单通道影响到三通道的所有像素点。此外,传统的图像加密算法中密钥与明文无关,可能出现重复密钥,加重了图像面临的安全风险。
针对上述图像加密算法存在的不足,提出了一种二维帐篷正弦逻辑映射(two-dimensional tent-sine-logistic map, 2D-TSLM)系统,通过耦合一维混沌映射扩大混沌范围、增加混沌系统的复杂性,使其能在加密算法中表现出更好的效果。基于2D-TSLM系统设计彩色图像三通道间交织置乱和交织扩散的图像加密算法,通过两轮“交织置乱-交织扩散”生成加密图像,以提高图像加密的安全性。
1 基于2D-TSLM系统的彩色图像加密算法
基于2D-TSLM系统的彩色图像加密算法利用混沌系统强大的伪随机性和对初始值敏感等特性,通过密钥生成参与加密的序列、数组,使加密过程不可知。
1.1 2D-TSLM系统设计
在经典的一维混沌映射中,logistic映射[15]、sine 映射[16]以及tent映射[17]分别用式(1-3)表示,其中映射变量[xi∈[0,1]],[i]为自然数。logistic映射参数[μ∈(0,4)],只有当3.569 945 6<[μ]≤4时,才会进入混沌状态;sine 映射参数[α∈][0,1],当[α]∈(0.87,0.93)∪(0.95,1)时出现混沌现象;tent映射参数[r∈][0,1],当[r]=0.5时进入周期状态。
[xi+1=μxi(1-xi)] (1)
[xi+1=αsin(πxi)] (2)
[xi+1=2rxi,2r(1-xi),0≤xi<0.50.5≤xi≤1] (3)
一维混沌系统结构简单,但在混沌性能上存在很大的局限性。大量实验结果证明一维混沌系统用于加密具有安全缺陷。本文调制及耦合了tent、sine和logistic映射,提出了2D-TSLM系统。2D-TSLM系统可由式(4)表示,其中控制参数a、b分别控制不同的耦合函数,由于sin变换是一种有界变换,因此a和b的范围可以取任意大的值。系统的状态变量[xi, yi∈[-1,1]]分别表示系统两个维度的状态。
[xi+1=sin (4πaxi(1-xi)+b?πcos (πyi)), -1≤yi<0.5sin(4πaxi(1-xi)+b?πcos(π(1-yi))), 0.5≤yi≤1yi+1=sin (4πayi(1-yi)+b?πcos (πxi+1)), -1≤xi+1<0.5sin (4πayi(1-yi)+b?πcos (π(1-xi+1))), 0.5≤xi+1≤1] (4)
1.2 2D-TSLM系统性能分析
由于[a,b=0]时,2D-TSLM系统不会进入混沌状态,为了研究混沌系统的混沌性能,针对[a,b∈(1,100)]时系统的状态,从分岔图、相平面轨迹、最大李雅普诺夫指数(maximum Lyapunov exponent,MLE)和样本熵(sample entropy,SE)4个方面展开分析。
分岔图反映了控制参数在小且连续变化的情况下,对混沌系统造成的变化。混沌系统初始值x=0.2,y=0.8时得到的分岔图如图1(a-b)所示,分别表示[xi]相平面轨迹和[yi]相平面轨迹随参数[a,b]变化的情况。
<G:\武汉工程大学\2025\第1期\易国洪-1-1.tif><G:\武汉工程大学\2025\第1期\易国洪-1-2.tif>[(b)][(a)][100][1

0

-1][xi][50][0][50][100][a][b][1

0

-1][yi][100][50][0][50][100][a][b]
图1 分岔图:(a)[xi]平面,(b) [yi]平面
Fig. 1 Bifurcation diagram:(a) [xi] plane, (b) [yi] plane
当[a=50],[b=50]时[xi]和[yi]的相平面轨迹如图2所示,从图2中可以看出2D-TSLM系统的变量均匀地分布在整个相平面上,该系统在整个参数范围内表现出复杂的混沌特性。
<G:\武汉工程大学\2025\第1期\易国洪-2.tif>[-1.0 -0.5 0.0 0.5 1.0
xi][1.0
0.5
0.0
-0.5][yi]
图2 相平面轨迹
Fig. 2 Phase plane diagram
二维混沌系统的MLE越大,混沌性能越好。2D-TSLM系统与其他混沌系统的MLE对比结果如图3所示。为了展示直观的对比效果,将2D-TSLM和2D-LSM系统中的参数[a]从区间(1,100)线性缩小到(0,1),并设置[b]=50;对于2D-SLMM和2D-LSMCL系统,设置[b]=3。从图3中可以看出2D-TSLM系统的MLE稳定,且明显高于2D-SLMM、2D-LASM、2D-LSCM、2D-LSMCL、2D-LSM系统,2D-TSLM系统具有更好的混沌性能。
<G:\武汉工程大学\2025\第1期\易国洪-3.tif>[0 0.2 0.4 0.6 0.8 1.0
a][12
10
8
6
4
2
0
-2
-4][MLE][2D-SLMM
2D-LSCM
2D-LSM][2D-LASM
2D-LSMCL
2D-TSLM]
图3 MLE对比结果
Fig. 3 Comparison results of MLE
SE越高,混沌系统产生新模式的概率就越大,时间序列越复杂。对于[δ]个随机数据[ti](i∈[1,δ])组成的时间序列[T={t1, t2, ?, tδ}]的SE可用式(5)计算。
[HSE(ε, τ, δ)=-lnψAψB] (5)
其中:[ε]为重组向量的维数;[τ]为给定的距离阈值;[ψA]和[ψB]表示满足[d[Tε+1(i), Tε+1(j)]<τ]和[d[Tε(i),][Tε(j)]<τ]的个数(i,j=1,2,…,ε),其中d表示两元素值最大差值的绝对值,[Tεi={ti, ti+1, ?, ti+ε-1}]。2D-TSLM系统的SE结果如图4所示。
<G:\武汉工程大学\2025\第1期\易国洪-4.tif>[2.0
1.5
1.0
0.5
0.0][SE][100][50][0][50][100][a][b]
图4 2D-TSLM系统的SE
Fig. 4 SE of 2D-TSLM system
将二维混沌系统中的所有参数设置为与MLE实验中相同的值,不同二维混沌系统的SE在[b]=3时的对比结果如图5所示。由图5可知,2D-TSLM系统的SE稳定且明显高于2D-SLMM、2D-LASM、2D-LSCM、2D-LSMCL系统,较高于2D-LSM系统,但MLE明显高于2D-LSM系统。
<G:\武汉工程大学\2025\第1期\易国洪-5.tif>[3.0
2.5
2.0
1.5
1.0
0.5][SE][0.0 0.2 0.4 0.6 0.8 1.0
a][2D-SLMM
2D-LASM
2D-LSCM][2D-LSMCL
2D-LSM
2D-TSLM]
图5 SE对比
Fig. 5 SE comparison
1.3 彩色图像加密算法设计
基于2D-TSLM系统的彩色图像加密算法主要由密钥发生器、通道交织置乱和通道交织扩散组成,其流程如图6所示。首先,明文图像CI通过密钥发生器生成密钥K,并由2D-TSLM系统生成参与加密的混沌序列A、B、C,再将图像经过两轮置乱-扩散过程得到加密图像EI。
<G:\武汉工程大学\2025\第1期\易国洪-6.tif>
图6 彩色图像加密流程图
Fig. 6 Color image encryption flowchart
假设算法设计过程中CI大小为[M×N×3]像素,其中[M]为行数,[N]为列数,[M、N]均为正整数。
1.3.1 密钥发生器 密钥发生器生成包含[ak]、[bk]、[xk]、[yk] 4个部分的密钥,分别对应2D-TSLM系统的控制参数a、b和状态变量x、y。
首先对明文图像应用SHA256函数生成256位的二进制字符串,并将其等分为4个字符串[Kstr(i),]其中[i=1, 2, 3, 4];然后由当前时间戳生成64位二进制字符串,分别与[Kstri]异或,其结果记为[fi],[fi]为64位二进制字符串,用[fi,j]表示[fi]的第j位值,[fi(s, e)]表示[fi]从s位到e位的值。密钥中的[ak, bk]由式(6)计算得到,[xk,yk]由式(7)计算得到。
[ak=(j=112fi, j×2j+j=1364fi, j×2-(j-13+1))×100212 , i=1bk=(j=112fi, j×2j+j=1364fi, j×2-(j-13+1))×100212 , i=2]
(6)
[xk=(-1)fi(1,12)×j=1364fi, j×2-(j-13+1) , i=3yk=(-1)fi(1,12)×j=1364fi, j×2-(j-13+1) , i=4] (7)
为了保证变量的精确度,小数部分的二进制长度不超过52位。式(6)由[fi]的前12位生成变量的整数部分,后52位生成变量的小数部分。为了避免变量为0导致混沌系统无法正常运行,当小数部分值为0时将其置为1。式(7)中由前12位生成符号位,再由后52位得到小数部分。
密钥发生器最终生成的密钥[K]=[[ak,bk,xk,yk]],将其通过2D-TSLM系统得到两组长度为[7MN+2M+3N ]的混沌序列Lx和Ly。将Lx分为长度为[3MN、2M+3M+MN、3MN]的3个序列Ax、Bx、Cx,Ly分为同样长度的3个序列Ay、By、Cy,分别参与两轮加密。
1.3.2 通道交织置乱算子 通道交织置乱算子同时打乱三通道像素位置。将Ax序列重排为[M×N×3]的三维矩阵AMN3,将Bx序列拆分并重排为[2×M]的B2M矩阵、[3×N]的B3N矩阵以及[M×N]的BMN矩阵,将4个矩阵分别排序得到相应的索引矩阵Ix、Im、In、Imn,作为通道交织置乱输入值。具体步骤如下:
(1) 用索引矩阵Ix对三通道的明文图像CI的第三维度进行混洗,得到混洗后的矩阵[S1],第三维混洗可用式(8)表示,过程示例如图7所示(以M = 3、N = 3为例),其中(i, j, k)表示矩阵中第k个通道的第i行、第j列,“:”表示取某一维度的所有元素,例如Ix(:, : ,1)表示取矩阵Ix第1个通道的所有元素。
[S1(i, j, k)=CI(i, j, Ix(i, j, k))] (8)
(2) 利用索引矩阵Im、Imn对矩阵[S1]进行面对面映射置乱得到矩阵[S2],置乱过程可用式(9)表示。
[ S2(i, j, k)=S1(Im (k, j),Imn(i, j), k+1),S2(i, j, k)=S1(Im(k, j),Imn(i, j),1), k<3 k=3]
(9)
(3) 根据索引矩阵In对矩阵[S2]在垂直方向移位,得到置乱矩阵[S],操作过程如图8所示,其中以矩阵Im为例,Im(2,M)代表取其第2行、第M列元素。
<G:\武汉工程大学\2025\第1期\易国洪-7.tif>[Ix(:, : ,1)][Ix(:, : ,2)][Ix(:, : ,3)][C1(:, : ,1)][C1(:, : ,2)][C1(:, : ,3)][S1(:, : ,1)][S1(:, : ,2)][S1(:, : ,3)][2 1 3 1 2 1 2 3 2 ][3 2 1 3 3 2 3 2 1 ][1 3 2 2 1 3 1 1 3 ][1 2 3 4 5 6 7 8 9 ][1 2 3 4 5 6 7 8 9 ][1 2 3 4 5 6 7 8 9 ][1 2 3 4 5 6 7 8 9 ][1 2 3 4 5 6 7 8 9 ][1 2 3 4 5 6 7 8 9 ]
图7 第三维混洗示例图
Fig. 7 Example of the third dimensional mixing
1.3.3 通道交织扩散算子 通道交织扩散算子将原图像中细微差异扩散至3个通道。将Cx序列重排为[M×N×3]的三维矩阵CMN3,然后对其排序得到索引矩阵Ic,作为通道交织扩散的输入。具体步骤如下:
(1)保存矩阵[S]第三通道的第[M]行[第N]列像素值[P, P=S(M, N, 3)];
(2)使用索引矩阵[Ic]值和矩阵[S]的最后一位像素值共同改变[S]的第一位像素值;
(3) 使用索引矩阵[Ic]值和Mdif(i, j, k)的值共同改变下一位置的像素值,直到最后一位像素值也被改变,改变的具体规则如式(10)所示。
[Mdif=mod((S(Ic(i, j, k), j, k)+S(IcM, N, 3, N, 3)+Ic(i, j, k)), F), i=1, j=1, k=1 mod((S(Ic(i, j, k), j, k)+Mdif(M, j-1, 3)+Ic(i, j, k)), F), i≠1, j=1, k=1mod((S(Ic(i, j, k), j, k)+Mdif(i-1, j, 3)+Ic(i, j, k)), F), i≠1, j≠1, k=1mod((S(Ic(i, j, k), j, k)+Mdif(i, j, k-1)+Ic(i, j, k)), F), k=2mod((S(Ic(i, j, k), j, k)+Mdif(i, j, k-1)-Ic(i, j, k)), F), k=3] (10)
其中Mdif为扩散后得到的矩阵, [1≤i≤M, 1≤j≤N, 1≤k≤3],约束常量F取255,避免计算结果超出像素值。
在第二轮交织置乱-交织扩散过程中,使用Ay、By、Cy序列替代第一轮中使用的Ax、Bx、Cx序列,其他步骤同上述第一轮步骤,获得加密图像EI。该算法加密过程完全可逆,解密时通过密钥[K]执行加密逆过程可获得初始的明文图像。
3 仿真实验与安全性分析
为验证所提出的彩色图像加密算法的有效性,选取图像处理标准图片中的多幅彩色图像作为测试对象,在MATLAB R2021b仿真环境中测试。
3.1 密钥敏感性分析
在图像加密算法的设计中,密钥敏感性是一个关键的安全特性。该特性要求,即使在原始密钥K1 只发生微小扰动以产生新密钥K2的情况下,由K1和K2加密相同明文图像所得到的两幅加密图像E1和E2之间也应展现出高度的不相似性。以大小为512×512×3像素的彩色Lena图像为例,为密钥K1的初始值添加[±10-12]的偏差来获得密钥K2,其加密结果E1和 E2之间的差异使用像素数变化率(number of pixels change rate,NPCR,RNPCR)和统一平均变化强度(unified average change intensity, UACI,IUACI)两个指标来衡量,定义如式(11)所示,其中图像大小为[M]行[N]列,[C1]和[C2]分别代表对比的两幅图像对应的矩阵值,矩阵D用于记录两幅图像之间的相似度,当矩阵D为零矩阵时,代表两幅图像完全相同。
[RNPCR=i,jD(i,j)M×N×100%D(i,j)=1, C1(i,j)≠C2(i, j)0, C1i,j=C2(i, j)IUACI=1M∑(C1(i, j)-C2(i, j))255×100%] (11)
NPCR的理想值为99.609 4%,UACI的理想值为33.463 5%,越接近理想值说明两幅图像之间的差别越大。本文算法在不同测试图像上NPCR和UACI的平均值分别为99.61%和33.45%,接近理想值。以Lena图像为例,对其进行密钥敏感性分析实验,结果以直方图表示,如图9所示,两幅加密图像E1、 E2之间差值明显,表明该加密算法对密钥敏感,算法安全性高。
<G:\武汉工程大学\2025\第1期\易国洪-9-1.tif><G:\武汉工程大学\2025\第1期\易国洪-9-2.tif><G:\武汉工程大学\2025\第1期\易国洪-10-1.tif><G:\武汉工程大学\2025\第1期\易国洪-10-2.tif>[(b)][(a)][(d)][(c)][0 100 200 300
像素值][8 000
6 000
4 000
2 000][数量 / 个][8 000
6 000
4 000
2 000][数量 / 个][0 100 200 300
像素值][0 100 200 300
像素值][8 000
6 000
4 000
2 000][数量 / 个][0 100 200 300
像素值][8 000
6 000
4 000
2 000][数量 / 个]
图9 不同图像的直方图:(a) Lena,(b)加密图像E1,
(c)加密图像E2,(d)E1、E2差值图像
Fig. 9 Histograms of different images: (a) Lena,
(b) encrypted image E1, (c) encrypted image E2,
(d) difference image of E1 and E2
3.2 统计分析
Lena图像加密前后直方图分布分别如图10(a-b)所示,加密使Lena图像像素直方图分布均匀。
<G:\武汉工程大学\2025\第1期\易国洪-11-1.tif><G:\武汉工程大学\2025\第1期\易国洪-11-2.tif>[(b)][(a)][4 000
3 000
2 000
1 000][数量 / 个][1 500
1 000
500][数量 / 个][0 100 200 300
像素值][0 100 200 300
像素值]
图10 Lena图像彩色直方图分布:(a) 加密前,(b) 加密后
Fig. 10 color histogram distribution of Lena image:
(a) before encryption, (b) after encryption
Lena图像加密前后相邻像素相关性如图11所示,其中G(x,y)表示图像在(x,y)位置上的灰度值。图11中,加密前Lena图像垂直、水平和对角线方向相邻像素灰度值之间均表现出明显的线性相关,加密后的Lena图像在3个方向相邻像素灰度值之间的强相关性都被打破。
加密后的图像信息熵越接近理想值8,图像的随机性越高。以 Lena图像为例,本文算法与文献[13]、文献[18-20]中算法,在加密后各通道信息熵数据如表1所示,本文提出的加密算法信息熵高于文献[13]、文献[18-20]中加密算法的信息熵,且更接近信息熵理想值。
表1 R、G、B通道信息熵
Tab. 1 Entropy of R, G, B channels
[算法 R通道
信息熵 / bit G通道
信息熵 / bit B 通道
信息熵 / bit 本文算法 7.999 3 7.999 4 7.999 3 文献[13] 7.997 4 7.997 6 7.997 5 文献[18] 7.997 3 7.996 9 7.997 1 文献[19] 7.997 3 7.997 2 7.996 9 文献[20] 7.996 6 7.997 2 7.996 7 ]
3.3 鲁棒性分析
在仿真实验中,通过为加密图像添加噪声来模拟现实世界的噪声干扰。以4.2.06.tiff图像的加密图像为例,图12中含噪声图像的解密结果[图12(b-c)]与不含噪声的解密结果[图12(a)]之间差别不大,说明基于2D-TSLM系统的彩色图像加密算法可以通过噪声攻击,且抗噪声攻击性能良好。
<G:\武汉工程大学\2025\第1期\易国洪-13.tif>[(b)][(a)][(c)]
图12 抗噪声能力检测结果:(a) 不含噪声,
(b)含0.5%椒盐噪声,(c) 含1%椒盐噪声
Fig. 12 Noise resistance test results: (a) without noise, (b) with 0.5% pretzel noise, (c) with 1% pretzel noise
在仿真实验中,对图像进行1个像素的改变,来模拟差分攻击手段,仿真实验结果使用NPCR和UACI值表示,如表2所示。表3以大小为512×512×3像素的Lena图片为例,列出了不同的加密算法NPCR和UACI结果的差别。NPCR的理想值为99.609 4%,UACI的理想值为33.463 5%,本文提出的算法平均NPCR=99.61%,平均UACI=33.45%,接近理想值,对比同类算法具有更好的抗差分攻击能力。
在图13中对4.2.06.tiff图像的加密图像分别进行6.25%、25%、50%的数据裁剪,并对裁剪后的图像解密。从图13中可以看出解密图像中虽然出现一定的噪声,但并不影响图像的整体轮廓,因此基于2D-TSLM系统的彩色图像加密算法可以通过裁剪攻击,具有较好的抗裁剪性能。
4 结 论
针对基于传统的一维和高维混沌系统设计的加密算法中存在的缺陷,提出一种2D-TSLM系统,并设计彩色图像加密算法。分岔图、轨迹图、MLE和SE结果表明,2D-TSLM系统具有广泛且连续的混沌范围,与其他二维混沌系统在MLE和SE指标上表现结果的对比表明2D-TSLM系统具有更复杂的混沌行为,适合应用于图像加密算法。基于2D-TSLM系统的彩色图像加密算法设计了密钥发生器,并对三通道进行了两轮交织置乱和交织扩散。安全性分析仿真实验表明该算法在密钥敏感性、直方图、信息熵、相邻像素相关性等指标上表现优异,解决了密钥信息与明文无关的问题,算法安全性高。对一些典型的攻击手段,如统计攻击、噪声攻击、差分攻击、裁剪攻击等,具有良好的防御能力。但该算法同时也存在一些缺陷,例如图像加密的置乱-扩散过程对图像的安全性起至关重要的作用,但对不同图像的加密效果也会不同,本文算法无法自适应置乱-扩散轮次。置乱-扩散轮次太少会导致图像加密安全性低,轮次过多会造成计算复杂和资源浪费,未来可以考虑设计置乱-扩散自适应算法,为图像加密算法确定合适的运行轮次。