APP下载

基于混沌与拟仿射的高效选择性彩色图像加密算法

2020-03-13杨耀森

计算机应用与软件 2020年3期
关键词:明文加密算法信息熵

杨耀森 李 博 孟 浩

(中北大学仪器科学与动态测试教育部重点实验室 山西 太原 030051)

0 引 言

进入21世纪,图像数据在传输过程中的安全隐患越来越被人们所重视。以分组密码为代表的传统加密方法已经满足不了加密安全性的要求;公钥密码体制密钥长度过长,加密解密耗时。混沌系统因其非周期性、长期不可预测性契合密码学特点,成为图像加密中一种常用的方法[1-3]。文献[4]利用logistic系统迭代序列构建出一种彩色图像加密算法,其中创新点为对R、G、B三通道分别进行加密,降低了各个成分之间的相关性,但该算法的密钥空间仅由logistic迭代周期与初值定义,减少了密钥空间,降低了加密的安全性能。为了扩充密钥,一些专家学者们围绕着fridrich提出的置乱扩散加密结构,提出了多级、高维混沌系统的加密算法。文献[5]提出将annold变换由二维转换到三维,通过提升annold维度来增强加密算法安全性。但随着密码分析技术的提高,经典的arnold置乱暴露出以下缺点:(1) annold置乱局限在N×N像素的正方形数字图像上,然而现实中,多数的数字图像都是非方形的。(2) 置乱速度慢,要进行至少10次以上置乱才可以掩盖图像纹理信息。(3) 由于arnold变换固有的周期性较短,单纯凭借置乱次数作为密钥非常容易被破解。为了进一步加强保密性能,文献[6]采用arnold置乱与lorenz扩散两种混沌系统相结合加密算法。文献[7]设计了一种基于DNA互补规则和混沌映射的图像加密方案。文献[8]提出基于动态随机增长技术的混沌块图像加密方案。文献[9]提出一种新的图像加密方案,该方案根据动态S盒的概念对图像进行加密。但是要在实时通信中使用所有这些算法,我们仍然需要提高加密方案的速度[10]。而解决这一问题的一个有效而快速的方法是更具体的基于选择性区域的图像加密,尤其是在高速传输的情况下,我们不需要加密所有的数据。

为了满足实时通信的需要,本文提出了一种高效、安全的图像选择性加密方案。具体为:将图像划分为若干块,计算每个块的相关系数,超过定义阈值的块将会与斜帐篷映射生成的随机值进行像素值的异或以去除图像像素之间的相关性。为了抵抗多次攻击,利用数学模型拟仿射变换对整个图像进行洗牌。通过对直方图、对比度、熵、相关度、密钥空间、密钥敏感度和抗差分攻击等方面进行分析,验证了该方案的安全性。该方案在各种安全通信应用中具有较强的实用性和鲁棒性。

1 拟仿射变换与混沌系统

1.1 拟仿射变换

图像加密算法中常用的是arnold变换。arnold变换是一种线性变换,通过下式对像素点坐标(x,y)进行像素坐标的置乱。

(1)

arnold变换复杂度不高,固有周期短,且秘钥空间小,安全性不高。故本文提出复杂度更高的拟仿射变换。

拟仿射变换是在仿射变换的基础上提出的,仿射变换一般形式:

(2)

由式(2)可知,仿射变换也是一种线性变换,相比arnold变换,仿射变换加大了系数维度,引入了相位,复杂了置乱密码。但经仿射变换后参数不一定是整数,且在实际图像应用中图像尺寸大小有限,故需要在仿射变换的基础上限定(x,y)的取值范围并加入非线性取整操作,进而提出有限整数域的拟仿射变换(QATLIG)。QATLIG的构造需要两个条件:

(1) 变换是离散点域{(x,y):0≤x

(2) 变换是离散点域{(x,y):0≤x

由下列公式可知QATLIG分为两步:第一,需要对像素坐标进行线性提升变换;第二,确定好线性提升变换的次数,在最后一次线性变换后对相位参数进行四舍五入取整,即为新的像素坐标。

(3)

值得一提的是,在变换计算过程避免不了负数坐标的结果,若不及时处理则会出现元素冲突情况。处理时,只需将负数X加上N或负数Y加上M即可。

解密过程即为拟仿射逆变换:

(4)

1.2 混沌系统

混沌系统具有非周期性,遍历性和对初值的敏感性三大特性。故将混沌系统用于图像加密具有保密性强、随机性好、秘钥空间大等优势,同时具有良好的抗干扰性、抵御攻击的能力。本文在进行灰度扩散时使用斜帐篷混沌映射。其动力学方程为:

(5)

式中:Vn∈[0,r]定义了混沌系统的状态,r∈(0,1)作为混沌系统的控制参数。式(5)对任意控制参数r∈(0,1)具有正的Lyapunov指数,因此,由式(5)定义的映射总是表现出混沌行为[11]。图1显示了斜帐篷映射的随机性和密钥敏感性。

(a) 随机性 (b) 敏感性图1 斜帐篷映射

2 图像加密算法

算法的流程如图2所示。

图2 加密流程图

具体步骤如下:

定义图像为P,矩阵大小为m×n,则P可分割成红、绿、蓝三种颜色的像素矩阵,分别定义为R、G、B。大小同为m×n,本文中m=n=256。

步骤1分别将R、G、B分割成大小为16×16的子块,每个通道有256个子块。

R=[R1,R2,R3,…,R256]

G=[G1,G2,G3,…,G256]

B=[B1,B2,B3,…,B256]

计算R、G、B中每个块的相关系数,并将阈值定义为T,本文中T=0.3。

步骤2设置三种不同的斜帐篷映射的初始条件,即:

根据三种不同的初始条件分别迭代256次以生成长度为256随机序列VR、VG、VB。

Y=Modulo(V′,256)

将新的随机序列以矩阵形式排列得到YR、YG、YB,大小同为16×16。

将Rp、Gp、Bp相关系数大于T的明文图像块分别与矩阵YR、YG、YB按位做异或运算:

diffuseRn=bitxor(Rn,YR)

diffuseGn=bitxor(Gn,YG)

diffuseBn=bitxor(Bn,YB)

n为块的序号,diffuseRn、diffuseGn、diffuseBn是新的扩散块,bitxor为异或运算函数。

将三通道所有块重新组合起来,得到扩散图像Pdiffuse。

步骤3定义拟仿射变换的初始条件a=7.400 0,b=-6.400 0,c=-3.162 5,d=2.600 0,e=1.611 5,f=3.274 5。

根据式(4)迭代256次,记录每次迭代生成的两种随机向量。

xn=[x1,x2,x3,…,x256]

yn=[y1,y2,y3,…,y256]

由于在式(4)中进行了取模运算,所以序列分布在图像面积区间内,即:0≤xn≤N,0≤yn≤M。

扩散图像Pdiffuse通过行向量xn按行排序。例如,如果Pdiffuse和随机行向量xn为:

(6)

(7)

(8)

解密过程为加密的逆过程,将步骤按相反的顺序执行即可从密文图像中获得原始明文图像。

3 实验结果分析

3.1 QATLIG周期测试

QATLIG(a,b,c,d,e,f)关于N×M的周期T是指当图像A的任意两个像素没有相同的颜色值时,使得A经重复同一变换后又回复到A的最小变换次数。T越大,则安全性能就越高。测试结果如表1所示。

表1 不同像素尺寸的周期比较

N代表像素尺寸大小。周期越长,安全性越高。T1为arnold变换的最小周期,T2为拟仿射变换的最小周期。从表中数据可知QATLIG变换用于像素的重新排列具有较好的效果。

3.2 加密时间测试

本文在Windows 7操作系统上使用Intel Core i5-6600 CPU@3.30 GHz和8.0 GB RAM对加密时间进行测试。表7表明,与文献[13]、文献[14]算法相比,该方案的加密时间要短得多。这些传统算法的工作原理与AES非常相似,后者通常执行循环加密,需要很多时间。然而,本文方案是一种单轮图像加密方案,可用于实时在线通信。

表2 时间分析 s

3.3 直方图分析

按照本文算法对lena图像进行仿真。结果如图3所示。

(a) 明文图像 (b) 密文图像图3 加密图像

加密前后R、G、B分量直方图对比如图4所示。

(a) 加密前

(b) 加密后图4 R、G、B直方图

由图3(b)得知经过该比特量化扩散算法,在减少计算量的前提下,密文图像看不出原始图像任何信息,达到了扩散的效果。从图4直方图中我们发现加密前后直方图的变化巨大,并且加密后图像的像素值分布得非常均匀,攻击者无法看出原始图像的分布规律,有效地抵制了攻击者的破译。

4 安全性能分析

本文从密钥空间、密钥敏感度分析、信息熵、相关性分析四个角度对加密图像的安全性能进行了测试。

4.1 密钥空间

图像加密方案的密钥空间必须至少为2100或更大[13],以抵抗暴力攻击。本文采用8个密钥进行加密,包括6个拟仿射变换,其中5个可以选用随机数,另1个由约束条件确定,斜帐篷映射为2个根据IEEE浮点标准,64位双精度计算精确度为1015。本文密钥空间如表3所示。可以看出,密钥空间为2×1015×7=2×10105≈2351,远大于文献[13]密钥空间要求。现有的64位机器无法通过穷举法进行破译[13]。

表3 密钥空间

4.2 密钥敏感度分析

在解密过程中,微改变密钥初值v0,即v0=v0+10-12,其余密钥保持不变,则解密完全失败,如图5(d)所示。由于本文算法扩充了密钥空间,而减少了单个密钥精度上的计算量,当精确度达到10-13,如图5(e)所示,图像开始出现纹理信息。本文对单个密钥的敏感性精度可达10-12,足够抵御穷举攻击。

(a) 明文图像(b) 加密图像 (c) 解密正确图像

(d) v0=v0+10-12 (e) v0=v0+10-13图5 敏感度分析

4.3 信息熵

信息熵反映了图像中平均信息量的多少,通过信息熵可以判断一幅图像的随机性。对于一幅图像,灰度值分布得越均匀,图像的信息熵就越大,信息熵越接近于8,图像的随机性越强[15]。

信息熵计算公式为:

(9)

式中:P(xi)表示R、G、B某个分量出现的概率。

由表4数据可知,本文算法加密后的R、G、B各个分量值都接近于8,且平均值高于文献[15-16],证明本文算法加密后的各个像素点具有很强的随机性,具有良好的抵御攻击的能力。

表4 密文图像信息熵

4.4 相关性分析

一幅完整的图像相邻的像素点具有较强的相关性,为了检验本文算法打乱相关性的性能,随机选择明文和密文图像水平、垂直、对角方向各1 000对像素点[16],计算相关性系数,公式如下:

(10)

(11)

式中:cov(x,y)表示相关系数,xi、yi为像素值。

从表5中可知,明文图像具有较强的相关性。经过本文算法加密后,相关性不足0.01,表明密文图像各个像素点基本无相关性。

表5 图像相关性

图6、图7给出了加密前后R通道的相关性对比图。

(a) 水平方向 (b) 垂直方向

(c) 对角方向图6 加密前R通道相关性

(a) 水平方向 (b) 垂直方向

(c) 对角方向图7 加密后R通道相关性

4.5 抗差分攻击能力分析

差分攻击是通过比较分析有特定区别的明文在通过加密后的变化传播情况来攻击密码算法的。算法对明文的敏感性越强,抗差分攻击能就越强。本文通过像素改变率(NPCR)与归一化像素值平均改变强度(UACI)测试加密算法对名明文图像的敏感性[17]。

(12)

(13)

表6 NPCR与UACI测量结果

由表6可知R、G、B分量NPCR平均值都超过0.99,UACI平均值超过0.33,并且超越了文献中NPCR与UACI的平均值。该结果表明即使对原文图像做一点细微的变化,计算得出的密文图像也有明显的差异,即本文算法具有更强的抗差分攻击能力。

5 结 语

本文提出了一种快速、高效、安全的基于QATLIG与混沌映射的选择性加密方案。与已有的算法相比,本文算法对两个方面进行了提升。其一是该方案通过相关系数参数决定了对哪个块进行加密,只有那些具有最大相关系数值的块与斜帐篷图生成的随机值逐像素异或,加快了加密的速度。其二在混淆过程中,利用拟仿射模型对异或运算后得到的图像分别按行和列顺序进行洗牌,补充了密钥空间,加强了保密性能。实验数据表明,该算法优势在于密钥空间大,运算量小,但对于密钥敏感度精确度仍有可提升的空间。加密后的图像像素值分布均匀,信息熵接近于8,能够很好地抵御攻击。

猜你喜欢

明文加密算法信息熵
基于信息熵可信度的测试点选择方法研究
加密文档排序中保序加密算法的最优化选取
基于整数矩阵乘法的图像加密算法
近似边界精度信息熵的属性约简
奇怪的处罚
教育云平台的敏感信息保护技术研究
基于信息熵的承运船舶短重风险度量与检验监管策略研究
信息熵及其在中医“证症”关联中的应用研究
奇怪的处罚