基于Rossler超混沌系统的军事图像加密算法研究

2022-04-20 11:25唐旭舒立鹏范继朱柏飞吴晔马佳佳
火炮发射与控制学报 2022年2期
关键词:明文密文加密算法

唐旭,舒立鹏,范继,朱柏飞,吴晔,马佳佳

(西北机电工程研究所,陕西 咸阳 712099)

随着互联网技术的不断发展,数字多媒体技术逐渐成熟,图像作为多媒体通信的主要方式之一,能够鲜明形象地传递需要表达的信息,在政治、经济、军事等领域的数字化通信中发挥着重要作用[1-2],尤其在军事对抗通信中,经常涉及到军事图像的传输。在军事通信领域中,由于军事图像传输的安全保密性要求很高,因此针对军事图像信息在传输过程中安全保护技术的研究是非常重要的,特别是军事图像的加密与信息隐藏。传统的军事图像加密技术主要是通过将图像数据转换为一维数据,经过常规加密方法(DES, IDEA, RSA等)进行加密。此外,军事图像数据具有信息量大、冗余度高的特性。因此,采用传统的图像加密方法,不但效率较低,而且安全性差[3]。

混沌图像加密技术是一种利用混沌系统产生的混沌随机序列对图像进行加密的新技术。由于这种新型的加密方式实现简单、抗攻击能力强,具有很高的应用价值。虽然混沌图像加密技术已经取得快速的发展,但现有的加密算法仍存在许多不足和需改进的地方,主要体现在加密系统的密钥与明文信息没有联系、算法中使用的混沌系统比较简单、算法忽略了像素内的比特分布差异性等[4-6]。笔者基于Rossler超混沌系统,提出了基于位平面变换的混沌图像加密算法对军事图像进行加密。仿真结果表明,采用所提方法对军事图像加密,加密效果和安全性均优于传统方法,验证了所提方法的有效性。

1 Rossler超混沌系统

Rossler超混沌系统是Rossler在1979年提出的一个超混沌系统,其对控制参数和初值具有敏感性,而且运动轨迹有界。这些特点刚好和密码学加密要求吻合,因此被广泛用于图像加密领域。Rossler超混沌系统的数学描述如下:

(1)

式中,a,b,c,d为控制参数。仿真实验表明该系统混沌特性比较丰富,当控制参数不同时,系统相空间轨迹不同。当a=0.25,b=3,c=0.05,d=0.5时,该系统处于超混沌状态。式(1)在不同平面的相图如图1所示,由图1知,系统变为超混沌时,其对应的轨线是很复杂的,完全不具有周期性行为[7]。

2 基于位平面变换的图像加密算法

Rossler超混沌系统混沌特性比较丰富,完全不具有周期特性。笔者利用其产生的混沌随机序列对明文图像进行像素点置乱、位平面变换、像素值扩散等操作,实现加密明文图像的目的。

2.1 加密算法

笔者在式(1)所描述的超混沌系统基础上,提出了一种基于位平面变换的超混沌图像加密算法(Image Encryption Algorithms Based on Bit-plane Transformation and Hyperchaotic System,IEBH)。算法的加密过程如图2所示。

IEBH算法加密分为置乱过程和扩散过程,加密步骤如下:

步骤1利用四阶五级Runge-kutta方法迭代Rossler超混沌系统产生4个长度为N/2的序列{xi},{yi},{zi},{wi},这里N表示明文图像像素点个数,其中初始条件如下:

(2)

t1=Snmod 256,

(3)

式中:Sn为明文图像像素值之和;mod表示取余运算。为了增加混沌序列的随机性,对生成的混沌序列前t1个点进行剔除。

步骤2通过下面方式得到序列{k1i},{k2i}:

(4)

式中:[·]表示向下取整;i=1,2,…,N/2。

步骤3将序列{k1i}进行升序排列得到索引序列{Iki}。

步骤4把二维明文图像矩阵Am×n转换为序列{Si}(行扫描或列扫描),按照式(5)得到序列B={b1,b2,…,bN}。

bi=SIki,i=1,2,…,N.

(5)

然后将序列B中像素值bi转换为二进制数{bi1,bi2,bi3,bi4,bi5,bi6,bi7,bi8},从而得到矩阵B′:

(6)

式中,bij表示第i个像素对应的第j个二进制位(bij为0或1)。分别交换矩阵B′的第1列与第5列、第3列与第7列,得到矩阵C:

(7)

步骤5按照式(8)得到序列D={d1,d2,…,dN}。

(8)

式中,⊕表示对前后的2个整数进行按位异或运算。将序列D中像素值di转换为二进制数{di1,di2,di3,di4,di5,di6,di7,di8},从而得到矩阵D′:

分别交换矩阵D′的第2列与第6列、第4列与第8列,得到矩阵E:

(9)

步骤6按照式(10)得到序列{k3i},{k4i}:

(10)

式中,i=1,2,…,N/2。

(11)

式中,初值G(0)为密钥,设G(0)=tr(A)mod 256,tr(A)表示矩阵A的迹。

步骤8将扩散得到的序列G转换为二维图像矩阵,从而得到密文图像M。

步骤1~5为置乱过程,步骤6~8为扩散过程。本算法也能够用于彩色图像的加密,仅需将彩色图像像素值分解为RGB 3个通道分别进行处理即可。

2.2 解密算法

解密算法为加密算法的逆过程,其过程如图3所示。

解密算法具体步骤如下:

步骤1根据式(1)~(3)得到4个混沌随机序列{xi},{yi},{zi},{wi},然后将序列分别代入式(4)、(10),得到序列{k1i},{k2i},{k3i},{k4i}。

步骤2将密文图像M转换为一维灰度序列G={G(1),G(2),…,G(N)},对序列G按照如下方式进行逆异或操作:

(12)

(13)

步骤5将序列{k1i}进行升序排列得到索引序列{Iki},利用

(14)

(15)

得到置乱前的序列S。将序列S转换为m×n的二维矩阵即得明文图像矩阵Am×n。

3 实验分析

3.1 算法仿真结果

利用IEBH算法对自行高炮图像进行加密,其是大小为600×450的灰度图像,实验结果如图4所示。

3.2 算法性能分析

3.2.1 密钥空间

一个好的加密算法,它的密钥空间应该尽可能大。若算法密钥空间太小,则不能有效防止某些暴力攻击。算法密钥空间大小由密钥数量和精度决定。一般情况下,混沌系统的初始迭代值、相关系统控制参数、迭代次数均可以作为密钥。文献[9]指出系统密钥空间至少要达到2100,才可以有效抵抗穷举攻击。

IEBH算法主要的密钥有:超混沌系统的初始条件[x(0),y(0),z(0),w(0)]、混沌序列剔除点位置t1、明文相关的迭代次数N/2、额外密钥G(0)等。

在算法实验验证过程中,参数精度均为10-16,所以本算法密钥空间至少为10128,可以有效抵抗暴力攻击。

3.2.2 密钥敏感性分析

密钥敏感性主要指密钥的正确性对加密结果或者解密结果的影响程度。其包括加密阶段的密钥敏感性和解密阶段的密钥敏感性,加密阶段的密钥敏感性是指用两个相差极小的密钥加密相同的明文时,应该产生完全不同的密文。解密阶段的密钥敏感性是指使用具有微小差异的密钥进行解密时,无法得到正确的明文。对于加密系统而言,密钥敏感性是非常重要的,若加密系统对密钥不敏感,则攻击者可以通过相近的密钥去恢复部分明文信息。

由于设计的算法部分密钥和明文相关,因此只对与明文无关的密钥进行微弱改变,同时保持其他密钥取值不变。将得到的密文与基准密文进行比较,结果如表1所示,其中NPCR和UACI为衡量图像差异性的两个指标[8]。用密钥key1、key2、key3、key4,分别对key0加密的自行高炮图像进行解密,解密图像如图5所示。

表1 IEBH算法的加密密钥敏感性

由表1、图5可知,在加密和解密阶段,IEBH算法对密钥x(0),y(0),z(0),w(0)都具有敏感性,当密钥发生微小变化,解密后的图像均为类似噪声的图像,视觉不可分辨。用密钥key1、key2、key3、key4正确解密明文图像自行高炮的错误率分别达到99.62%、99.61%、99.61%、99.59%。因此IEBH算法良好的解密密钥敏感性得到验证。

3.2.3 直方图均衡性分析

直方图直观地显示了图像在其显示范围内的灰度分布情况。由于明文图像像素值逐渐变化,信息分布比较密集,对应的直方图一般比较陡峭,而密文图像对应的直方图则有较大不同,其各阶灰度应该分布均衡,服从均匀分布,以充分隐藏明文的冗余性,让攻击者无法从中得到任何有关明文与密文对应关系的信息[10]。一个加密算法的好坏可以根据直方图直观地做出初步判断。

仿真中以自行高炮图像作为示例,用IEBH算法对其进行加密,明文和密文的对应直方图如图6所示,其中横轴表示图像像素值,纵轴表示图像各像素值个数。由图6可知,明文图像的直方图比较陡峭,而密文的直方图分布比较均匀,趋近于均匀分布。因此IEBH算法能够有效破坏明文的统计特性。

3.2.4 相邻像素相关性

图像相邻像素的低差值性使得图像像素之间的相关性很高。明文图像的像素之间关联度较大,图像加密算法必须尽可能地减小相邻像素间的相关度,否则攻击者很容易利用此特性破解得到明文信息。相邻像素点相关系数的大小衡量了最终的关联程度[11]:

(18)

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

(19)

式中,x和y为图像相邻像素点的灰度值,

(20)

式中,N为所挑选的像素对的个数,且rxy∈[-1,1]。

对明文自行高炮图像和对应密文进行相邻像素的相关性分析,其对应的散点图如图7所示,散点图随机取各方向1 000个相邻像素点得到,其中横轴和纵轴分别表示不同方向的像素值。相邻像素的相关系数如表2所示。

表2 图像各方向相关系数

由图7和表2可以看出,在水平、垂直以及对角线方向,明文图像相邻像素点的相关性都比较高,相关系数快接近于1,但密文图像相邻像素的相关系数明显降低,相邻像素点已基本不相关,这说明明文的统计特征被打乱,扩散到随机的密文图像中。

3.2.5 信息熵分析

Shannon提出信息熵的概念,用来衡量信息源的随机性和不可预测性。信息熵值的大小与数据中每个符号出现概率、不确定性有关,随机性越好,则信息熵值越大[12]。因此,经常用信息熵衡量一个加密方案的随机性。这里,用H(X)来表示一个长度为L的信息源X=(x0,x1,…,xL-1)的信息熵:

(21)

式中,p(xi)表示符号xi出现的概率。

在仿真过程中,用IEBH算法加密自行高炮图像,对应的明文和密文信息熵如表3所示。易知,密文对应的信息熵很接近8,所以密文图像是一个信息随机分布的图像,即IEBH算法能够有效破坏图像信息分布。

表3 明文和密文信息熵

3.2.6 差分攻击分析

加密系统的差分攻击能力实质是描述系统对明文的敏感程度,换言之,即使两幅仅有微弱差异的明文图像(仅有1 bit不同),其对应密文也应该是完全随机的,并且彼此统计无关的。差分攻击分析主要使用NPCR和UACI这两个指标进行衡量,文献[8]通过概率分析统计证明,对于大小为512×512的两幅随机灰度图像,其NPCR和UACI的理想值分别为99.609 4%和33.463 5%;在显著性水平α=0.05时,NPCR和UACI的阈值分别为

在这种情况下,两组密文是统计无关的,即加密系统对明文的敏感程度很高。

一个能够抵制差分攻击的算法,如果明文信息发生细微变化时,那么对应的密文信息都会发生巨大变化。表4给出自行高炮明文图像某个像素点发生改变,IEBH算法加密密文对应的NPCR和UACI测试结果。

表4 NPCR和UACI测试值

由表4知,IEBH算法在A(212,146)由56变为57,A(334,266)由30变为31,A(416,322)由79变为80时,其对应NPCR和UACI满足:

因此,IEBH算法均能够有效抵制差分攻击。

综上,IEBH算法具有很好的图像加密性能,符合密码学加密要求,能够有效对军事图像进行加密。

4 结束语

军事图像是目前非常流行的多媒体形式之一,其信息加密传输有更高的安全保密要求。笔者提出的IEBH算法利用超混沌系统产生的混沌随机序列先置乱明文,对置乱图像像素对应的位平面进行变换,再利用混沌随机序列进行异或操作,对处理过的图像进行第2次位平面变换和相应的扩散。理论分析和仿真结果表明,IEBH算法可以较好地隐藏明文的统计特性,能够抵抗统计和差分等分析方法攻击,对密钥具有很强的敏感性。因此该算法具有安全高效的加密效果,能够有效应用于军事图像加密领域中。

猜你喜欢
明文密文加密算法
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
一种新的密文策略的属性基加密方案研究
一种抗攻击的网络加密算法研究
奇怪的处罚
教育云平台的敏感信息保护技术研究
条件型非对称跨加密系统的代理重加密方案
一种改进的加密算法在空调群控系统中的研究与实现
奇怪的处罚