一种基于混沌系统的移位置乱图像加密算法
2021-03-16乔建平
乔建平
(柳州职业技术学院,广西 柳州 546006)
0 引言
混沌系统源于“蝴蝶效应”,逐渐发展成为一门典型的非线性科学。从本质上来说,混沌是由确定性非线性系统产生的类随机且不规则的运动。最基本的特性是对系统初值及参数微小变化的极端敏感性,导致了其运动轨迹具有长期不可预测性。近年来,随着混沌理论走向成熟,混沌的应用研究引起了人们的广泛关注,混沌同步控制、混沌密码、混沌神经网络等成为了目前的研究新领域。
混沌密码一般采用序列密码机制,其加解密原理框图如图1 所示。加解密过程分别为
图1 混沌加解密原理框图
其中,K为混沌密钥序列,X为明文序列,Y为密文序列。
传统序列密码利用移位寄存器为基础的电路来生成密钥序列,密码破译者可以通过相关分析方法有效地重构出密钥序列,从而难以抵御重构攻击。区别于传统序列密码,混沌密码通过反复迭代混沌系统来生成密钥序列,使得相关分析不具有适应条件,从而极大地提高了安全性。
近年来,学者们提出了许多新型或改进型离散混沌映射,并应用于密码学,但是随着图像尺寸变大,加解密时间也变长,没有达到实时加密解密的效果。本研究设计了一种像素移位置乱算法,运用二维正弦逻辑调制映射(2D-SLMM)产生密钥对像素移位置乱,再对置乱图像进行灰度值替代操作。验证分析表明,本算法加解密速度快,并且安全可靠。
2D-SLMM 系统[1],数学表达式为:
式中α和β为控制参数,当α= 1、β= 3 时,xi+1,yi+1是混沌系统迭代值,迭代值组成的轨迹分布图如图2 所示,可看出,该系统具有极为复杂的混沌离散特性。
图2 2D-SLMM 的迭代值分布图
1 算法设计
图像加密一般分为两步:第一步是将原有的图像像素按某种算法全部置乱;第二步是将置乱后的像素值掩盖,也称像素灰度值替代。以下将运用2D-SLMM 混沌系统产生的迭代值作为密钥,分别运用于图像的像素移位置乱和灰度值替代加密过程。
1.1 移位置乱过程
设原始图像为P,长宽为M×N。首先用2D-SLMM通过公式(2)生成M×N矩阵Q,每列按小到大重新排列得到矩阵Q’,同时生成记录矩阵Q中每列元素在原序列中位置的新序列T,示意图如图3 所示。
图3 移位置乱过程示意图
x(i)和y(i)为2D-SLMM 迭代值,舍弃前500 次迭代值,以防暂态响应。
设原始图像为矩阵P,置乱示意图如图4 所示,按以下步骤进行:
图4 移位置乱过程示例
步骤1:矩阵T的第1 行元素(3,2,1,3,5),在矩阵P每列中选取对应元素(p3,1,p2,2,p1,3,p3,4,p5,5),按顺序将其移位至第1 行,在矩阵C中呈现为(11,7,3,14,25)。
步骤2:矩阵T的第2 行元素(1,4 ,5 ,4,2),在矩阵P每列中选取对应元素(p1,1,p4,2,p5,3,p4,4,p2,5),按顺序将其移位至第2 行,在矩阵C中呈现为(1,17,23,19,10)。
步骤3:矩阵T的第3 行元素(2,5,3,1,4),在矩阵P每列中选取对应元素(p2,1,p5,2,p3,3,p1,4,p4,5),按顺序将其移位至第3 行,在矩阵C中呈现为(6,22,13,4,20)。
步骤4:矩阵T的第4 行元素(5,1,4,2,1),在矩阵P每列中选取对应元素(p5,1,p1,2,p4,3,p2,4,p1,5),按顺序将其移位至第4 行,在矩阵C中呈现为(21,2,18,9,5)。
步骤5:矩阵T的第5 行元素(4,3,2,5,3),在矩阵P每列中选取对应元素(p4,1,p3,2,p2,3,p5,4,p3,5),按顺序将其移位至第5 行,在矩阵C中呈现为(16,12,8,24,15)。实际置乱类似此流程进行,最后得到置乱图像C。
1.2 灰度值替代加密
先将置乱图像C转化成一维矩阵C’,按公式(5)依次执行灰度值替代操作:
x[i]和y[i]为2D-SLMM 产生的随机密钥序列,为了消除暂态效应,舍弃前1000 次迭代值。
当每个像素值都进行了上述替代加密后得到一维矩阵E’,将其转化为二维矩阵,即得到加密图像E,解密过程是加密过程的逆运算。
2 实验结果与分析
实验仿真在MATLAB R2018a 平台上进行,以256×256Baboon 标准图做测试,2D-SLMM 初值x0=0.39 257 399,y0=0.19 978 899,参数α=1 和β=3。图5给出了本研究算法的加密图像效果图,加密图像无原始图像的任何有效信息,而解密图像与原始图像相同,这说明设计的算法有充分的可行性。
图5 算法加解密效果图
2.1 密钥空间分析
算法密钥空间大以确保在穷举攻击条件下不被攻破,本算法密钥值组成:2D-SLMM 两个初值和两个参数,精度值可达10-15,则密钥空间至少为1060。因此即使知晓序列生成器的组成方式,破解概率也极其微小,拥有如此大的密钥空间,足以抵御当前计算机的处理能力下的穷举攻击。
2.2 密文分布特性分析
直方图是反映图片灰度值数量变化的物理量,图6分别显示了原文图像Baboon 的直方图和其加密图的直方图,可见,两者区别很大,后者各灰度级直方图分布均等,足见此方法可抵挡结合灰度级数值统计的攻击。
图6 原始图像和加密图像直方图
2.3 相邻像素相关性分析
分别在垂直线、水平线以及对角线三个方向上随机选取5000 个相邻像素抽样检测,未经加密前的图片近邻像素点在靠近y=x函数区域集中,而加密后图像如图7 所示,在整个坐标区域内分布很均等,说明本算法有能力解决像素邻近点处相关性强的问题。
图7 密文图像相邻像素间的相关性图
2.4 抗差分攻击能力分析
像素数目变化率(NPCR)和归一化平均变化强度(UACI)计算公式如下:
C1是原密文,C2是变化后密文,两者原始图像素点仅仅差别一个值;C1(i,j)和C2(i,j)分别代表两个密文在(i,j)点的灰度值,C1(i,j)=C2(i,j)时,D(i,j)=0,C1(i,j)≠C2(i,j)时,D(i,j)=1。算法对若干图像统计得到50 组的NPCR 和UACI,其平均值见表1,均趋近最佳理论值[3],反映本加密方案抗击差分攻击性的能力好。
表1 加密图像NPCR 和UACI 的平均值
2.5 加密时间分析
在试验阶段,利用MATLAB R2018a 平台来运行图像算法,采用Microsoft Windows 10 系统。表2 列出了本算法和其他加密方案对256×256 的标准图的加密效率,充分显示了本算法在加密速度上有明显优势。
表2 本章算法与其他算法加密效率比较
3 结束语
本研究以2D-SLMM 定义和混沌特性进行简要分析,设计了一种新的像素移位置乱图像加密算法,实现了像素点快速移位置乱和灰度值替代操作,完成图像加密,有效地解决了图像尺寸变大、加解密时间变长的问题,达到实时加解密效果。实验数据分析表明,本算法加密效率高、密钥灵敏度强,能抵抗差分攻击、统计攻击等。