Print

发布时间: 2019-03-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180349
2019 | Volume 24 | Number 3




    图像处理和编码    




  <<上一篇 




  下一篇>> 





一类广义混沌映射和矩阵非线性变换的图像混合加密
expand article info 梁锡坤, 陶利民, 胡斌
1. 杭州师范大学杭州国际服务工程学院, 杭州 311121;
2. 杭州师范大学信息科学与工程学院, 杭州 311121

摘要

目的 为完善图像加密的理论及算法体系,并为图像加密实践提供性质优良的可行方案。基于Henon映射,构造了一类广义混沌映射:H-S(Henon Sine)映射,并以H-S混沌映射、矩阵非线性变换、矩阵点运算和取整运算为工具,运用序列重排和灰度变换技术设计了一种图像混合加密算法。方法 首先,将第1混沌密钥矩阵与像素矩阵进行非线性变换,通过对变换结果的随机排序,给出原始图像的置乱加密方法;其次,在置乱图像和第2混沌密钥矩阵之间实施与第1阶段参数不同的变换并应用取整运算实现灰度加密。再次,通过逆运算和逆变换实现图像解密。结果 由于混沌密钥、非线性运算和随机因素的联合作用,加密算法具有1次1密的特征,因而具有完备的抗攻击性能;同时算法结构简单、计算复杂度低而便于程序实现;算法规避了常用混沌加密对映射的可逆性要求,对任意大小的矩形图像都有效,具有广泛的适用性。结论 加解密仿真实验验证了算法的可行性和有效性,针对加密时间、图像灰度曲面、图像信息熵、加解密图像的相关性和相似性、密钥敏感性、差分攻击等展开全面的加密性能分析,佐证了加密方案的安全性和鲁棒性。同其他类型的置乱加密算法的比对佐证了算法的优越性。本文算法为任意大小的矩形灰度图像加密提供了参考方案,此方案经过适当调整即可应用于矩形彩色图像加密。

关键词

混合加密; 混沌映射; 矩阵点运算; 非线性变换; 序列重排

Image hybrid encryption based on a generalized chaotic mapping and matrix nonlinear transformation
expand article info Liang Xikun, Tao Limin, Hu Bin
1. Hangzhou Institute of Service Engineering, Hangzhou Normal University, Hangzhou 311121, China;
2. College of Information Science and Engineering, Hangzhou Normal University, Hangzhou 311121, China

Abstract

Objective A new type of chaotic map is constructed that focuses on the comprehensive application of nonlinear methods, such as mapping, transformation, and operation in image encryption. The popularity of communication infrastructure and the rapid development of network technologies have made information exchange and sharing around the world more frequent and faster. In the meantime, security problems represented by information theft, leakage, and loss are more serious. As image is the main form of information carrier, image security is a major issue in information security. Under threats of multiple information risks, image encryption is an important means to ensure the security of image information. Image encryption is an important content of digital image processing and is also one of the basic research fields of applied cryptography. Research on image encryption algorithm is valuable to the practice of image encryption and an irreplaceable function in promoting the cross development of digital image-processing method and applied cryptography theory. Moreover, such research has achieved significant results, and remaining problems are expected to be solved. First, text encryption standards, such as DES (data encryption standard) and IDEA (international data encryption algorithm), need large storage space and have high computational complexity. Consequently, these methods cannot be used directly for image encryption. Second, several encryption algorithms are oriented to grayscale images. If these algorithms are applied on color images, corresponding algorithm transformation should be performed. Third, other encryption schemes, such as Arnold transform, can only be directly applied to square images. For rectangular image encryption, other technologies, such as image blocking, need to be used. These conditions invisibly increase algorithm complexity. Recently, image encryption methods, which are represented by chaotic encryption algorithms, have attracted extensive attention and achieved vital results. Unfortunately, most image encryption schemes based on common chaotic maps have been cracked. Therefore, research on new chaotic image encryption schemes is imminent. We constructed a generalized chaotic mapping based on Henon chaotic map, which is called Henon Sine (H-S) mapping, to improve the algorithm of image encryption and provide a feasible solution with effective properties for image encryption practice. Method With the use of H-S map, matrix nonlinear transformation and point operation, the inner random function of MATLAB, and rounding operation, an image hybrid encryption algorithm is proposed through sequence rearrangement and gray transformation. The encryption algorithm adopts the basic pattern of pixel scrambling and sequence transformation. The pattern comprises two stages. In the first stage, the first chaotic and the original pixel matrixes are combined and subjected to nonlinear transformation via matrix point operation. The scrambling encryption scheme of the original pixel matrix is given using random sorting of the transformation results. In the second stage, another nonlinear transformation with different parameters is implemented between the scrambled pixel and the second chaotic key matrixes, and a rounding operation is run to realize gray encryption. Accordingly, the decryption process is performed using the inverse operations and transformations in the contrary order. That is, the pixel sequence decryption is performed by applying the inverse operation of the pixel sequence encryption, and the inverse operation of the sequence rearrangement is applied to complete the scrambling decryption. Result To verify the security and effectiveness of the encryption algorithm, we carried out image encryption experiments for standard images with different sizes. The algorithm shows the feature of the one-time-pad and demonstrates perfect performance on anti-attacks due to the combination of chaotic keys, nonlinear operations, and random factors. Moreover, the algorithm has low computational complexity and is convenient for programming. Furthermore, the algorithm circumvents the reversibility requirement of the conventional chaotic encryption for mapping, and can be widely implemented on rectangular images of arbitrary size. Conclusion To evaluate objectively the performance of hybrid encryption algorithms, multiple performance indicators were quantitatively analyzed. These indicators include encryption time, image gray surface, image information entropy, correlation, and similarity of encryption and decryption images, key sensitivity, and differential attack. The algorithm performs with high efficiency given the large enough key space to resist various attacks and is sensitive to keys and plain text. The security features and robustness of the proposed encryption scheme can be effectively guaranteed. Compared with other scrambling encryption algorithms, the superiority of the algorithm is displayed. The algorithm in this study provides a reference scheme for the encryption of rectangular gray images of any size. This scheme can be applied to rectangular color image encryption with appropriate adjustment.

Key words

hybrid encryption; chaotic mapping; matrices point operation; nonlinear transformation; sequence rearrangement

0 引言

常见的图像加密算法包括置乱加密、灰度加密和混合加密。置乱加密只改变像素位置,灰度加密只改变像素的灰度值,混合加密既改变像素位置,也改变像素的灰度值。早期的图像加密以置乱加密和灰度加密为主,但单纯的置乱加密或灰度加密的安全性和抗攻击性能有限,因而混合加密算法受到广泛重视,多种混合加密方案应运而生。

混合加密分为时域混合加密和频域混合加密。在时域空间,文献[1]给出了基于Arnold-Chen混沌序列的图像混合加密方案;Tong等人[2]基于循环移位置乱和序列加密,设计了一种复合混沌加密方案;Wei等人[3]构造了DNA加密方法,分别基于DNA编码和Chen超混沌系统进行置乱加密和序列加密;Kanso等人[4]基于3维Arnold映射的混沌加密方案,设计了适用于彩色图像的直接加密的混合算法;Zhu等人[5]采用序列的扩散变换和像素的8位分解,通过在位平面上进行混沌置乱操作,提出了位平面置乱加密方案。Sasidharan等人[6]设计完成的DWT域选择加密与流加密,使用了动态的密钥流,并用RC4算法[7]增加了复杂度,是频域空间图像混合加密的代表性方法。Ahmad等人[8]基于Arnold和Logistic映射,研究了DCT域多层块置乱加密方案,主要做法是多层分块的置乱以及使用密钥流与原图相关的方法进行混合操作。

整体来看,图像加密的研究工作取得了不少重要成果,但仍面临一些问题。1)数据加密标准算法(例如DES(data encryption standard)和IDEA(international data encryption algorithm))在图像加密中获得了广泛应用,但是由于图像数据量较大,而标准算法的计算复杂度相对较高,因而相关算法不得不牺牲运行时间以换取安全性;2)有些加密工具只能直接应用于正方形图像加密,例如Arnold变换等。面对矩形图像加密则需要采用分块技术等,无形中增加了算法的复杂度;3)混沌映射在图像加密中占有举足轻重的地位,但由于解密的需要,混沌映射往往要有解析的逆映射才能在图像加密中获得实际应用,这无疑限制了不可逆或没有解析表示的混沌映射在图像加密中的应用。有鉴于此,探讨不涉及可逆性的混沌映射,并设计计算复杂度较低、适用于任意大小的矩形图像的加密算法成为必要。

矩阵重排[9]是进行置乱加密的基本思路之一,具体做法是将矩阵转换为一维序列,对序列进行随机排序,打乱序列中的元素位置,达到置乱的效果。另外,矩阵变换可以实现图像像素的灰度加密[10],这种变换既可以在时域空间进行也能够在频域空间实施。将序列重排和矩阵变换相结合,可以形成有效的图像混合加密方案。

基于Henon映射,本文构造了一类广义的混沌映射:H-S映射,并综合运用H-S映射、矩阵非线性变换、矩阵点运算、取整运算等构造了一种图像混合加密方案。

本文结构如下:第1节简要介绍Henon混沌映射和基于该映射的图像置乱加密技术[11],并构造了广义混沌映射:H-S映射;第2节构造了基于混沌密钥流和矩阵点运算的像素置乱变换($ \lambda $变换及其逆变换)和基于取整运算的一种非线性变换($\beta $变换及其逆变换),为图像置乱加密和灰度加密奠定理论基础;第3节给出了基于$ \lambda $变换和$\beta $变换的图像混合加密算法;第4节进行加密仿真实验和详细的加密性能分析,并将加密解密效果与Henon混沌映射的图像置乱加密方法[11]和改进标准映射的置乱加密算法[12]进行了比对。

1 Henon混沌映射和H-S映射

1.1 Henon混沌映射

Henon映射[9, 11, 13]是图像加密常用的混沌变换之一,定义为

$ \left\{ \begin{array}{l} x\left( {k + 1} \right) = 1 - a \cdot {x^2}\left( k \right) + y\left( k \right)\\ y\left( {k + 1} \right) = b \cdot x\left( k \right) \end{array} \right. $ (1)

式中,$ a$$ b$为系统参数。文献[13]证明,当$ 0.54 < a < 2, 0 < |b| < 1$时,系统处于超混沌状态,具有两个正的Lyapunov指数,很适合作为密钥流生成系统。

Henon映射的另一种形式为

$ \left\{ \begin{array}{l} x\left( {k + 1} \right) = 1 - a \cdot {x^2}\left( k \right) + b \cdot y\left( k \right)\\ y\left( {k + 1} \right) = c \cdot x\left( k \right) \end{array} \right. $ (2)

式中,$0 < |c| < 1 $, 这种形式的映射增加了一个参数,提高了混沌系统的复杂度。

文献[11]应用Henon混沌映射设计了一种图像置乱加密方案,取得了较好的加密效果。基本思想是:选取混沌变换参数$ a$=1.76, $ b$=0.1,通过迭代变换得到与待加密图像$\mathit{\boldsymbol{G}} $大小相同的$n $阶密钥矩阵$\mathit{\boldsymbol{K}} $,将$\mathit{\boldsymbol{K}} $转换为1维数组并进行随机排序,记录排序前后元素的位置信息${\mathit{\boldsymbol{I}}_{{\rm{old}}}} $$ {\mathit{\boldsymbol{I}}_{{\rm{new}}}}$,把$\mathit{\boldsymbol{G}} $转换为1维数组并按${\mathit{\boldsymbol{I}}_{{\rm{new}}}} $排序后再转换为$n $阶矩阵$\mathit{\boldsymbol{\tilde G}}, \mathit{\boldsymbol{\tilde G}} $即为置乱加密后的图像,解密过程按照相反的路径实施。

1.2 H-S混沌映射

在Henon映射的基础上,构造了一类广义的映射,称做Henon Sine (H-S)映射,定义如下

$ \left\{ \begin{array}{l} x\left( {k + 1} \right) = 1 - a \cdot {x^2}\left( k \right) + {\rm{ }}\\ \;\;\;\;b \cdot \sin \left( {x\left( k \right)} \right) \cdot y\left( k \right) + c \cdot y\left( k \right)\\ y\left( {k + 1} \right) = d \cdot x\left( k \right) \end{array} \right. $ (3)

式中,$ a$$ b$$ c$$d $为系统参数。当$0.54 < a < 2, 0 < |b| < 1, 0 < |c| < 1, 0 < |d| < 1 $时,系统具有一个正的Lyapunov指数,可以作为密钥流生成系统。考虑到后续算法不涉及H-S映射的逆映射,本文不讨论H-S映射的逆映射的存在性问题。

2 基于H-S混沌映射和矩阵点运算的矩阵非线性复合变换

图像像素矩阵反映了像素位置信息和灰度大小。置乱变换的实质是改变像素位置,而灰度加密是改变各点的灰度大小。本文运用H-S混沌映射、矩阵非线性变换、矩阵点运算和取整运算等构造了两类矩阵复合变换,分别称为$ \lambda $变换和$ \beta $变换,为混合加密算法设计奠定了基础。

2.1 $ \lambda $变换

$ {\mathit{\boldsymbol{P}}_{mn}}$表示大小为$ m \times n$的原始图像,设对应的灰度矩阵为$\mathit{\boldsymbol{G}} = {({g_{ij}})_{mn}}({g_{ij}} \in \left[ {0, 1} \right]) $是以双精度值表示的像素灰度值(8位整型图像经规范化处理)。记$ \mathit{\boldsymbol{H}} = {({h_{ij}})_{mn}}({h_{ij}} \in \left[ {0, 1} \right])$是由H-S混沌映射生成的$m \times n $密钥矩阵,称${\mathit{\boldsymbol{M}}_\lambda } = {({m_{ij}})_{mn}} $为关于矩阵$ \mathit{\boldsymbol{G}}$$\mathit{\boldsymbol{H}} $$ \lambda $变换

$ {\mathit{\boldsymbol{M}}_\lambda } = \lambda \left( {\mathit{\boldsymbol{G}}, \mathit{\boldsymbol{H}}} \right) = {\lambda _1} \cdot {\alpha _1}\left( \mathit{\boldsymbol{G}} \right) + {\lambda _2} \cdot {\alpha _2}\left( \mathit{\boldsymbol{H}} \right) $ (4)

式中,${\alpha _1}、{\alpha _1} $为事先定义的矩阵运算或变换,${\lambda _1}、{\lambda _1} $>0是可变参数。若式(4)中${\alpha _1}、{\alpha _1} $分别采用矩阵的点乘方和恒等变换,则$ \lambda$变换的具体形式为

$ \mathit{\boldsymbol{M}} = {\lambda _1} \cdot \mathit{\boldsymbol{G}}.\hat{\ }{k_1} + {\lambda _2} \cdot \mathit{\boldsymbol{H}} $ (5)

由式(5),容易求出$ \lambda$变换的逆变换$ \lambda^{-1}$

$ \mathit{\boldsymbol{G}} = ((\mathit{\boldsymbol{M}} - {\lambda _2} \cdot \mathit{\boldsymbol{H}})/{\lambda _1}).\hat{\ }{k_1} $ (6)

式中,. $\hat{\ } $表示矩阵的点乘方运算,${k_1} > 0 $是第3个可变参数。由式(5)和式(6)定义的变换称为基于矩阵点运算的$ \lambda $变换和${\lambda ^{ - 1}} $变换,此变换的参数空间为$ \mathit{\boldsymbol{ \boldsymbol{\varOmega} }} = ({k_1}, {\lambda _1}, {\lambda _2}, \mathit{\boldsymbol{H}})$

2.2 $\beta $变换

$\mathit{\boldsymbol{F}} = {({f_{ij}})_{mn}} $是大小为$ m \times n$的另一矩阵,记$C = \left[ \cdot \right] $为取整运算,称$\mathit{\boldsymbol{\tilde F}} = {({{\tilde f}_{ij}})_{mn}} $为关于矩阵$ \mathit{\boldsymbol{F}}$$ \beta $变换

$ \mathit{\boldsymbol{\tilde F}} = \mathit{\boldsymbol{F}} - C\left( \mathit{\boldsymbol{F}} \right) $ (7)

对于已知的$ \mathit{\boldsymbol{F}}$,计算并记录$C\left( \mathit{\boldsymbol{F}} \right) $并将其视为常数,可得

$ \mathit{\boldsymbol{F}} = \mathit{\boldsymbol{\tilde F}} + C\left( \mathit{\boldsymbol{F}} \right) $ (8)

称为$ \beta $变换的逆变换,记为$ {\beta ^{ - 1}}$

3 基于$ \lambda $变换和$ \beta $变换的图像混合加密算法

运用$ \lambda $变换和$ \beta $变换,本文设计了一套图像混合加密算法,分两步实施。第1步运用$ \lambda $变换实现像素的置乱加密;第2步在置乱加密图像的基础上,先实施与第1步参数不同的$ \lambda $变换,然后进行$ \beta $变换,完成灰度加密。解密过程由灰度解密和置乱解密两部分构成。

设原始图像的像素矩阵为$ {\mathit{\boldsymbol{P}}_{mn}}$,完整的加密和解密算法步骤如下:

1) 对原始图像${\mathit{\boldsymbol{P}}_{mn}} $进行预处理,获取对应的双精度型灰度数值矩阵$ \mathit{\boldsymbol{G}}$

2) 选用参数$ a、b、c、d$的一组值$ a_1、b_1、c_1、d_1$,应用H-S映射生成$ m \times n$的第1个密钥矩阵$ {\mathit{\boldsymbol{H}}_1}$

3) 选择参数$ k_1、λ_1、λ_2$并对$ \mathit{\boldsymbol{G}}$${\mathit{\boldsymbol{H}}_1} $实施变换(5),所得结果记为$ \mathit{\boldsymbol{M}}$

4) 选用MATLAB内部函数randperm对$ \mathit{\boldsymbol{M}}$进行随机排序得到$ {\mathit{\boldsymbol{\tilde M}}}$,并记录排序前后的元素序号$ {\mathit{\boldsymbol{I}}_{{\rm{old}}}}$$ {\mathit{\boldsymbol{I}}_{{\rm{old}}}}$

5) 对于$ \mathit{\boldsymbol{G}}$,按$ {\mathit{\boldsymbol{\tilde M}}}$中的元素序号${\mathit{\boldsymbol{I}}_{{\rm{new}}}} $进行排序得到$ {\mathit{\boldsymbol{G}}_1}$, 至此,置乱加密完成,$ {\mathit{\boldsymbol{G}}_1}$即为置乱加密后的像素矩阵,此过程的可选参数(密钥)有:$ k_1、λ_1、λ_2、{\mathit{\boldsymbol{H}}_1}$;

6) 选择参数$ a、b、c、d$的另一组值$a_2、b_2、c_2、d_2 $生成$m \times n $的第2个密钥矩阵$ {\mathit{\boldsymbol{H}}_2}$

7) 选择恰当参数$ k_2、λ_3、λ_4$,对$ {\mathit{\boldsymbol{G}}_1}$$ {\mathit{\boldsymbol{H}}_2}$实施与步骤3)参数不同的变换式(5),得到矩阵$ {\mathit{\boldsymbol{G}}_2}$

8) 对$ {\mathit{\boldsymbol{G}}_2}$实施变换式(7)得到灰度矩阵$ {\mathit{\boldsymbol{G}}_3}$,此为最终的加密结果,至此,灰度加密完成,可选参数(密钥)包括$ k_2、λ_3、λ_4$$ {\mathit{\boldsymbol{H}}_2}$

相应的解密过程如下:

9) 对$ {\mathit{\boldsymbol{G}}_3}$依次实施变换式(8)、式(6),得到灰度矩阵$ {\mathit{\boldsymbol{G}}_1}$,完成灰度解密;

10) 根据步骤4)中的$ \mathit{\boldsymbol{M}}$排序前后的序号记录,对$ {\mathit{\boldsymbol{G}}_1}$$\mathit{\boldsymbol{M}}$排序前的元素序号$ {\mathit{\boldsymbol{I}}_{{\rm{old}}}}$重排得到$\mathit{\boldsymbol{G}}$,完成置乱解密。

4 加密仿真和加密性能分析

4.1 加密仿真实验

硬件环境:处理器为Intel(R) Core (TM) i7-5600U @2.60 GHz 2.40 GHz, 安装内存为8 GB; 软件环境:操作系统为64位,Win7.1,MATLAB 2016b集成;图像来源:BSDS500(https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html).

Tiger、Beauty和House 3幅图像的大小分别为384×256像素、342×512像素和768×512像素,密钥空间为$({k_1}, {\lambda _1}, {\lambda _2}, {\mathit{\boldsymbol{H}}_1}) \times ({k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_2}) $

图 1-图 3展示了3幅图像的加密解密效果。其中,图(a)是原始图像,图(b)是图(a)经$λ$变换后的置乱加密结果(参数${k_1} = 2.00, {\lambda _1} = 4.00, {\lambda _2} = 0.80, {\mathit{\boldsymbol{H}}_1} $的生成参数是$ {a_1} = 1.20, {b_1} = 0.20, {c_1} = 0.80, {d_1} = 0.314$),图(c)是图(b)的灰度加密结果(${k_2} = 2, {\lambda _3} = 20, {\lambda _4} = 0.10, {\mathit{\boldsymbol{H}}_2} $的生成参数是$ {a_2} = 1.40, {b_2} = 0.30, {c_2} = 0.75, {d_2} = 0.40$),图(d)为解密复原图像。

图 1 384×256像素的图像加密和解密效果图
Fig. 1 Effect diagram of encrypted and decrypted images with size of 384×256 pixels ((a) original image; (b) scrambled image; (c) hybrid encrypted image; (d) decrypted image)
图 2 342×512像素的图像加密和解密效果图
Fig. 2 Effect diagram of encrypted and decrypted images with size of 342×512 pixels ((a) original image; (b) scrambled image; (c) hybrid encrypted image; (d) decrypted image)
图 3 768×512像素的图像加密和解密效果图
Fig. 3 Effect diagram of encrypted and decrypted images with size of 768×512 pixels ((a) original image; (b) scrambled image; (c) hybrid encrypted image; (d) decrypted image)

图 1-图 3可以看出,本文算法得到的密文图像杂乱无章、细密无纹理,攻击者难以从中获取明文信息,这佐证了混合加密算法的有效性。同时密文图像经解密后可以获得与明文一致的图像(忽略累积计算误差),表明混合加密算法是无损加密。

为了更客观地评价本文算法的加密解密效果,本文计算加密图像与原始图像之间以及解密图像与原始图像之间的PSNR (peak-signal to noise ratio)和SSIM (structural similarity),同时给出与文献[11]的混沌置乱加密和文献[12]的改进标准映射置乱加密对应的结果,详见表 1

表 1 加密、解密图像和原始图像的PSNR和SSIM
Table 1 PSNR and SSIM between encrypted, decrypted image and original image

下载CSV
Tiger (384× 256像素) Beauty (342× 512像素) House (768× 512像素)
本文算法 $P_{01}$ 8.535 1 7.462 0 8.283 0
$S_{01}$ 0.010 7 0.007 5 0.009 6
$P_{02}$ 336.933 2 336.499 1 321.71
$S_{02}$ 1.000 0 1.000 0 1.000 0
文献[11]置乱算法 $P_{03}$ 12.822 4 12.590 3 9.635 9
$S_{03}$ 0.033 6 0.031 6 0.015 3
$P_{04}$ $ \infty $ $ \infty $ $ \infty $
$S_{04}$ 1.000 0 1.000 0 1.000 0
文献[12]置乱算法 $P_{05}$ 12.829 2 7.807 0 9.598 2
$S_{05}$ 0.033 8 0.009 5 0.015 9
$P_{06}$ $ \infty $ $ \infty $ $ \infty $
$S_{06}$ 1.000 0 1.000 0 1.000 0
注:$ P_{01}、P_{03}、P_{05}$分别表示不同算法的加密图像与原始图像之间的PSNR;$ S_{01}、S_{03}、S_{05}$分别表示不同算法的加密图像与原始图像之间的SSIM;$P_{02}、P_{04}、P_{06} $分别表示不同算法的解密图像与原始图像之间的PSNR;$ S_{02}、S_{04}、S_{06}$分别表示不同算法的解密图像与原始图像之间的SSIM。

表 1中用$ P$表示PSNR, $S $表示SSIM。从表 1$ P_{01}、S_{01}、P_{02}、S_{02}$的数值可以看出,混合加密算法具有良好的加密解密效果;另外$P_{01}<P_{03}, S_{01}<S_{03}, P_{01}<P_{05}, S_{01}<S_{05} $说明本文算法加密效果较优。

4.2 加密性能分析

安全性、鲁棒性强的加密系统能够抵御大多数已知明文或选择明文攻击、选择密文攻击和蛮力攻击等。本节从密钥空间、图像统计和密钥敏感性等方面分析论证算法的安全性和鲁棒性[12],并在具有可比性的前提下,对比了本文算法与混沌置乱加密算法[11]和改进的标准映射置乱加密算法[12]的相同性能指标。

由于算法涉及数值计算,因此性能分析的部分数据在不同的实验轮次可能会有细微变化,但这种量化的差别不影响最终结论。

4.2.1 密钥空间分析

密钥通过图像加解密算法得到的所有可能的取值集合称做密钥空间。应用密码学认为,安全的密钥空间应当大于128 bit[12, 14]

混合加密算法的密钥空间为${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_1} \times {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_2} = ({k_1}, {\lambda _1}, {\lambda _2}, {\mathit{\boldsymbol{H}}_1}) \times ({k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_2}) $。假设参数$k_{1}、k_{2}、λ_{1}、λ_{2}、λ_{3}、λ_{4} $取双精度数值,则取值的量级可能均为10-14,而$ {\mathit{\boldsymbol{H}}_1}、{\mathit{\boldsymbol{H}}_2}$的量级至少为10-14,于是密钥空间不小于$ {\log _2}({10^{112}}) \approx 372\;{\rm{bit}}$,远大于128 bit,因而在理论上本文算法的密钥空间足以抵御各种蛮力攻击;在加解密实践中,参数$k_{1}、k_{2}、λ_{1}、λ_{2}、λ_{3}、λ_{4} $的保守取值范围为[10-4, 104],形成$ {\mathit{\boldsymbol{H}}_1}、{\mathit{\boldsymbol{H}}_2}$的参数$a_{1}、b_{1}、c_{1}、d_{1}、a_{2}、b_{2}、c_{2}、d_{2} $的保守取值范围为[10-1, 101],这样密钥空间不小于${\log _2}({10^{80}}) \approx 212\;{\rm{bit}} $,说明算法足够安全。另外,${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_1} \times {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_2} $的大小明显大于Henon混沌置乱加密算法[11]和文献[12]的密钥空间(约为144 bit),说明本文算法更加安全。

4.2.2 灰度曲面图分析

作为一种强鲁棒性的图像加密算法,密文图像的灰度分布应当呈现一致性状态[12],这种状态的描述一般使用直方图分析[14]的方法,即强鲁棒性加密算法所得密文的灰度直方图呈现一致分布形态。本文采用更为直观的灰度曲面图来说明密文图像灰度分布的一致性。灰度曲面图是以像素位置为平面网格、以像素值为高度的空间曲面图,对应于直方图的一致分布,灰度曲面图呈现出几乎处处等高的趋势。

图 4是Tiger图像(384 × 256像素)的灰度曲面图,图 4 (a)为明文灰度曲面图,图 4(b)为通过本文算法所得的密文图像灰度曲面图;图 4 (c)为通过Henon混沌置乱加密所得的密文图像灰度曲面图;图 4(d)为通过改进的标准映射置乱加密所得的密文图像灰度曲面图。

图 4 384×256像素的明文和密文图像的灰度曲面图
Fig. 4 Gray surfaces of plaintext and ciphertext images with size of 384×256 pixels ((a) gray surface of plaintext image; (b) gray surface of ciphertext image in ours; (c) gray surface of ciphertext image in reference [11]; (d) gray surface of ciphertext image in reference [12])

图 4 (a) (b)可以看出,明文图像的灰度曲面起伏不定、变化较大,而密文图像的灰度曲面高度几乎相等,近似于平面,说明本文的加密算法具有很强的鲁棒性;对比图 4 (b)图 4(c)(d) 不难发现,前者的表面更加均匀齐整,表明本文算法的加密效果优于后两者。

4.2.3 信息熵分析

信息熵[14]反映信息源的随机性和不可预测性,是信息无序状态的衡量指标。8位整型图像加密中,信息熵的理想值[14]是8。密文图像的信息熵越接近理想值表明算法的鲁棒性越强。

表 2给出了3幅图像的明文和密文的信息熵,文献[11]密文图像的信息熵非常接近8,表明加密算法具有强大的鲁棒性,但混沌置乱加密不改变明文图像的信息熵,因而本文的混合加密算法优于混沌置乱加密。

表 2 明文及密文图像的信息熵
Table 2 Information entropies of plaintext and ciphertext images

下载CSV
Tiger (384× 256像素) Beauty (342× 512像素) House (768× 512像素)
明文 6.929 3 7.325 1 7.620 6
本文的密文 7.958 8 7.848 1 7.995 2
文献[11]的密文 6.929 3 7.325 1 7.620 6

4.2.4 像素相关性分析

一般地,明文图像的像素之间具有一定的相关性,而安全高效的加密算法产生的密文图像的像素之间的相关性应当较弱。

本文考察明文各列、明文相邻两列、密文各列和密文相邻两列的像素灰度值的协方差矩阵,分别用$\mathit{\boldsymbol{C}}_{01}、\mathit{\boldsymbol{C}}_{02}、\mathit{\boldsymbol{C}}_{11}、\mathit{\boldsymbol{C}}_{12} $表示。用$p_{01}、p_{11} $表示$\mathit{\boldsymbol{C}}_{01}、\mathit{\boldsymbol{C}}_{11}$中绝对值大于0.5的元素的比例,用$p_{02}$表示$\mathit{\boldsymbol{C}}_{02}$中绝对值大于0.9的元素的比例, 用$p_{12} $表示$ \mathit{\boldsymbol{C}}_{12}$中绝对值小于0.1的元素比例。$p_{21}、p_{22}、p_{31}、p_{32}$的含义类同,如表 3所示。

表 3 明文和密文图像的像素相关性
Table 3 Correlation of plaintext and ciphertext images

下载CSV
Tiger (384× 256)像素 Beauty (342× 512)像素 House (768× 512)像素
明文 $p_{01}$ 0.190 1 0.217 1 0.821 7
$p_{02}$ 0.436 0 1.000 0 0.985 7
本文算法密文 $p_{11}$ 0.002 6 0.002 9 0.001 3
$p_{12}$ 0.919 1 0.988 3 0.980 4
文献[11]算法密文 $p_{21}$ 0.002 6 0.002 9 0.001 3
$p_{22}$ 0.893 0 0.973 6 0.968 7
文献[12]算法密文 $p_{31}$ 0.002 6 0.002 9 0.001 3
$p_{32}$ 0.906 0 0.970 7 0.973 9

此外,图像Tiger的明文和密文像素的相关性曲面(图 5(a) (b))与明文和密文相邻两列像素相关性曲线(图 5(c) (d))都更加直观地反映出明文像素之间的相关性较高,密文像素之间的相关性很弱,密文有效破坏了明文的关联规律。

图 5 384×256像素的明文和密文图像的像素相关系数分布
Fig. 5 Correlation distribution of plaintext and ciphertext images with size of 384×256 pixels ((a) correlation surface of plaintext pixels; (b) correlation surface of ciphertext pixels; (c) correlation curve of plaintext pixels; (d) correlation curve of ciphertext pixels)

另一方面,$ p_{12}>p_{22}, p_{12}>p_{32}$,表明本文算法的密文图像的像素相关性更弱。

4.2.5 明文图像与密文图像的相关性

在安全性高的加密算法中,明文和密文之间的关联性很弱,有显著的差异性。表 4是计算得出的明文和密文的2维相关系数的绝对值。

表 4 明文图像和密文图像之间的相关性
Table 4 Correlation between plaintext and ciphertext images

下载CSV
Tiger (384× 256)像素 Beauty (342× 512)像素 House (768× 512)像素
本文 0.001 1 0.001 7 0.000 9
文献[11] 0.006 0 0.002 4 0.001 7
文献[12] 0.004 2 0.003 1 0.002 2

表 4可以看出,明文和密文图像几乎不相关,说明加密算法具有很高的安全性,且比其他算法更优。

4.2.6 密钥敏感性测试

一般地,密钥敏感性表现为用两组差别不大的密钥加密同一明文,得到的密文差别很大或两幅明文图像的相关性很小。密钥敏感性是衡量加密算法抵御蛮力攻击的重要指标,显然,密钥敏感性与安全性成正比。

如前所述,本文算法的密钥空间为${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_1} \times {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_2} = ({k_1}, {\lambda _1}, {\lambda _2}, {\mathit{\boldsymbol{H}}_1}) \times ({k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_2}) $。以下针对密钥矩阵$ {\mathit{\boldsymbol{H}}_1}、{\mathit{\boldsymbol{H}}_2}$进行敏感性测试。

$ {\mathit{\boldsymbol{K}}_0} = ({k_1}, {\lambda _1}, {\lambda _2}, {k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_1}, {\mathit{\boldsymbol{H}}_2})$, $ {\mathit{\boldsymbol{K}}_1} = ({k_1}, {\lambda _1}, {\lambda _2}, {k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_1} + 0.1, {\mathit{\boldsymbol{H}}_2})$$ {\mathit{\boldsymbol{K}}_2} = ({k_1}, {\lambda _1}, {\lambda _2}, {k_2}, {\lambda _3}, {\lambda _4}, {\mathit{\boldsymbol{H}}_1}, {\mathit{\boldsymbol{H}}_2} + 0.1)$, 先分别使用密钥$ \mathit{\boldsymbol{K}}_{0}、\mathit{\boldsymbol{K}}_{1}、\mathit{\boldsymbol{K}}_{2}$对图像Tiger加密(见图 1(c)图 6(a)(b)),并绘制图 6(a)(b)图 1(c)之间的差别图(见图 6(c)(d)),再计算两组新密码与原密码的密文图像的相关系数和结构相似度(SSIM),记入表 5

图 6 384×256像素的密钥微小变化前后的密文图像和密文差别图像
Fig. 6 Ciphertext images after keys changing and ciphertext difference images before and after key changing with size of 384×256 pixels ((a) ciphertext image after key ${\mathit{\boldsymbol{H}}_1} $ increasing by 0.1; (b) ciphertext image after key ${\mathit{\boldsymbol{H}}_2}$ increasing by 0.1;(c) ciphertext difference image before and after key $ {\mathit{\boldsymbol{H}}_1}$ changing; (d) ciphertext difference image before and after key ${\mathit{\boldsymbol{H}}_2}$ changing)

表 5 密钥微小变化前后的密文图像之间的相关系数和相似度
Table 5 Correlation and SSIM of ciphertext images before and after keys changing

下载CSV
$ {\mathit{\boldsymbol{K}}_0} - {\mathit{\boldsymbol{K}}_1}$ $ {\mathit{\boldsymbol{K}}_0} - {\mathit{\boldsymbol{K}}_2}$
相关系数 0.004 5 0.009 1
SSIM 0.000 8 0.000 7

图 6可以看出,密钥的细微变化导致密文图像的巨大差别。表 5的数据表明,微小差别的密钥产生的密文图像相关系数和结构相似度均几乎为零,充分说明本文算法具有较强的密钥敏感性。

4.2.7 差分分析

在相同的密钥条件下,通过差分分析,研究明文的定量改变对密文的影响程度。分别用${\mathit{\boldsymbol{P}}_0}、{\mathit{\boldsymbol{P}}_0} + \Delta \mathit{\boldsymbol{P}}、{\mathit{\boldsymbol{C}}_{{P_0}}}、{\mathit{\boldsymbol{C}}_{{P_0} + \Delta P}} $表示明文和改变了的明文图像以及对应的密文图像。差分分析的一般方法是对于微小的改变$ \Delta \mathit{\boldsymbol{P}}$,比较相同密钥条件下$ {\mathit{\boldsymbol{C}}_{{P_0}}}$$ {\mathit{\boldsymbol{C}}_{{P_0} + \Delta P}}$之间的差异。若$ {\mathit{\boldsymbol{C}}_{{P_0}}}$${\mathit{\boldsymbol{C}}_{{P_0} + \Delta P}} $具有较大差异,则说明加密算法抵御差分攻击的能力是强大的。

将Tiger、Beauty和House 3幅图像的灰度值分别增加0.1,计算灰度改变前后同一组密钥对应的2幅密文图像的相关系数和相似度的绝对值(表 6),发现密文图像的相关系数和结构相似度均接近0,表明算法能有效地抵御差分攻击。

表 6 明文微小变化前后对应的密文图像之间的相关性和相似度
Table 6 Correlation and SSIM of ciphertext images before and after plaintext changing

下载CSV
Tiger Beauty House
相关系数 0.001 9 0.001 1 0.002 9
SSIM 0.000 070 0.000 009 0.000 027

5 结论

本文的图像混合加密方案综合运用H-S混沌映射、矩阵点运算和矩阵非线性复合变换等知识,通过混沌密钥矩阵、序列随机排序和矩阵点运算,构造$\lambda $变换,实现像素的置乱加密,随后将置乱加密的结果再次进行不同参数的$\lambda $变换和$β $变换,实现灰度加密。由于混沌密钥矩阵和非线性运算的作用,混合加密算法具有一次一密的特点,足以保障算法有足够大的密钥空间抵御各类攻击。本文算法复杂度低,流程简单,便于程序实现,可用于任意大小的矩形图像加密,具有广泛的适应性。同时,本文算法针对不可逆混沌映射设计,规避了传统混沌加密算法对映射的可逆性要求,有效拓展了不可逆混沌映射的应用范围。加密仿真实验说明了混合加密技术的可行性和有效性,加密性能分析表明了算法的安全性和鲁棒性。与混沌置乱加密和改进的标准映射置乱加密的结果进行对比分析,表明了本文算法的优越性。

必须说明的是,密钥参数对加密性能的影响作用,需要大量的仿真实验作为基础才能开展全面分析,此问题另行讨论。

参考文献

  • [1] Guan Z H, Huang F J, Guan W J. Chaos-based image encryption algorithm[J]. Physics Letters A, 2005, 346(1-3): 153–157. [DOI:10.1016/j.physleta.2005.08.006]
  • [2] Tong X J, Cui M G. Image encryption with compound chaotic sequence cipher shifting dynamically[J]. Image and Vision Computing, 2008, 26(6): 843–850. [DOI:10.1016/j.imavis.2007.09.005]
  • [3] Wei X P, Guo L, Zhang Q, et al. A novel color image encryption algorithm based on DNA sequence operation and hyper-chaotic system[J]. Journal of Systems and Software, 2012, 85(2): 290–299. [DOI:10.1016/j.jss.2011.08.017]
  • [4] Kanso A, Ghebleh M. A novel image encryption algorithm based on a 3D chaotic map[J]. Communications in Nonlinear Science and Numerical Simulation, 2012, 17(7): 2943–2959. [DOI:10.1016/j.cnsns.2011.11.030]
  • [5] Zhu Z L, Zhang W, Wong K W, et al. A chaos-based symmetric image encryption scheme using a bit-level permutation[J]. Information Sciences, 2011, 181(6): 1171–1186. [DOI:10.1016/j.ins.2010.11.009]
  • [6] Sasidharan S, Philip D S. A fast partial image encryption scheme with wavelet transform and RC4[J]. International Journal of Advances in Engineering & Technology, 2011, 1(4): 322–331.
  • [7] Schneier B. Applied Cryptography:Protocols, Algorithms and Source Code in C[M]. 2nd ed. New York: John Wiley & Sons, Inc., 1996: 38-144.
  • [8] Ahmad M, Farooq O. Chaotic image encryption algorithm based on frequency domain scrambling[J]. Information Processing Letters, 2010, 3(6): 76–82.
  • [9] Sun X H. Image Encryption Algorithms and Practices with Implementations in C#[M]. Beijing: Science Press, 2013: 21-148. [ 孙燮华. 图像加密算法与实践——基于C#语言实现[M]. 北京: 科学出版社, 2013: 21-148.]
  • [10] Han S H, Yang S Y. An asymmetric image encryption based on matrix transformation[J]. ECTI Transactions on Computer and Information Technology, 2005, 1(2): 126–133.
  • [11] Prasad M, Sudha K L. Chaos image encryption using pixel shuffling[M]//Wyld D C. Computer Science & Information Technology (CS & IT) CCSEA 2011, CS & IT 02. 2011: 169-179.
  • [12] Chen Y C, Ye R S. A novel image encryption algorithm based on improved standard mapping[J]. Computer Science and Application, 2017, 7(8): 753–773. [陈裕城, 叶瑞松. 基于改进标准映射的图像加密算法[J]. 计算机科学与应用, 2017, 7(8): 753–773. ] [DOI:10.12677/CSA.2017.78087]
  • [13] Huang C K, Nien H H. Multi chaotic systems based pixel shuffle for image encryption[J]. Optics Communications, 2009, 282(11): 2123–2127. [DOI:10.1016/j.optcom.2009.02.044]
  • [14] Patidar V, Pareek N K, Purohit G, et al. A robust and secure chaotic standard map based pseudorandom permutation-substitution scheme for image encryption[J]. Optics Communications, 2011, 284(19): 4331–4339. [DOI:10.1016/j.optcom.2011.05.028]