APP下载

利用混沌Arnold映射的改进图像加密方法

2019-08-02魏志军林国璋

中国电子科学研究院学报 2019年4期
关键词:明文直方图解密

魏志军,林国璋

(1.北京理工大学珠海学院,广东 珠海 519088;2.北京理工大学,北京 100081)

0 引 言

近些年,信息安全获得了巨大的发展。混沌系统[1]在信息安全领域应用非常广泛。其主要原因是混沌系统具有较好的随机特性[2],且对参数和初值具有不可预测性。如果观察者能够掌握足够多的初始条件,那么系统的行为是可以预测的,没有这些信息时,系统表现出随机性。随机行为可以用来诱导明文图像中的混乱和扩散[3],从而使数据所有者在不安全的通信信道中安全地传递信息。因此,基于混沌系统的图像加密逐渐成为研究热点[4]。

已经有很多相关研究,如文献[5]在移位变换的基础上,修改了高级加密标准(Advanced Encryption Standard, AES),采用滤波器组密码来检查图像加密的安全性。该方法在抵御攻击方面表现较好,且统计性能也表现较好。

文献[6]讨论了基于分块的转换方法,其图像分为多个块,在进行加密处理前将这些分块进行转换。该方法的主要优势是在加密和解密过程中重新生成原始图像,而不会丢失信息。模拟结果表明该方法具有良好的混乱性和扩散性,以及大的密钥空间。

文献[7]提出的混沌图像加密方法使用了仿射模块映射,置换过程中利用两个仿射模块映射[8],以达到置乱图像像素位置的目标。其扩散过程采用了另外两个仿射模块映射。

文献[9]提出了使用彩色映射和在bit级翻转空间混沌(Spatial Chaos at Bit Level Flipping, SCBLP)。该方法使用逻辑混沌序列以打乱图像像素的位置,接着将其转换为红、绿、蓝的二进制矩阵分量。该方法的缺点是加密复杂度较高,难以获得足够大的密钥空间来抵御普通攻击。

本文加密系统使用混沌Arnold映射和改进的独立成分分析(ICA)的混合矩阵形式,是一种简单高效的方法。主要工作总结如下:1)通过插入任意维度的图像,从混沌ACM中生成混合矩阵,使用混合矩阵和源图像实施混合过程;2)使用ICA方法对图像解密,即联合近似特征矩阵对角化JADE方法。

1 提出的加密系统

1.1 Arnold映射(ACM)

根据Arnold变换,被转换的原始图像像素是随机的。然而,如果迭代次数足够多,最终可以重现原始图像。这一迭代次数即被称作Arnold周期。该周期取决于图像大小,即图像的大小不同,Arnold周期也不相同[10]。

(1)

式(1)被用于转换图像的每一个像素坐标,当所有坐标均被转换,则该图像变为一个置乱图像。在迭代的某一个步骤,如果得出的图像达到预期目标(密钥),即为得到置乱图像。图像的解密依赖于转换周期,即需要进行的迭代数目= Arnold周期—密钥[10]。

1.2 独立成分分析(ICA)

独立成分分析[11](Independent Component Analysis, ICA)一般定义为观测到的多变量数据的生成模型。该数据通常作为一个样本大数据库给出。在此模型中,数据变量被定义为一些隐藏未知变量的线性或非线性的混合,且混合系统同样未知。假定非高斯潜在变量彼此相互独立,即观测数据的独立成分[12]。

基本线性模型将不可见的源图像与观测图像相联系:

x(t)=As(t)

(2)

式中:s(t)=[s1(t),…,sm(t)]T是一个m×1列向量,采集于源图像,相似向量x(t)采集观测到的信号,A为未知混合系数的n×m矩阵,n≥m,t为时间指数。该模型的混合矩阵包含固定元素,并且没有噪声。

为了从观测混合图像中恢复原始源图像,本文使用一个简单的线性分离系统:

y(t)=Bx(t)

(3)

式中:y(t)=[y1(t),…,ym(t)]T为一个估计的s(t),B为一个n×n(假设n=m)分离矩阵,如图1所示,这是一个线性分离系统,将不可见的源图像与观测图像相联系。其中,观测数据x(t),估计源图像y(t)。

图1 混合和分离部分图示

在ICA的使用中,有两种不同的方法,离线处理和在线方法。本文关注于使用JADE方法的批处理方法,通过以下两个阶段,以一种常见的方法批处理ICA方法[13]:

(1) 去相关化。本阶段目的是将输入信号的协方差矩阵进行对角化,通过计算样本协方差矩阵完成,给出观测输出的二阶统计量,即通过特征分解对矩阵进行计算。

(2) 旋转。本阶段降低了高阶统计量的度量,这将确保非高斯输出信号尽可能的统计独立。很显然,此阶段可以通过一个旋转酉矩阵进行,以提供较高阶的独立性。并且寻找一个旋转矩阵,由对角化特征矩阵从白化数据的四阶累计量中获得。本阶段的输出为独立成分。

去相关性和旋转取决于非高斯信号的测量,对于高斯信号,较高阶统计已经为零,通过ICA方法不能得到有意义的分离。对于非高斯随机信号,其含义是不仅信号应该不相关,而且较高阶的交叉统计应为零[14]。

1.3 加密与解密

本文提出的系统有两个阶段,首先使用混沌函数和Arnold映射加密,然后使用JADE方法恢复原始图像,其中JADE主要用于离线批处理。

加密方法的步骤如下:

步骤1:首先假设高为M,宽为N的原图像I为一维向量P,长度L=M×N,向量中元素大小为1比特位。

步骤3:在所提方法中,一般丢弃公式(4)和公式(5)在计算过程中的前δr次迭代。该变量中循环变量为r,其取值可能性为r=1,2,3,…,R。经验表明,δr的取值范围为(300,600)。通常来说,该区间的上界增加了总的密钥取值范围,也就是说,加密和解密的时间增加了。

xi+1=λ1xi(1-xi),i≥0

(4)

yi+1=λ2yi(1-yi),i≥0

(5)

式中,xi+1和yi+1为状态值,i=1,2,...;λ1和λ2为确定映射混沌行为的参数,且作为加密系统密钥的一部分。x0和y0为0到1之间的初始化种子,通过迭代式(2)和式(3),xi+1和yi+1的值介于0和1之间。公式(4)用于交换像素位置,公式(5)用于修改像素强度值。

步骤4:这里首先使用循环变量i处理向量P,范i的取值范围是(1,L-2)。接着,从向量中提取元素,与下式的第2项异或运算。

(6)

步骤5:公式(3)的值投影到区间[2,255],接着将投影值与V1异或运算,获得结果值为V2:

(7)

以上工作是获得扩散过程的必需过程,一般情况下,为了获得加密图像均衡化的结果,迭代数次即可。本文进行异或运算,使得随机性更大,获得的像素灰度值变化较大,达到了混沌变化的效果。

步骤6:异或运算获得的比特位如下:

V3=V2⊕Pr[i-1]

(8)

(9)

上述两个步骤的目的是增加明文的敏感性,使得方法对已知明文攻击和选择明文攻击具有较好的抵御特性。

步骤8:为了使以上步骤生效,进行如下操作:

(10)

步骤9:获得混合矩阵A,应用公式(1)为图像加密。

解密方法的步骤主要是应用JADE方法,总结如下:

2 实验结果与分析

本文提出的加密系统采用Dell Laptop平台,Windows7操作系统,处理器为酷睿2双核,2 GB内存,采用MATLAB2011b编程。

2.1 直方图分析

直方图分析是一个非常重要的特征,直方图可以表现图像中灰度值的频率分布。一个安全加密方法生成的图像应该具有均匀的直方图,这样可以提高抵抗统计分析的能力。本文分析了一些明文图像的直方图以及其加密图像。“丽娜”、“摄影师”、“船”、“机场”的明文图像及其直方图如图2所示。“丽娜”、“摄影师”、“船”、“机场”的加密图像及其直方图如图3所示。从中可以发现,加密图像的直方图几乎是均匀一致的,并与普通图像的直方图完全不同。因此,本文提出的方法可以抵抗任何的统计攻击。

图2 明文图像及其直方图

图3 加密图像及其直方图

2.2 对比度分析

图像的对比度可被定义为一个图像中亮部和暗部间的亮度差分。事实上,对比度表示一个图像中的亮度分布。在视觉上,对比度被解释为图像亮度直方图的扩散。对比度如下式:

(11)

式中,p(i,j)是灰度共生矩阵的数目。采用本文方法和其他方法加密图像的对比度结果如表1所示,由表1可知,本文方法的对比度在大多数情况下均表现出高于其他方法的对比度,其平均对比度也较高。基于该结果,可以得出结论:本文方法在加密图像中生成随机性的有效性较高。与其他方法相比,所提方法具有更高的对比度,而文献[5,7]中提出的方法的对比度值大致相同。

表1 本文方法与同类方法的对比度比较

2.3 信息熵分析

信息熵是图像加密的重要评估标准[15]。信息熵的具体定义如下:

(12)

式中,p(xi)表示像素xi的出现概率,像素总数量为K。理想状态下,熵的理论值为8,这种情况下,必须满足像素出现的概率相等。一般信息熵越高表示图像的信息量越大,反之越少。加密图像的信息熵分析如表2所示,由表2可知所有加密图像后的熵值接近8,所提加密方法平均熵值为7.997,与其他文献方法相比,在大多数情况下,本文方法熵值更高,平均熵值也较高,因此,所提加密方法在抵御熵攻击性能方面更高。

表2 加密图像的信息熵分析

2.4 客观质量量化度量

部分实验结果如表3所示,为了给出客观质量评估模型的性能的量化度量,本文采用性能评估标准有:信号失真比(SDR)、结构相似度指数(SSIM)和峰值信噪比(PSNR),其定义如下:

SDR评估分离信号的质量。SDR值越高,则信号越好。SDR以分贝(dB)为单位,其计算公式如下:

(13)

结构相似度(Structural Similarity, SSIM)指数是一种度量两个图像之间的相似性的方法,体现了目标结构的重要信息,其取值范围在0和1之间,只有两个图像完全相同的情况下,其值才为1。在尺寸为N×N的两个窗口x和y间的定义如下:

(14)

峰值信噪比(Peak Signal to Noise Ratio, PSNR)可以表征图像的优劣,PSNR值越高,则图像质量越好,即获得的解密图像结果越好。

(15)

(16)

式中:I(x,y)为原始图像,I′(x,y)为估计图像,图像尺寸大小为M×N。

本文采用了不同的图片和不同的尺寸,有128×128和512×512两种尺寸。可以看出本文方法满足一般性要求,加密的密码性良好。一些图像实例如图4所示,可以看出加密部分和解密图像,解密出来的图像基本保持了大部分图像信息。在加密过程红,为了达到混沌变化的效果,使得随机性更大,一般将彩色图像转化为灰度图像进行异或运算,解密获得的图像也是灰度图像。因此,图4的第1行和第2行彩色图像解密的结果为灰度图像。

图4 本文方法的测试样本

表3 本文方法的评估结果

图像尺寸图像编号PSNRSDRSSIM128×1281.40.815514.4710.86422.39.01381.47800.48503.37.87413.93660.24544.40.44555.45440.6080512×5121.39.20452.60920.63562.41.26193.43200.61083.40.59123.91580.69074.39.30793.39560.2165

2.5 计算复杂度分析

为了更进一步研究,本文使用像素数变化率(Number of Pixel Change Rate, NPCR)[16]、统一的平均改变强度(Unified Average Change Intensity,UACI)[16]、相关的加密吞吐量(ET,单位:MBps)和循环次数(NC)作为评估标准。

NCPR和UACI可测试明文图像上一个比特位改变的影响,定义如下:

(17)

(18)

式中,C1和C2表示两幅加密图像。W表示加密图像的宽,H表示加密图像的高。C1(i,j)和表示加密图像C1在(i,j)处的像素灰度值(有可能是彩色),C2(i,j)表示加密图像C2在(i,j)的像素灰度值(有可能是彩色)。性能评估结果如表4所示。由于不同方法所运行的硬件和软件平台具有一定差异,因此比较直接比较运行时间可能不是很准确,因此在相近的软硬件配置下比较运行时间,或者直接比较循环数量是较为切实可行的性能比较方法。由表4可知,所提方法的NC循环数量最小,运行效率最高,比文献[5,7]快了近三倍。

表4 利用ET和NC比较一些方法的性能

3 结 语

本文通过独立成分分析和混沌Arnold映射矩阵相结合,提出了一种加密系统,实验结果表明本文方法取得了较好的加密效果,从直方图分析、对比度分析和信息熵分析可以看出本文方法可以成功抵御熵攻击和统计攻击等,从加密和解密的效果看,完全满足加密方法的密码性要求。未来本文将详细研究ACM发生器矩阵的强度,并在加密和解密过程中分析其影响。

猜你喜欢

明文直方图解密
符合差分隐私的流数据统计直方图发布
炫词解密
解密“一包三改”
基于FPGA的直方图均衡图像增强算法设计及实现
炫词解密
用直方图控制画面影调
奇怪的处罚
中考频数分布直方图题型展示
奇怪的处罚
奇怪的处罚