APP下载

基于中国剩余定理和Logistic映射的彩色图像加密算法

2021-01-22段雪峰

桂林电子科技大学学报 2020年4期
关键词:彩色图像明文加密算法

段雪峰, 王 瑞

(桂林电子科技大学 数学与计算科学学院,广西 桂林 541004)

随着互联网技术的高速发展,数字图像在社交媒体软件中的传输变得愈加频繁。为确保图像在传输过程中不被敌手所截获而获得有效信息,图像加密技术成为图像信息安全领域的热门内容。由于数字图像具有数据量庞大、相邻像素相关性强、冗余度高等特点,传统的文本加密算法如DES、AES、RSA等直接应用于图像的加密,显得十分笨重,效果并不理想。因此,研究高效的图像加密算法成为了当前要解决的关键问题。

彩色图像相较于灰度图像,包含的数据量更大,传递的视觉信息更加丰富,在日常的网络传输中具有广泛的应用,于是针对彩色图像的加密技术成为了研究的重中之重。由于混沌映射具有众多的良好性质,如对初值和初始参数的高敏感性,生成序列的伪随机性和遍历性等,与密码学的基本要求相契合,近年来产生了许多基于混沌的彩色图像加密算法[1-5]。Wang等[2]将彩色图像RGB的3个通道进行水平或垂直拼接,构成规模更大的矩阵,利用混沌序列的伪随机性,将混沌序列进行排序,从而置乱图像像素点的位置。Pak等[3]通过构造性质更为良好的一维混沌映射,采用经典的“混淆-扩散”结构,将三维的彩色图像转化为二维平面矩阵,通过对混沌序列排序和相邻像素间位异或的方式进行加密。由于彩色图像包含的数据量较大,对混沌序列排序的计算复杂度较高,针对大尺寸的图像,加解密时间将会大量增加。因此,王兴元等[4]设计了一种基于混沌的快速加密算法,采用仅对图像的行和列进行移位和交换,达到快速置乱的目的。但单纯地使用结构简单的混沌序列进行图像置乱,往往不能够保证加密算法具有较高的安全性和抗攻击能力。陈军等[5]利用Logistic映射对明文图像进行位置置乱,再利用高维的Lorenz映射对图像进行分块扩散处理,进而保证了加密算法的强度。虽然高维的混沌映射带来了加密强度的提升,但是相应地增加了计算成本。

在保证安全性的前提下,为解决使用高维混沌映射和对混沌序列进行排序带来的计算复杂度增加的问题,采用中国剩余定理直接对彩色图像像素点的3个分量进行扩散,再将生成的中间加密图像结合一维的Logistic映射对像素值和像素位置进行进一步的置乱。在加密过程中,混沌序列的初值生成与明文像素值之和相关联,保证了密钥生成与明文具有依赖关系,增强了加密算法抵御选择明文和选择密文攻击的能力。

1 算法理论基础

1.1 中国剩余定理

中国剩余定理,又名孙子定理,在计算机密码学中具有重要的影响和地位。运用数学语言可描述为如下形式。

定理1[6](中国剩余定理) 设m1,m2,…,mk是k个两两互素的正整数,则对任意的正整数a1,a2,…,ak,同余式组

(1)

一定有解,且解是唯一的。若令m=m1m2…mk,则解可表示为

(2)

由于图像的灰度值是介于0和255之间的整数,加密算法中选取的mi是大于255的互素的整数。彩色图像的每个像素点由3个灰度值确定,因此可将3个分量灰度值a1、a2、a3作为一个同余式组的3个余数,从而得到一个唯一确定的值x。在解密过程中,可通过ai≡x(modmi),i=1,2,3,从而正确解密。

1.2 Logistic映射

Logistic映射是经典的一维混沌映射,具有简单的结构和复杂的混沌行为。其数学表达式为

xn+1=μxn(1-xn),

(3)

其中,xn∈(0,1),μ∈(0,4],当μ∈(3.569 945 6,4]时,输出序列处于混沌状态。

2 算法加密流程

2.1 算法简述

本加密算法采用先对像素值扩散,再对像素位置进行置乱的两步经典加密结构。首先将RGB图像通过中国剩余定理进行压缩,产生的压缩矩阵会发生数据膨胀。通过对膨胀的矩阵进行取模和取整运算,得到相应的数值在0~255之间的图像矩阵,再结合Logistic映射,将图像矩阵进行整体的比特异或运算,进一步扩散像素灰度值。最后,利用混沌映射的伪随机性,置乱图像的像素位置,得到最终的加密图像。加密算法流程如图1所示。

图1 加密算法流程

2.2 加密算法主要步骤

1) 读取一幅尺寸为M×N的彩色图像P,计算图像P的像素值之和S1。

2) 选定互素的3个整数m1、m2、m3,按照从左到右,自上而下的顺序,对图像P中(i,j)处的像素(a1,a2,a3)应用定理1得到相应的解bi,j,生成的矩阵记为B。

3) 对数据膨胀后的矩阵B应用式(4)和(5)计算,i=1,2,3,其中D0=B。

Ci=mod(Di-1,256),

(4)

Di=floor(Di-1/256)。

(5)

4) 输入任意数x0(0

x1=(x0+S1/214-[S1/214])mod 1,

(6)

(7)

5) 按式(8)和(9)得到矩阵K1、E1、E2和E3,其中E0=K1,并按从左到右的顺序将E1、E2和E3拼接成尺寸为M×3N的图像矩阵E,计算E的像素值之和S2。

K1=D3⨁X1,

(8)

Ei=Ei-1⨁Ci。

(9)

(10)

8) 将序列zn从左至右按每组MN个元素转化为二维矩阵,分别构成加密后的彩色图像矩阵F的RGB三个通道的分量矩阵。

2.3 解密算法

因为该加密算法中每步都可逆,所以解密过程为相应的加密过程的逆运算。值得注意的是,在解密过程中,解密密钥包含一个在加密过程中生成的与明文自相关的密钥矩阵K1。由于K1是通过中间加密图像和混沌映射生成矩阵通过位异或运算得到的,不会暴露明文中的任何信息。同时,由于Logistic映射的初值是结合明文信息生成的,使得加密算法对明文具有较高的敏感性,提升了加密的强度。

3 仿真实验

仿真实验使用的图片为512×512的标准彩色图片Pepper和Baboon,全部实验在个人计算机上应用MATLAB 2014a软件实现。个人计算机配置为:AMD A10-5750 M APU @2.50 GHz,8 GiB内存,Windows7旗舰版操作系统。

如图2所示,本算法可对图像进行正确的加密和解密操作。加密后的图像从人类视觉系统上无法获得有效信息,解密后的图像与原图相比较未失真,验证了本加密算法的有效性。

图2 明文图像的加密和解密

4 安全性能分析

4.1 密钥空间分析

密钥空间是指在密码系统中所有可能取到的密钥总数。为防止加密算法被暴力攻击破解,文献[7]指出,密钥空间至少要大于2100,而且密钥空间越大,表示加密算法的安全级别越高。

表 1 不同加密算法密钥空间大小比较

4.2 直方图分析

图像直方图描绘了图像中像素灰度值的分布情况,反映了图像具有的基本的统计信息。一幅具有视觉信息的明文图像的直方图通常情况下是高低起伏的,而加密后的图像的直方图是均匀、平滑的。Baboon原图与密图RGB通道直方图如图3所示。从图3可看出,明文图像Baboon的RGB三个通道经过本算法加密后,密文图像的直方图形状基本接近水平,从而可以掩盖明文图像的统计信息,有效地抵御统计攻击。

图3 Baboon原图与密图RGB通道直方图

4.3 相邻像素相关性分析

一幅具有丰富含义的明文图像,其相邻像素的灰度值十分接近,一个合格的加密算法应该具备打破相邻像素间较强相关性的能力。像素间的相关性可通过相关系数来描述,定义如下:

(11)

cov(x,y)=E([x-E(x)][y-E(y)]);

(12)

(13)

(14)

其中:x和y为相邻像素的灰度值,E(x)和E(y)分别为期望和方差。从表2可看出,加密后的图像RGB三个通道的相邻像素相关系数接近于0,密图中相邻像素的相关性被大大减弱,从而验证了加密算法具有良好的加密性能。

表2 Pepper原图和加密图RGB通道相关系数比较

4.4 时间复杂度

一个优秀的图像加密算法不仅要具备抵御各种攻击的能力,还要有较高的加解密效率,从而保证图像在网络实时传输中的需求。因此,图像加解密的时间是衡量密码算法的重要参数和指标。表3比较了3种算法对Baboon进行一轮加解密的总时间,本算法比文献[10]和文献[11]的算法耗时更少,加解密效率更高。

表3 对Baboon一轮加解密总时间比较 s

4.5 抗差分攻击分析

抗差分攻击分析是用来检测加密算法对明文的敏感性强弱程度,即在相同密钥下,输入的明文图像仅有一个位置的像素灰度值相异,产生的密文图像也会发生巨大的改变。通常用像素数变化率(number of pixels change rate,简称NPCR)和像素归一化平均变化强度(unified average changing intensity,简称UACI)进行衡量和比较。其中NPCR用于测量2幅加密图像相同位置相应的像素灰度值是否相同,而UACI用来衡量这种差异的程度。若将2幅加密的图像分别记为C1和C2,则有:

(15)

(17)

经过本算法加密后的Baboon的NPCR和UACI平均值可达99.59%和33.49%,与NPCR和UACI的理想值99.61%和33.46%十分接近,表明本加密算法可抵御抗差分攻击,加密算法对明文具有较高的敏感性。

4.6 信息熵分析

图像的信息熵反应了图像包含信息的不确定性,一幅理想的加密图像,其灰度值的分布是均匀的,从而其信息熵越大,反映的视觉信息就越少。图像的信息熵为

(18)

其中:L为灰度级;mi为像素的灰度值;p(mi)为mi出现的概率。针对8 bit的灰度图像,L=256。信息熵的理想值为8,对Baboon使用本算法加密,加密后图像的3个通道的信息熵分别为:HR=7.999 03,HG=7.998 55,HB=7.996 78,均与理想值8非常接近,表明本算法可有效隐藏明文信息。

5 结束语

针对彩色图像数据量庞大,相邻像素相关性高等特性,为了提高加解密效率,保证图像信息安全,提出了基于中国剩余定理与Logistic映射的彩色图像加密算法。通过中国剩余定理将图像像素灰度值进行扩散,再结合Logistic映射与中间生成密文图像相关联,从而进一步对图像像素位置进行一轮置乱,达到了对像素位置和灰度值双重置乱的效果。仿真实验结果表明,本算法具有庞大的密钥空间,较高的加解密效率,且加密后的图像直方图是均匀、平滑的,相邻像素的强相关性也被有效打破。通过抗差分攻击分析与信息熵分析表明,加密算法对明文具有较高的敏感性,极大地降低了明文统计信息被暴露的风险。

猜你喜欢

彩色图像明文加密算法
基于FPGA的实时彩色图像边缘检测
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
基于专家模糊技术的彩色图像对比度增强方法
奇怪的处罚
基于视觉注意的全参考彩色图像质量评价方法
混沌参数调制下RSA数据加密算法研究
基于最大加权投影求解的彩色图像灰度化对比度保留算法
奇怪的处罚
基于小波变换和混沌映射的图像加密算法